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

..03-May-2022-

.ci/H24-Nov-2021-7966

.github/workflows/H24-Nov-2021-3930

Extras/H03-May-2022-41,59233,474

build3/H03-May-2022-2,8632,125

data/H03-May-2022-1,781,8341,778,161

docs/H03-May-2022-4,9734,108

examples/H03-May-2022-3,465,3783,299,139

src/H03-May-2022-255,420201,563

test/H03-May-2022-70,32747,902

.gitignoreH A D24-Nov-2021370 3930

.style.yapfH A D24-Nov-202168 64

BulletConfig.cmake.inH A D24-Nov-20211.2 KiB2523

DoxyfileH A D24-Nov-202129.7 KiB781534

MANIFEST.inH A D24-Nov-2021583 1716

README.mdH A D24-Nov-20216 KiB145105

UseBullet.cmakeH A D24-Nov-2021228 117

VERSIONH A D24-Nov-20215 21

_clang-formatH A D24-Nov-20212.6 KiB9290

appveyor.ymlH A D24-Nov-2021405 2015

build_cmake_pybullet_double.shH A D24-Nov-2021741 2825

build_visual_studio_vr_pybullet_double.batH A D24-Nov-20211.5 KiB2917

build_visual_studio_vr_pybullet_double_cmake.batH A D24-Nov-2021290 44

build_visual_studio_vr_pybullet_double_dynamic.batH A D24-Nov-20211.5 KiB2917

build_visual_studio_without_pybullet_vr.batH A D24-Nov-202164 43

bullet.pc.cmakeH A D24-Nov-2021403 1210

clang-format-all.shH A D24-Nov-20212.4 KiB8450

setup.pyH A D03-May-202223 KiB519472

xcode.commandH A D24-Nov-202191 64

README.md

