I decided to create a new topic, as the subject has changed compared to my previous post.
I have successfully integrated Bullet into our engine (or actually, started to

However, I am not sure which collision shapes I should use to maximize performances.
So basically, I have two types of objects:
1 - the airport, static. This model is composed of many sub-objects (tower, buildings, trees, ground, etc...), I can collapsed them for the physic mesh
2 - the aircrafts / vehicles, which are composed by 3-10 sub-objects which I can collapse as well.
For 1, I think the best approach would be to use btBvhTriangleMeshShape with mass=0.
However, I am not sure how Bullet handles the shape. I know it uses a tree internally, so I guess the best thing would be to collapse all the objects, and provide bullets with one single list of vertices and one single list of indices for all the sub-objects. Am I right, or should I rather create one shape per object (so one per building, etc...) ? Or rather use a combinaison of convex shapes (using the convex decomposition sample) ?
For 2, I am not sure which is the fastest method. Should I create one concave triangle mesh shape and use GImpact ? Or would it be more efficient to use a combinaison of convex hull shapes (using decomposition as well) ? I have no idea how both approach would perform (performance-wise and quality-wise), so any input would be welcome !!
Other question, should I call the following methods ? If I should, should I do it with all different shape types ? From what I understand it would allow to skip continuous physic computations if objects are isolated enough, right ?
Code:
// Only do CCD if motion in one timestep (1.f/60.f) exceeds CUBE_HALF_EXTENTS
// _vSize is the size of the bounding box
gjFloat fMinSize = gjMin(gjMin(_vSize.x, _vSize.y), _vSize.z);
m_pBody->setCcdSquareMotionThreshold(0.5f * fMinSize);
//Experimental: better estimation of CCD Time of Impact:
m_pBody->setCcdSweptSphereRadius(0.2f * fMinSize);
Thanks a lot.
Gregory