Make raycast benchmark default, to show improved raycasting performance.

Add rayTest to btBroadphaseInterface, and implement efficient version for btDbvtBroadphase to accelerate raycasting.
btAxisSweep3, btSimpleBroadphase and btMultiSapBroadphase implement brute-force method (as before). For now, it is recommended to use btDbvtBroadphase for fastest world raycast.
This commit is contained in:
erwin.coumans
2008-10-14 06:23:45 +00:00
parent 780350a9e1
commit fffca75e9f
11 changed files with 123 additions and 25 deletions

View File

@@ -272,9 +272,11 @@ void BenchmarkDemo::initPhysics()
///Don't make the world AABB size too large, it will harm simulation quality and performance
btVector3 worldAabbMin(-10000,-10000,-10000);
btVector3 worldAabbMax(10000,10000,10000);
//m_overlappingPairCache = new btAxisSweep3(worldAabbMin,worldAabbMax,3500);
// m_overlappingPairCache = new btAxisSweep3(worldAabbMin,worldAabbMax,3500);
// m_overlappingPairCache = new btSimpleBroadphase();
m_overlappingPairCache = new btDbvtBroadphase();
///the default constraint solver. For parallel processing you can use a different solver (see Extras/BulletMultiThreaded)
btSequentialImpulseConstraintSolver* sol = new btSequentialImpulseConstraintSolver;