Choosing A Physics World

Post Reply
Posts: 170
Joined: Sun Jan 17, 2010 4:47 am

Choosing A Physics World

Post by Mako_energy02 » Fri Mar 19, 2010 4:13 am

I have a few general questions about the bullet physics library.

Here is my current understanding in a nutshell:
btDiscreteDynamicsWorld - Simplest physics world, only handles rigid bodies, maybe it has better performance.
btSoftRigidDynamicsWorld - The only physics world that can work with large jello moulds
btContinuousDynamicsWorld - If you have really fast objects this will prevent them from prenetrating each other or flying through each other, but is otherwise like a btDiscreteDynamicsWorld.

Is my understanding of the btDiscreetDynamicsWorld, btContinuousDynamicsWorld and btSoftRigidDynamicsWorld classes in terms of functionality, purpose, and performance correct?
Why does the user manual recommend the btDiscreteDynamicsWorld class?
btSoftRigidDynamicsWorld appears to be the only world that can handle soft bodies, so what if we wanted Continuous Physics integration and Soft bodies?
How fast is fast enough to consider using a btContinuousDynamicsWorld, and what are the drawbacks of using one?

My Team member also posted this question on StackOverflow: ... amicsworld

User avatar
Erwin Coumans
Site Admin
Posts: 4085
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Choosing A Physics World

Post by Erwin Coumans » Mon Mar 22, 2010 11:17 pm

Please ignore btContinuousDynamicsWorld, it is not functional (it has never been completed).

If you want to use soft bodies, use btSoftRigidDynamicsWorld, otherwise use btDiscreteDynamicsWorld .

There are a bunch of classes in Bullet that are not recommended to be used (btContinuousDynamicsWorld, btSimpleBroadphase, btTriangleShape (only for internal use) and a few more,
Possibly we should remove them or clearly document all the known issues,

Post Reply