I would like to have a collision detection module in my tracking pipeline, detecting when two different meshes collide/interpenetrate or if there is a self-penetration of an articulated mesh. Based on the depth of the penetration there should be a penalization that combats this phenomenon. I should get a list of the colliding faces/vertices and the depth of penetration in order to do so.
I'm interesting in finding a suitable c++ library for this, this is why I started looking at bullet.
The library used should be used/incorporated in an already existing pipeline, so the usability should be suitable.
Interactive framerate is not a requirement, this is an offline pipeline, but ease of incorporation in the pipeline is very desirable.
I need to avoid using shape primitives (like spheres) that approximate the mesh surface in order to speed-up/ease the collision detection.
A precise identification of the colliding/penetrating vertices would be very much needed.
Most probably the method should resort to AABBs (Axis-Aligned Bounding Boxes), since a frequent update of non-rigid meshes is needed.
Am I looking at the right place?
Any recommendations to start with, based on you experience?