1[![Travis Build Status](https://api.travis-ci.org/bulletphysics/bullet3.png?branch=master)](https://travis-ci.org/bulletphysics/bullet3)
2[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/6sly9uxajr6xsstq)](https://ci.appveyor.com/project/erwincoumans/bullet3)
3
4# Bullet Physics SDK
5
6This 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.
7
8![PyBullet](https://pybullet.org/wordpress/wp-content/uploads/2019/03/cropped-pybullet.png)
9
10## Issues ##
11The Issue tracker was flooded with support questions and is closed until it is cleaned up. Use the [PyBullet forums](http://pybullet.org) to discuss with others.
12
13## PyBullet ##
14It is highly recommended to use PyBullet Python bindings for improved support for robotics, reinforcement learning and VR. Use pip install pybullet and checkout the [PyBullet Quickstart Guide](https://docs.google.com/document/d/10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/edit#heading=h.2ye70wns7io3).
15
16Installation is simple:
17```
18pip3 install pybullet --upgrade --user
19python3 -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may
20python3 -m pybullet_envs.examples.enjoy_TF_HumanoidFlagrunHarderBulletEnv_v1_2017jul
21python3 -m pybullet_envs.deep_mimic.testrl --arg_file run_humanoid3d_backflip_args.txt
22```
23
24If you use PyBullet in your research, please cite it like this:
25
26```
27@MISC{coumans2021,
28author =   {Erwin Coumans and Yunfei Bai},
29title =    {PyBullet, a Python module for physics simulation for games, robotics and machine learning},
30howpublished = {\url{http://pybullet.org}},
31year = {2016--2021}
32}
33```
34
35## Requirements for Bullet Physics C++
36
37A C++ compiler for C++ 2003. The library is tested on Windows, Linux, Mac OSX, iOS, Android,
38but should likely work on any platform with C++ compiler.
39Some optional demos require OpenGL 2 or OpenGL 3, there are some non-graphical demos and unit tests too.
40
41## Contributors and Coding Style information
42
43https://docs.google.com/document/d/1u9vyzPtrVoVhYqQOGNWUgjRbfwfCdIts_NzmvgiJ144/edit
44
45## Requirements for experimental OpenCL GPGPU support
46
47The entire collision detection and rigid body dynamics can be executed on the GPU.
48
49A high-end desktop GPU, such as an AMD Radeon 7970 or NVIDIA GTX 680 or better.
50We succesfully tested the software under Windows, Linux and Mac OSX.
51The software currently doesn't work on OpenCL CPU devices. It might run
52on a laptop GPU but performance will not likely be very good. Note that
53often an OpenCL drivers fails to compile a kernel. Some unit tests exist to
54track down the issue, but more work is required to cover all OpenCL kernels.
55
56## License
57
58All source code files are licensed under the permissive zlib license
59(http://opensource.org/licenses/Zlib) unless marked differently in a particular folder/file.
60
61## Build instructions for Bullet using vcpkg
62
63You can download and install Bullet using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
64
65    git clone https://github.com/Microsoft/vcpkg.git
66    cd vcpkg
67    ./bootstrap-vcpkg.sh
68    ./vcpkg integrate install
69    ./vcpkg install bullet3
70
71The Bullet port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
72
73## Build instructions for Bullet using premake. You can also use cmake instead.
74
75**Windows**
76
77Click on build_visual_studio_vr_pybullet_double.bat and open build3/vs2010/0_Bullet3Solution.sln
78When asked, convert the projects to a newer version of Visual Studio.
79If you installed Python in the C:\ root directory, the batch file should find it automatically.
80Otherwise, edit this batch file to choose where Python include/lib directories are located.
81
82**Windows Virtual Reality sandbox for HTC Vive and Oculus Rift**
83
84Build and run the App_SharedMemoryPhysics_VR project, preferably in Release/optimized build.
85You can connect from Python pybullet to the sandbox using:
86
87```
88import pybullet as p
89p.connect(p.SHARED_MEMORY) #or (p.TCP, "localhost", 6667) or (p.UDP, "192.168.86.10",1234)
90```
91
92**Linux and Mac OSX gnu make**
93
94Make sure cmake is installed (sudo apt-get install cmake, brew install cmake, or https://cmake.org)
95
96In a terminal type:
97```
98./build_cmake_pybullet_double.sh
99```
100This script will invoke cmake and build in the build_cmake directory. You can find pybullet in Bullet/examples/pybullet.
101The BulletExampleBrowser binary will be in Bullet/examples/ExampleBrowser.
102
103You can also build Bullet using premake. There are premake executables in the build3 folder.
104Depending on your system (Linux 32bit, 64bit or Mac OSX) use one of the following lines
105Using premake:
106```
107cd build3
108./premake4_linux --double gmake
109./premake4_linux64 --double gmake
110./premake4_osx --double --enable_pybullet gmake
111```
112Then
113```
114cd gmake
115make
116```
117
118Note that on Linux, you need to use cmake to build pybullet, since the compiler has issues of mixing shared and static libraries.
119
120**Mac OSX Xcode**
121
122Click on build3/xcode4.command or in a terminal window execute
123```
124./premake_osx xcode4
125```
126## Usage
127
128The App_ExampleBrowser executables will be located in the bin folder.
129You can just run it though a terminal/command prompt, or by clicking it.
130
131
132```
133[--start_demo_name="Demo Name"]     Start with a selected demo
134[--mp4=moviename.mp4]               Create a mp4 movie of the window, requires ffmpeg installed
135[--mouse_move_multiplier=0.400000]  Set the mouse move sensitivity
136[--mouse_wheel_multiplier=0.01]     Set the mouse wheel sensitivity
137[--background_color_red= 0.9]       Set the red component for background color. Same for green and blue
138[--fixed_timestep= 0.0]             Use either a real-time delta time (0.0) or a fixed step size (0.016666)
139```
140
141You can use mouse picking to grab objects. When holding the ALT or CONTROL key, you have Maya style camera mouse controls.
142Press F1 to create a series of screenshots. Hit ESCAPE to exit the demo app.
143
144Check out the docs folder and the Bullet physics forums for further information.
145