Collision flags with multithreading

Post Reply
foips
Posts: 1
Joined: Wed May 29, 2013 1:58 pm

Collision flags with multithreading

Post by foips »

Info
We're currently using bullet for our projects physics and I'm wanting to set a bullet body to be non physically collidable but with collision callbacks (ie. a "Ghost" Object).

Problem
Setting the collision flags as below works fine on the windows build of our project (I can recieve a collision callback from the interaction, but no physical interaction occurs), but our PS3 build the object is still has a physical response upon collision.

pBulletBody->setCollisionFlags( pBulletBody->getCollisionFlags() | btCollisionObject::CF_NO_CONTACT_RESPONSE );

So far in my research I have confirmed that the bullet body's flags have been set correctly and are still set correctly throughout the run cycle of the physics world in both builds.
The main difference between our Windows and PS3 implementation is that on the PS3 we use a btParallelDynamicsWorld instead of a btDiscreteDynamicsWorld, and a btThreadSupportInterface for multi-threading.

Questions
My first question is if there is any major difference between how collision flags are handled in multi-threaded/parallel bullet physics.
A further question is that if setting the collision flags simply doesn't work on those set-ups then what might be the easiest way to quickly be able to set an object to interact/not interact physically (but still give callbacks) on the fly?
Post Reply