Box2D Physics Engine
Box2D Features
Collision
- Continuous collision detection.
- Contact callbacks: add, persist, remove.
- Convex polyons and circles.
- Multiple shapes per body
- One-shot contact manifolds
- Incremental sweep-and-prune broadphase
- Efficient pair management
- Fast broadphase AABB queries
- Collision groups and categories
Physics
- Continuous physics with time of impact island solver.
- Persistent body-joint-contact graph
- Island solution and sleep management
- Contact, friction, and restitution
- Stable stacking with a linear-time solver
- Revolute, prismatic, distance, pulley, gear, and mouse joints
- Joint limits, motors, and friction
- Momentum decoupled position correction
- Fairly accurate reaction forces/impulses
System
- Small block and stack allocators
- Centralized tuning parameters
- Highly portable C++ with no use of STL containers
Testbed
- OpenGL with Freeglut
- Graphical user interface with GLUI
- Easily switch between tests using GUI
- Test framework for easily adding new tests
- Mouse picking and the bomb!
- VC8 project files
Documentation
- User manual
- Doxygen document with real code comments.
- Active user forum