Go to file
erwincoumans 6523df336e Fix pybullet Windows build errors: C99 requires variables to be defined at the start of the function.
Improve CMake Windows support to build PyBullet (BUILD_PYBULLET)
Implement b3LoadSdfCommandInit in shared memory API
Implement pybullet SDF loading binding, in loadSDF API
TODO for SDF support is provide way to query object/link/joint information.
2016-06-13 10:11:28 -07:00
build3 fix compile issues 2016-05-26 19:22:26 -07:00
data make one of the cubes in two_cubes.sdf static (immovable) using the <static> tag in SDF 2016-06-03 19:03:56 -07:00
docs add Bullet logos in the docs/logo folder 2015-08-12 20:14:30 -07:00
examples Fix pybullet Windows build errors: C99 requires variables to be defined at the start of the function. 2016-06-13 10:11:28 -07:00
Extras update to tinyrenderer synthetic camera 2016-05-31 22:55:13 -07:00
src Merge pull request #385 from lordloki/btCone 2016-06-09 08:58:25 -07:00
test fix cmake build 2016-06-01 11:07:39 -07:00
.travis.yml add collision and inverse dynamics unit tests to cmake, .travis.yml and appveyor.yml 2015-11-24 16:13:21 -08:00
appveyor.yml more appveyor fun 2015-11-24 17:15:35 -08:00
AUTHORS.txt added LICENSE.txt and AUTHORS.txt file 2015-04-23 15:41:17 -07:00
build_and_run_cmake.sh move some easy-to-use build files for Mac OSX, Linux and Windows 2016-05-21 10:45:08 -07:00
build_and_run_premake.sh move some easy-to-use build files for Mac OSX, Linux and Windows 2016-05-21 10:45:08 -07:00
build_visual_studio.bat move some easy-to-use build files for Mac OSX, Linux and Windows 2016-05-21 10:45:08 -07:00
bullet.pc.cmake Fix bullet.pc when built with CMAKE_INSTALL_PREFIX #626 2016-05-13 12:28:18 +09:30
BulletConfig.cmake.in Add the old Bullet 2.x obsolete demos, and CMake buildsystem files, and gradually move them to newer Bullet 3.x structure 2013-12-19 12:40:59 -08:00
CMakeLists.txt Fix pybullet Windows build errors: C99 requires variables to be defined at the start of the function. 2016-06-13 10:11:28 -07:00
Doxyfile add Doxyfile 2015-05-01 16:51:59 -07:00
LICENSE.txt add latex source of Bullet 2.82 quickstart guide, todo: update to current release 2015-04-29 15:12:31 -07:00
README.md Typo in README 2016-01-16 08:52:21 +00:00
UseBullet.cmake fix make install, when using CMake 2014-03-06 11:40:35 -08:00
VERSION First draft of btMultiBody serialization, including optional names for base, link and joints (see ImportURDFDemo/ImportURDFSetup.cpp how this is done) 2015-07-09 17:36:00 -07:00
xcode.command move some easy-to-use build files for Mac OSX, Linux and Windows 2016-05-21 10:45:08 -07:00

Travis Build Status Appveyor Build status

Bullet 2.x including experimental Bullet 3 OpenCL.

This is the official repository of Bullet 2.x, moved from http://bullet.googlecode.com It includes the optional work-in-progress Bullet 3 GPU pipeline.

The Bullet 2 API will stay default and up-to-date while slowly moving to Bullet 3. The steps towards Bullet 3 are in a nutshell:

  1. The old Bullet2 demos are being merged into the examples/ExampleBrowser
  2. A new Bullet 3 API is created
  3. All Bullet2 functionality is added to Bullet 3.
  4. The OpenCL examples in the ExampleBrowser can be enabled using --enable_experimental_opencl

You can still use svn or svn externals using the github git repository: use svn co https://github.com/bulletphysics/bullet3/trunk

Requirements for Bullet 2

A C++ compiler for C++ 2003. The library is tested on Windows, Linux, Mac OSX, iOS, Android, but should likely work on any platform with C++ compiler. Some optional demos require OpenGL 2 or OpenGL 3, there are some non-graphical demos and unit tests too.

Contributors and Coding Style information

https://docs.google.com/document/d/1u9vyzPtrVoVhYqQOGNWUgjRbfwfCdIts_NzmvgiJ144/edit

Requirements for Bullet 3

The entire collision detection and rigid body dynamics is executed on the GPU.

A high-end desktop GPU, such as an AMD Radeon 7970 or NVIDIA GTX 680 or better. We succesfully tested the software under Windows, Linux and Mac OSX. The software currently doesn't work on OpenCL CPU devices. It might run on a laptop GPU but performance is likely not very good. Note that often an OpenCL drivers fails to compile a kernel. Some unit tests exist to track down the issue, but more work is required to cover all OpenCL kernels.

License

All source code files are licensed under the permissive zlib license (http://opensource.org/licenses/Zlib) unless marked differently in a particular folder/file.

Build instructions for Bullet using premake. You can also use cmake instead.

Windows

Click on build3/vs2010.bat and open build3/vs2010/0MySolution.sln

Linux and Mac OSX gnu make

In a terminal type:

cd build3

Depending on your system (Linux 32bit, 64bit or Mac OSX) use one of the following lines

./premake4_linux gmake
./premake4_linux64 gmake
./premake4_osx gmake

Then

cd gmake
make

Mac OSX Xcode

Click on build3/xcode4.command or in a terminal window execute

./premake_osx xcode4

Usage

The App_ExampleBrowser executables will be located in the bin folder. You can just run it though a terminal/command prompt, or by clicking it.

[--start_demo_name="Demo Name"]     Start with a selected demo  
[--enable_experimental_opencl]      Enable some experimental OpenCL examples
[--mp4=moviename.mp4]               Create a mp4 movie of the window, requires ffmpeg installed
[--mouse_move_multiplier=0.400000]  Set the mouse move sensitivity
[--mouse_wheel_multiplier=0.01]     Set the mouse wheel sensitivity
[--background_color_red= 0.9]       Set the red component for background color. Same for green and blue.
[--fixed_timestep= 0.0]             Use either a real-time delta time (0.0) or a fixed step size (0.016666)

You can use mouse picking to grab objects. When holding the ALT of CONTROL key, you have Maya style camera mouse controls. Press F1 to create series of screenshot. Hit ESCAPE to exit the demo app.

See docs folder for further information.