2015-05-27 23:12:45 +00:00
|
|
|
|
2014-08-29 05:37:04 +00:00
|
|
|
[![Travis Build Status](https://api.travis-ci.org/bulletphysics/bullet3.png?branch=master)](https://travis-ci.org/bulletphysics/bullet3)
|
2014-08-29 06:02:19 +00:00
|
|
|
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/6sly9uxajr6xsstq)](https://ci.appveyor.com/project/erwincoumans/bullet3)
|
2014-07-11 20:21:00 +00:00
|
|
|
|
2015-08-11 16:15:06 +00:00
|
|
|
# Bullet 2.x including experimental Bullet 3 OpenCL.
|
2014-01-14 17:37:28 +00:00
|
|
|
|
2015-03-01 18:30:20 +00:00
|
|
|
This is the official repository of Bullet 2.x, moved from http://bullet.googlecode.com
|
2015-08-11 16:15:06 +00:00
|
|
|
It includes the optional work-in-progress Bullet 3 GPU pipeline.
|
2014-01-14 17:37:28 +00:00
|
|
|
|
2015-03-01 18:30:20 +00:00
|
|
|
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:
|
|
|
|
|
2015-08-11 16:15:06 +00:00
|
|
|
1. The old Bullet2 demos are being merged into the examples/ExampleBrowser
|
2014-10-27 13:01:05 +00:00
|
|
|
2. A new Bullet 3 API is created
|
2015-08-11 16:15:06 +00:00
|
|
|
3. All Bullet2 functionality is added to Bullet 3.
|
|
|
|
4. The OpenCL examples in the ExampleBrowser can be enabled using --enable_experimental_opencl
|
2014-01-14 17:37:28 +00:00
|
|
|
|
2015-04-20 13:23:07 +00:00
|
|
|
You can still use svn or svn externals using the github git repository: use svn co https://github.com/bulletphysics/bullet3/trunk
|
2014-01-14 17:37:28 +00:00
|
|
|
|
2015-03-01 18:30:20 +00:00
|
|
|
## 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.
|
2015-04-23 21:48:33 +00:00
|
|
|
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
|
|
|
|
|
2015-03-01 18:30:20 +00:00
|
|
|
## Requirements for Bullet 3
|
|
|
|
|
|
|
|
The entire collision detection and rigid body dynamics is executed on the GPU.
|
2014-10-27 13:01:05 +00:00
|
|
|
|
2015-08-11 16:17:42 +00:00
|
|
|
A high-end desktop GPU, such as an AMD Radeon 7970 or NVIDIA GTX 680 or better.
|
2014-01-14 17:37:28 +00:00
|
|
|
We succesfully tested the software under Windows, Linux and Mac OSX.
|
|
|
|
The software currently doesn't work on OpenCL CPU devices. It might run
|
2015-08-11 16:17:42 +00:00
|
|
|
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.
|
2014-01-14 17:37:28 +00:00
|
|
|
|
2014-10-27 13:01:05 +00:00
|
|
|
## License
|
2014-01-14 17:37:28 +00:00
|
|
|
|
|
|
|
All source code files are licensed under the permissive zlib license
|
|
|
|
(http://opensource.org/licenses/Zlib) unless marked differently in a particular folder/file.
|
|
|
|
|
2015-08-11 16:15:06 +00:00
|
|
|
## Build instructions for Bullet using premake. You can also use cmake instead.
|
2014-10-27 13:01:05 +00:00
|
|
|
|
|
|
|
**Windows**
|
2014-01-14 17:37:28 +00:00
|
|
|
|
|
|
|
Click on build3/vs2010.bat and open build3/vs2010/0MySolution.sln
|
|
|
|
|
2014-10-27 13:01:05 +00:00
|
|
|
**Linux and Mac OSX gnu make**
|
|
|
|
|
2014-01-14 17:37:28 +00:00
|
|
|
In a terminal type:
|
|
|
|
|
2014-10-27 13:01:05 +00:00
|
|
|
cd build3
|
2014-01-14 17:37:28 +00:00
|
|
|
|
|
|
|
Dependend on your system (Linux 32bit, 64bit or Mac OSX) use one of the following lines
|
2014-10-27 13:01:05 +00:00
|
|
|
|
|
|
|
./premake4_linux gmake
|
|
|
|
./premake4_linux64 gmake
|
|
|
|
./premake4_osx gmake
|
2014-01-14 17:37:28 +00:00
|
|
|
|
|
|
|
Then
|
|
|
|
|
2014-10-27 13:01:05 +00:00
|
|
|
cd gmake
|
|
|
|
make
|
2014-01-14 17:37:28 +00:00
|
|
|
|
2014-10-27 13:01:05 +00:00
|
|
|
**Mac OSX Xcode**
|
|
|
|
|
2014-01-14 17:37:28 +00:00
|
|
|
Click on build3/xcode4.command or in a terminal window execute
|
2014-10-27 13:01:05 +00:00
|
|
|
|
|
|
|
./premake_osx xcode4
|
2014-01-14 17:37:28 +00:00
|
|
|
|
2014-10-27 13:01:05 +00:00
|
|
|
## Usage
|
2014-01-14 17:37:28 +00:00
|
|
|
|
2015-08-11 16:15:06 +00:00
|
|
|
The App_ExampleBrowser executables will be located in the bin folder.
|
2014-01-14 17:37:28 +00:00
|
|
|
You can just run it though a terminal/command prompt, or by clicking it.
|
|
|
|
|
|
|
|
|
2014-10-27 19:18:03 +00:00
|
|
|
```
|
2015-08-11 16:15:06 +00:00
|
|
|
[--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)
|
2014-10-27 19:18:03 +00:00
|
|
|
```
|
2014-01-14 17:37:28 +00:00
|
|
|
|
|
|
|
You can use mouse picking to grab objects. When holding the ALT of CONTROL key, you have Maya style camera mouse controls.
|
2015-08-11 16:15:06 +00:00
|
|
|
Press F1 to create series of screenshot. Hit ESCAPE to exit the demo app.
|
2014-01-14 17:37:28 +00:00
|
|
|
|
|
|
|
See docs folder for further information.
|