added brute-force triangle iteration method, to allow graphics to skip aabb traversal (useful for debugging)

This commit is contained in:
ejcoumans
2007-06-13 22:35:14 +00:00
parent 05cbd96972
commit effb5a8b62
7 changed files with 80 additions and 16 deletions

View File

@@ -23,6 +23,11 @@ subject to the following restrictions:
#include "../Extras/GIMPACTBullet/btGIMPACTMeshShape.h"
#include "../Extras/GIMPACTBullet/btConcaveConcaveCollisionAlgorithm.h"
//#define USE_PARALLEL_DISPATCHER 1
#ifdef USE_PARALLEL_DISPATCHER
#include "../../Extras/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h"
#endif//USE_PARALLEL_DISPATCHER
#include "BMF_Api.h"
@@ -1630,13 +1635,22 @@ void ConcaveDemo::initPhysics()
g_trimeshData = new btGIMPACTMeshData(indexVertexArrays);
//btConstraintSolver* solver = new btSequentialImpulseConstraintSolver;
btCollisionDispatcher* dispatcher = new btCollisionDispatcher();
#ifdef USE_PARALLEL_DISPATCHER
btCollisionDispatcher* dispatcher = new SpuGatheringCollisionDispatcher();
#else
btCollisionDispatcher* dispatcher = new btCollisionDispatcher();
#endif//USE_PARALLEL_DISPATCHER
//btOverlappingPairCache* broadphase = new btSimpleBroadphase();
btOverlappingPairCache* broadphase = new btSimpleBroadphase();
btConstraintSolver* constraintSolver = new btSequentialImpulseConstraintSolver();
m_dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher,broadphase,constraintSolver);
m_gimpactCollisionCreateFunc = new btConcaveConcaveCollisionAlgorithm::CreateFunc;
dispatcher->registerCollisionCreateFunc(GIMPACT_SHAPE_PROXYTYPE,GIMPACT_SHAPE_PROXYTYPE,m_gimpactCollisionCreateFunc);
dispatcher->registerCollisionCreateFunc(TRIANGLE_MESH_SHAPE_PROXYTYPE,GIMPACT_SHAPE_PROXYTYPE,m_gimpactCollisionCreateFunc);