vexator wrote:- my game world is setup with an octree, each node containing static geometry. in ode i could create a separate space for every octree node to speed up simulation. is there a simular way in bullet? so far i just add each mesh to the world itself.
- i use btTriangleMesh/btTriangleMeshShape to create meshes from static world geometry. is there a more efficient way?
Please use btBvhTriangleMeshShape. You can probably add all triangles in a btBvhTriangleMeshShape. You should not use btTriangleMeshShape, it is totally un-optimized. It is more testing/comparison code, I should make that more clear. Same for btSimpleBroadphase and btSimpleDynamicsWorld, they are test/comparisons to validate the recommende btAxis3Sweep and btDiscreteDynamicsWorld.
- what are those btBvh* classes? couldn't find any information on that in the manual/api.
btBvhTriangleMeshShape is a triangle mesh with bounding volume hierarchy optimizations. This works even better then an octree. It is best to store more triangle in the btBvhTriangleMeshShape, rather then adding lots of very small btBvhTriangleMeshShapes into the broadphase.
- what's the best way to perform collision tests for very fast moving bodies, like pistol bullets? should i cast a ray to check intersections with the world? or are there special classes/settings to handle this?
You can use a raycast, see btCollisionWorld::rayTest. Another option is to use an object sweep, see btCollisionWorld::objectQuerySingle, but there are some loose ends that needs to be implemented.
Hope this helps,
Erwin