WebPhysics: A Parallel Rigid Body Simulation Framework for Web Applications

  • Robert (Bo) LiEmail author
  • Tasneem Brutch
  • Guodong Rong
  • Yi Shen
  • Chang Shu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9475)


Due to the ubiquity of web browser engines and the advent of modern web standards (like HTML5), software industry tends to use web application as an alternative to traditional native application. Web app development commonly uses script language (like JavaScript, CSS), the low performance language which significantly hinders real-time execution of physics simulation. We design a new framework to achieve real-time physics simulation engine. The key novelty lies at: we choose native implementation for computing intensive functions in physics simulation, and bind native implementation with JavaScript APIs, then we only expose JavaScript APIs through web browser engine to developers but still calling native implementation. Based on this model, we build WebPhysics: the first 2D simulation engine targeting on real-time web applications, which is seamlessly compatible to both de-facto standard simulation engine (Box2D) and browser engine (Webkit). We also explore and implement a parallel rigid body simulation (Box2DOCL) in the context of web app framework to obtain further performance improvement. Our experiments show significant performance improvement in simulation time.


Collision Detection Constraint Solver Game Developer Bound Volume Hierarchy Broad Phase 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Bender, J., Erleben, K., Trinkle, J.: Interactive simulation of rigid body dynamics in computer graphics. Comput. Graph. Forum 33, 246–270 (2014)CrossRefGoogle Scholar
  2. 2.
    Tasora, A., Negrut, D., Anitescu, M.: A GPU-based implementation of a cone convex complementarity approach for simulating rigid body dynamics with frictional contact. In: ASME 2008 International Mechanical Engineering Congress and Exposition, pp. 107–118 (2008)Google Scholar
  3. 3.
    Harada, T.: Parallelizing the physics pipeline: physics simulations on the GPU. In: Game Developers Conference (2009)Google Scholar
  4. 4.
    Harada, T.: A parallel constraint solver for a rigid body simulation. In: SIGGRAPH Asia 2011 Sketches, pp. 22:1–22:2. ACM (2011)Google Scholar
  5. 5.
    Tonge, R., Benevolenski, F., Voroshilov, A.: Mass splitting for jitter- free parallel rigid body simulation. ACM Trans. Graph. 31, 105:1–105:8 (2012)CrossRefGoogle Scholar
  6. 6.
    Box2D: A 2d physics engine for games.
  7. 7.
    Box2DWeb: Box2d port to javascript.
  8. 8.
    Jones, C., Liu, R., Meyerovich, L., Asanovic, K., Bodik, R.: Parallelizing the web browser. In: USENIX HotPar, First NSENIX Workshop on Hot Topics on Parallelism, USENIX, pp. 124–125 (2009)Google Scholar
  9. 9.
    Tsuda, J.: Practical rigid body physics for games. In: ACM SIGGRAPH ASIA 2009 Courses. SIGGRAPH ASIA 2009, pp. 14:1–14:83 (2009)Google Scholar
  10. 10.
    Coumans, E.: Accelerating game physics. In: Game Developer Conference (2013)Google Scholar
  11. 11.
    Liu, F., Harada, T., Lee, Y., Kim, Y.J.: Real-time collision culling of a million bodies on graphics processing units. ACM Trans. Graph. 29, 154:1–154:8 (2010)Google Scholar
  12. 12.
    Kipfer, P., Westermann, R.: Improved GPU sorting. In: GPU Gems 2. Addison-Wesley (2005)Google Scholar
  13. 13.
    Gottschalk, S.: Separating axis theorem. Technical report TR96-024, Department of Computer Science, UNC Chapel Hill (1996)Google Scholar
  14. 14.
    Harris, M., Sengupta, S., Owens, J.: Parallel prefix sum (scan) with CUDA. In: GPU Gems 3. Addison-Wesley (2007)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Robert (Bo) Li
    • 1
    Email author
  • Tasneem Brutch
    • 1
  • Guodong Rong
    • 1
  • Yi Shen
    • 1
  • Chang Shu
    • 1
  1. 1.Samsung Research AmericaMountain ViewUSA

Personalised recommendations