A very simple physics simulation software.
- Lua scripting (experimental, sometimes segfaults)
- OpenGL-2 GUI (experimental, no OpenCL features)
- OpenSCAD import (experimental, sometimes crashes)
- POV-Ray / Lightsys export (stable)
Select your operating system:
Start with GUI:
$ release/bpp
Start without GUI and render a 400 frames animation with POV-Ray from the command-line:
$ echo "render = 1" | release/bpp -f demo/basic/00-hello-pov.lua -n 400 -i
Pipe bpp simulation data into gnuplot:
$ release/bpp -n 200 -f demo/basic/00-hello-cmdline.lua | gnuplot -e "set terminal dumb; plot for[col=3:3] '/dev/stdin' using 1:col title columnheader(col) with lines"
to see a bouncing sphere:
10 +---------------------------------------------------------------------+
| AA + + + + + + + + + |
9 |-+AA Y A +-|
| AA AAAA |
8 |-+ AA AA AAA +-|
| A AA AA |
7 |-+ AA A A +-|
| A A A |
6 |-+ AA A AA +-|
| A AA A |
5 |-+ A A AA +-|
| A AA A AAA |
4 |-+ A A AA AAA AA +-|
| A A A AA AA |
3 |-+ A A A AA A +-|
| A A A A A AAAAAA |
2 |-+ AA A A AA AA AA +-|
| AA AA AAA AAAAAAAA |
1 |-+ A A A AA AAAAAA|
| + + + + + + + + + |
0 +---------------------------------------------------------------------+
0 20 40 60 80 100 120 140 160 180 200
For more demos, see demo/.
For a list of Lua-accessible classes, functions and properties, run:
$ release/bpp -f demo/basic/00-luabind.lua
- S starts/stops the physics simulation
- P toggles the POV-Ray export mode
- G toggles the PNG screenshot saving mode
- A toggles display of world axis
- F toggles FPS display
- ⏎ Enter starts/stops the animation
- Space toggles between fly/revolve camera modes
- Use arrow keys to move the camera
- Hs hows QGLViewer help window: note the above shortcuts overwrite the QGLViewer ones under the "Keyboard" tab.
- Press H to show QGLViewer help window, and click on the "Mouse" tab to see all the possible mouse actions.
The editor has a few known problems:
-
It will crash if you try to use a non-existant file for a Mesh object. It will crash too if you try to edit the file name. The workaround is to comment out the Mesh and v:add() lines before editing them.
-
With scripts which load many objects, or big meshes, the typing can be very slow.
- Jakob Flierl – koppi – Initial release.
- Jaime Vives Piqueres – jaimevives – POV-Ray export and his latest computer generated images.
The Bullet Physics Playground is licensed under the GNU Lesser General Public License.