Choosing A Physics World

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

Choosing A Physics World

Post by Mako_energy02 »

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:
http://stackoverflow.com/questions/2474 ... amicsworld
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Choosing A Physics World

Post by Erwin Coumans »

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,
Thanks,
Erwin
Post Reply