Bullet Collision Detection & Physics Library
|
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
You can download the Bullet Physics Library from the Google Code repository: http://code.google.com/p/bullet/downloads/list
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.
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
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.
Bullet Collision Detection can also be used without the Dynamics/Extras. Check out btCollisionWorld and btCollisionObject, and the CollisionInterfaceDemo.
Bullet has been designed in a modular way keeping dependencies to a minimum. The ConvexHullDistance demo demonstrates direct use of btGjkPairDetector.
For up-to-data information and copyright and contributors list check out the Bullet_User_Manual.pdf