Page 1 of 1

Choosing A Physics World

Posted: Fri Mar 19, 2010 4:13 am
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

Re: Choosing A Physics World

Posted: Mon Mar 22, 2010 11:17 pm
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