OpenSimLibs  GIT
Bullet Documentation


Bullet Collision Detection & Physics SDK

Bullet is a Collision Detection and Rigid Body Dynamics Library. The Library is Open Source and free for commercial use, under the ZLib license ( ).

There is the Physics Forum for feedback and general Collision Detection and Physics discussions. Please visit


Step 1: Download

You can download the Bullet Physics Library from the Google Code repository:

Step 2: Building

Bullet comes with autogenerated Project Files for Microsoft Visual Studio 6, 7, 7.1 and 8. The main Workspace/Solution is located in Bullet/msvc/8/wksbullet.sln (replace 8 with your version).

Under other platforms, like Linux or Mac OS-X, Bullet can be build using either using make, cmake, , or jam, . cmake can autogenerate Xcode, KDevelop, MSVC and other build systems. just run cmake . in the root of Bullet. So if you are not using MSVC or cmake, you can run ./ ./configure to create both Makefile and Jamfile and then run make or jam. Jam is a build system that can build the library, demos and also autogenerate the MSVC Project Files. If you don't have jam installed, you can make jam from the included jam-2.5 sources, or download jam from

Step 3: Testing demos

Try to run and experiment with BasicDemo executable as a starting point. Bullet can be used in several ways, as Full Rigid Body simulation, as Collision Detector Library or Low Level / Snippets like the GJK Closest Point calculation. The Dependencies can be seen in this documentation under Directories

Step 4: Integrating in your application, full Rigid Body and Soft Body simulation

Check out BasicDemo how to create a btDynamicsWorld, btRigidBody and btCollisionShape, Stepping the simulation and synchronizing your graphics object transform. Check out SoftDemo how to use soft body dynamics, using btSoftRigidDynamicsWorld.

Step 5 : Integrate the Collision Detection Library (without Dynamics and other Extras)

Bullet Collision Detection can also be used without the Dynamics/Extras. Check out btCollisionWorld and btCollisionObject, and the CollisionInterfaceDemo.

Step 6 : Use Snippets like the GJK Closest Point calculation.

Bullet has been designed in a modular way keeping dependencies to a minimum. The ConvexHullDistance demo demonstrates direct use of btGjkPairDetector.


Copyright (C) 2005-2008 Erwin Coumans, some contributions Copyright Gino van den Bergen, Christer Ericson, Simon Hobbs, Ricardo Padrela, F Richter(res), Stephane Redon Special thanks to all visitors of the Bullet Physics forum, and in particular above contributors, John McCutchan, Nathanael Presson, Dave Eberle, Dirk Gregorius, Erin Catto, Dave Eberle, Adam Moravanszky, Pierre Terdiman, Kenny Erleben, Russell Smith, Oliver Strunk, Jan Paul van Waveren, Marten Svanfeldt.