I use Bullet for several times but I haven't ask myself for its scientific accuracy.
I have began to implement an octree based physics simulation from scratch and was stopped by the complexity of the problem:
In effect, the collision problem between N potantially collisionning object is hard to code in real time simulation:
-My naive assumption to solve collisons between 2 timestep was the follow
Code: Select all
curT=t1
while (1){
collision=t system.findfirst_collision_occuring after(curT)
if (collision.time>t2) break;
treat_collision(collision.objA,collision.objB,collision.time) //update A and B atrribute
update_rest_of_system (collision.time) //update all other collision free objects
curT=collision.time;
}
//its pseudo code dont be rude with this simplist description
Here's my few questions about Bullet:
I see that there's two phase in the collision treatment:
the broadphase: resolve collision detection (spatial partitionning + contact test)
the narrow phase: that solve these collisions (I don't know how...

So my first question is:
-As GJK broadphase resolve overlapping problem what technik can be use in order not to miss an overlapping between 2 timestep(like a GJK that extrude objects between 2 time step

-Is the the narrow phase treats effective collisions sequentially with no order (whitout sorting concurrent collisions)?
-And the last: tell me that this hard mathematical stuff that is the LCP is just for constraints solving and not for collision purpose ( I understand nothing about it

Thank in advance