Open Dynamics Engine:
http://www.ode.org/
Open source library for simulating rigid body dynamics. Integrated to Panda3D.
Newton:
http://www.newtondynamics.com/index.html
api, open source, well-documented, tutorial
included, integrate with visual studio (c/c++), OpenGL, active forum.
Recommended by Oscar :D
- C-API
- Available for Windows, Mac OS X, and
Linux
- plethora of convex collision shapes
- compound collision shapes
- continuous collision mode
- hinge, ball, slider, corkscrew,... and
custom joints
- powerful custom constraint/joint API
- special vehicle container
- special ragdoll
container
- also usable as a stand-alone collision
detection library
Newton Game Dynamics is an integrated
solution for real time simulation of physics environments. The API provides
scene management, collision detection, dynamic behavior and yet it is small,
fast, stable and easy to use.
Chipmunk: http://wiki.slembcke.net/main/published/Chipmunk
Designed for 2d objects, well-known for collision
detection, web-based documentation (better than Panda :D), simple tutorial.
written in C.
- Designed for 2D video games.
- Circle, convex polygon, and line
segment collision primitives.
- Multiple collision primitives can be
attached to the same rigid body.
- Fast collision detection by using a
spatial hash for the broad phase.
- Extremely fast impulse solving by
utilizing Erin Catto’s contact persistence algorithm.
- Support for collision callbacks based
on object types.
- Impulses applied to contact points can
be retrieved after the impulse solver has finished.
- Several kinds of joints available.
- C99 implementation, no external
dependencies.
- Ruby extension available.
- Simple, read the documentation.
- Unrestrictive MIT
license.
Box2D : http://www.box2d.org/index.html
Also designed for 2d games primarily, user
manual, active forum, Doxygen document with real code comments, OpenGL, VC8
(c++)
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
Bullet : http://www.bulletphysics.com/Bullet/wordpress/
c++,
a lot of resources in their forum (physic simulation), good user manual. 3d
games specified, The Library is free for commercial use
and open source under the ZLib License.
- Used by many game companies in AAA titles on
Playstation 3, XBox 360, Nintendo Wii and PC
- Modular extendible C++ design with hot-swap of most
components
- Optimized back-ends with multi-threaded support for
Playstation 3 Cell SPU and other platforms
- Discrete and continuous collision detection (CCD)
- Swept collision queries
- Ray casting with custom collision filtering
- Generic convex support (using GJK), capsule,
cylinder, cone, sphere, box and non-convex triangle meshes.
- Rigid body dynamics including constraint solvers,
generic constraints, ragdolls, hinge, ball-socket
- Support for constraint limits and motors
- Soft body support including cloth, rope and
deformable
- Bullet is integrated into Blender 3D and provides a
Maya Plugin
- Supports import and export into COLLADA 1.4 Physics
format
- Support for dynamic deformation of non-convex
triangle meshes, by refitting the acceleration structures
PAL: http://www.adrianboeing.com/pal/index.html
Pal provides a unified interface to a number of different physics
engines, including newton, box2d and bullet.
· Collision
subsystem
· Solver subsystem
(Multithreaded / Hardware acceleration)
· Bodies (Static
and Dynamic)
- Box
- Capsule
- Compound
- Convex
- Sphere
· Geometries
- Box
- Capsule
- Convex Mesh
- Concave Mesh (Terrain)
- Height field (Terrain)
- Plane (Terrain)
- Sphere
· Links
- Spherical (Ball and Socket) Link
- Revolute (Hinge) Link
- Prismatic (Slider) Link
- Generic 6DOF Link
· Sensors
- Contact
- Compass (Angular
position)
- GPS (Global Positioning
System - Position)
- Gyroscope (Angular
velocity)
- Inclinometer (Angular
position)
- PSD (Position Sensitive
Device - Ray casting)
- Velocimeter (Linear
velocity)
- Transponder (Distance
between two objects)
· Actuators
- Force actuator (Generic)
- DC Motor
- Servo Motor
- Hydrofoil
- Propeller
- Spring
· Fluids
- Particle Fluids (SPH)
- Buoyancy Force
- Drag Force
· Vehicles