Bullet Collision Detection & Physics Library
Bullet Documentation

Introduction

Bullet is a Collision Detection and Rigid Body Dynamics Library. The Library is Open Source and free for commercial use, under the ZLib license ( http://opensource.org/licenses/zlib-license.php ).

The main documentation is Bullet_User_Manual.pdf, included in the source code distribution. There is the Physics Forum for feedback and general Collision Detection and Physics discussions. Please visit http://www.bulletphysics.org

Installation

Step 1: Download

You can download the Bullet Physics Library from the Google Code repository: http://code.google.com/p/bullet/downloads/list

Step 2: Building

Bullet has multiple build systems, including premake, cmake and autotools. Premake and cmake support all platforms. Premake is included in the Bullet/build folder for Windows, Mac OSX and Linux. Under Windows you can click on Bullet/build/vs2010.bat to create Microsoft Visual Studio projects. On Mac OSX and Linux you can open a terminal and generate Makefile, codeblocks or Xcode4 projects: cd Bullet/build ./premake4_osx gmake or ./premake4_linux gmake or ./premake4_linux64 gmake or (for Mac) ./premake4_osx xcode4 cd Bullet/build/gmake make

An alternative to premake is cmake. You can download cmake from http://www.cmake.org cmake can autogenerate projectfiles for Microsoft Visual Studio, Apple Xcode, KDevelop and Unix Makefiles. The easiest is to run the CMake cmake-gui graphical user interface and choose the options and generate projectfiles. You can also use cmake in the command-line. Here are some examples for various platforms: cmake . -G "Visual Studio 9 2008" cmake . -G Xcode cmake . -G "Unix Makefiles" Although cmake is recommended, you can also use autotools for UNIX: ./autogen.sh ./configure to create a Makefile and then run make.

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

For up-to-data information and copyright and contributors list check out the Bullet_User_Manual.pdf