Questions tagged [bulletphysics]

Bullet (Bullet Physics SDK) is an Open Source collision detection and rigid body dynamics library. The Library is free for commercial use and open source under the ZLib License.

From Bullet's main project page:

Bullet 3D Game Multiphysics Library provides state of the art collision detection, soft body and rigid body dynamics.

  • Used by many movie and game companies in AAA titles on Playstation 3, XBox 360, Nintendo Wii, PC and iPhone
  • Modular extendible C++ design with hot-swap of most components
  • Optimized back-ends for pthreads/Win32 Threads multi-threading and PS3 Cell SPU
  • Preparation for OpenCL data parallel optimizations for upcoming Bullet 3.x

Bullet Collision Detection can be used on its own as a separate SDK without Bullet Dynamics

  • Discrete and continuous collision detection (CCD)
  • Swept collision queries
  • Ray casting with custom collision filtering
  • Generic convex support (using GJK), capsule, cylinder, cone, sphere, box and non-convex triangle meshes.
  • Support for dynamic deformation of non-convex triangle meshes, by refitting the acceleration structures

Multi-physics support including:

  • Rigid body dynamics including constraint solvers, generic constraints, ragdolls, hinge, ball-socket
  • Support for constraint limits and motors
  • Soft body support including cloth, rope and deformable
  • Bullet is integrated into Cinema 4D, Lightwave, Blender and Carrara, and plugins for Maya, Houdini and 3ds Max are available
  • Serialization of physics data in the cross-platform binary .bullet file format

The Library is free for commercial use and open source under the ZLib License.

Project page at GitHub: https://github.com/bulletphysics/bullet3 Other tags: bullet (https://stackoverflow.com/tags/bullet/info)

338 questions
6
votes
1 answer

How to implement the btIDebugDraw interface of Bullet in OpenGL 4.0

Bullet has an implementation of the btIDebugDraw interface in older OpenGL which is used to draw the physics world for debugging. The interface is like this : class GLDebugDrawer : public btIDebugDraw { int…
safe_malloc
  • 824
  • 2
  • 12
  • 29
5
votes
1 answer

How can I prevent CMake from creating a symlink for shared libraries on build (not on install)?

I am building a project on linux with Bullet3 using CMake, and when building the entire solution it builds the output libraries of Bullet with the SOVERSION appended and creates a symlink without the version. I do not like this behavior for my…
ZOlivier
  • 224
  • 1
  • 11
5
votes
1 answer

Understanding Inverse Kinematics pybullet

I'm trying to do cartesian control with a simulated PR2 robot in pybullet. In pybullet, the function calculateInverseKinematics(...) optionally takes joint lower limits, upper limits, joint ranges and rest poses in order to do null space control.…
user3925668
  • 51
  • 1
  • 3
5
votes
1 answer

Convert screen coordinates to OpenGL coordinates

I'm creating a Dice roller app for Android. Using Kotlin, OpenGL-ES and jBullet. I've implemented the dice. Now I need to create walls, because otherwise the dice will roll out of the screen. Because screens can have different aspect ratios, I'm…
5
votes
3 answers

Collision detection between two accelerating spheres with no initial velocity?

Initially, two non-touching spheres of radii R1 and R2 are lying in space at rest. Both of them are then given accelerations a1 and a2 respectively at time=0. Find whether they will ever come in contact. Their initial positions are represented as…
5
votes
2 answers

DebugDrawing in libGDX

What is the proper way to debug draw Bullet physics in libGDX so that I may see the btCollisionObjects that I am setting up? So far I have the below, but it doesn't appear that the btCollisionObjects are appearing. public void render(float delta)…
AWippler
  • 417
  • 3
  • 9
  • 16
5
votes
1 answer

Change btRigidBody's position/orientation on-the-fly in Bullet Physics

I know it breaks physics laws, but although there are often practical reasons to change instantaneously the position and orientation of a body in a game, most physic simulation libraries won't allow it, so Bullet Physics won't either. So, I'd…
rraallvv
  • 2,875
  • 6
  • 30
  • 67
5
votes
1 answer

Bullet Physics Broadphase Filter Callback to filter individual shapes inside a compound body

Is there a way to set a Broadphase Filter Callback in Bullet Physics as follow: Compound dynamic bodies built from two shapes, say a cylinder and a box, where cylinders can only collide with cylinders inside other dynamic bodies, and boxes can only…
rraallvv
  • 2,875
  • 6
  • 30
  • 67
5
votes
3 answers

What does "step" mean in stepSimulation and what do its parameters mean in Bullet Physics?

What does the term "STEP" means in bullet physics? What does the function stepSimulation() and its parameters mean? I have read the documentation but i could not get hold of anything. Any valid explanation would be of great help.
geekoraul
  • 2,623
  • 2
  • 21
  • 33
5
votes
1 answer

How to draw/render a Bullet Physics collision body/shape?

I have implemented the Bullet Physics engine into my android program with the NDK (I am using Vuforia's imagetarget example for android), and it is set up and working correctly, however I would like to render/draw my collision boxes/planes to see my…
AndroidNoob
  • 2,771
  • 2
  • 40
  • 53
4
votes
0 answers

Bullet Physics memory use on large changing worlds with many triangle meshes

Might the btDiscreteDynamicsWorld recreate/expand it's own Octree/SpatialHash from the whole DynamicsWorld and keep expanding it as I increase the distance of added objects from (0,0,0)? Adding a new top level to the octree for example and therefore…
Rock
  • 1,216
  • 2
  • 12
  • 20
4
votes
2 answers

Detecting collisions with bullet

I made an app with Ogre3D, having already spawned bullet's objects, all I need for now is to detect collisions between objects. I looked at the CollisionInterfaceDemo demo, and it doesn't really match with my needs. What are the required steps to…
jokoon
  • 6,207
  • 11
  • 48
  • 85
4
votes
1 answer

jMonkeyEngine enabling relative gravity via mass

I'm not sure if I'm wording this correctly, but I want to set up a space-like physics system in jme3. I have the BulletAppState setup and several RigidBodyControl enabled spheres. // Setting up BulletAppState physics = new BulletAppState(); …
Snailer
  • 3,777
  • 3
  • 35
  • 46
4
votes
2 answers

Ghost objects - bulletphysics

I'm trying to implement a simple ghost object in bulletphysics, this is how I create the ghost objects: btGhostPairCallback* ghostCall = new…
z3a
  • 1,014
  • 2
  • 11
  • 20
4
votes
7 answers

Using C++ API in C?

One day I decided to start writing a video game in plain old C. It was a lot of fun, and three months later (I sometimes have little time away from the job) I found myself in the need of some physics engine. I decided to use Bullet physics engine,…
buddhabrot
  • 1,558
  • 9
  • 14
1
2
3
22 23