• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..24-May-2019-

src/H24-May-2019-119,21182,936

README.mdH A D24-May-20194.4 KiB10869

VERSIONH A D24-May-20195 21

README.md

1
2[![Travis Build Status](https://api.travis-ci.org/bulletphysics/bullet3.png?branch=master)](https://travis-ci.org/bulletphysics/bullet3)
3[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/6sly9uxajr6xsstq)](https://ci.appveyor.com/project/erwincoumans/bullet3)
4
5# Bullet Physics SDK
6
7This is the official C++ source code repository of the Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
8
9New in Bullet 2.85: pybullet Python bindings, improved support for robotics and VR
10
11The Bullet 2 API will stay default and up-to-date while slowly moving to a new API.
12The steps towards a new API is in a nutshell:
13
141. The old Bullet2 demos are being merged into the examples/ExampleBrowser
152. A new physics-engine agnostic C-API is created, see examples/SharedMemory/PhysicsClientC_API.h
163. Python bindings in pybullet are on top of this C-API, see examples/pybullet
174. A Virtual Reality sandbox using openvr for HTC Vive and Oculus Rift is available
185. The OpenCL examples in the ExampleBrowser can be enabled using --enable_experimental_opencl
19
20You can still use svn or svn externals using the github git repository: use svn co https://github.com/bulletphysics/bullet3/trunk
21
22## Requirements for Bullet 2
23
24A C++ compiler for C++ 2003. The library is tested on Windows, Linux, Mac OSX, iOS, Android,
25but should likely work on any platform with C++ compiler.
26Some optional demos require OpenGL 2 or OpenGL 3, there are some non-graphical demos and unit tests too.
27
28## Contributors and Coding Style information
29
30https://docs.google.com/document/d/1u9vyzPtrVoVhYqQOGNWUgjRbfwfCdIts_NzmvgiJ144/edit
31
32## Requirements for experimental OpenCL GPGPU support
33
34The entire collision detection and rigid body dynamics can be executed on the GPU.
35
36A high-end desktop GPU, such as an AMD Radeon 7970 or NVIDIA GTX 680 or better.
37We succesfully tested the software under Windows, Linux and Mac OSX.
38The software currently doesn't work on OpenCL CPU devices. It might run
39on a laptop GPU but performance will not likely be very good. Note that
40often an OpenCL drivers fails to compile a kernel. Some unit tests exist to
41track down the issue, but more work is required to cover all OpenCL kernels.
42
43## License
44
45All source code files are licensed under the permissive zlib license
46(http://opensource.org/licenses/Zlib) unless marked differently in a particular folder/file.
47
48## Build instructions for Bullet using premake. You can also use cmake instead.
49
50**Windows**
51
52Click on build_visual_studio.bat and open build3/vs2010/0MySolution.sln
53
54**Windows Virtual Reality sandbox for HTC Vive and Oculus Rift**
55
56Click on build_visual_studio_vr_pybullet_double.bat and open build3/vs2010/0MySolution.sln
57Edit this batch file to choose where Python include/lib directories are located.
58Build and run the App_SharedMemoryPhysics_VR project, preferably in Release/optimized build.
59You can connect from Python pybullet to the sandbox using:
60
61```
62import pybullet as p
63p.connect(p.SHARED_MEMORY)
64```
65
66**Linux and Mac OSX gnu make**
67
68In a terminal type:
69
70	cd build3
71
72Depending on your system (Linux 32bit, 64bit or Mac OSX) use one of the following lines
73
74	./premake4_linux gmake
75	./premake4_linux64 gmake
76	./premake4_osx gmake
77
78Then
79
80	cd gmake
81	make
82
83**Mac OSX Xcode**
84
85Click on build3/xcode4.command or in a terminal window execute
86
87	./premake_osx xcode4
88
89## Usage
90
91The App_ExampleBrowser executables will be located in the bin folder.
92You can just run it though a terminal/command prompt, or by clicking it.
93
94
95```
96[--start_demo_name="Demo Name"]     Start with a selected demo
97[--mp4=moviename.mp4]               Create a mp4 movie of the window, requires ffmpeg installed
98[--mouse_move_multiplier=0.400000]  Set the mouse move sensitivity
99[--mouse_wheel_multiplier=0.01]     Set the mouse wheel sensitivity
100[--background_color_red= 0.9]       Set the red component for background color. Same for green and blue
101[--fixed_timestep= 0.0]             Use either a real-time delta time (0.0) or a fixed step size (0.016666)
102```
103
104You can use mouse picking to grab objects. When holding the ALT or CONTROL key, you have Maya style camera mouse controls.
105Press F1 to create a series of screenshots. Hit ESCAPE to exit the demo app.
106
107Check out the docs folder and the Bullet physics forums for further information.
108