Based on feedback from another professional game company, there are several improvements, including some API change...
Some dynamic memory allocations have been replace by pool allocation or stack allocations. quantized aabb versus quantized aabb overlap check is made branch-free (helps a lot on consoles PS3/XBox 360) Collision algorithms are now created through a new btDefaultCollisionConfiguration, to decouple dependency (this is the API change): Example: btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration(); m_dispatcher = new btCollisionDispatcher(collisionConfiguration);
This commit is contained in:
@@ -15,6 +15,8 @@ subject to the following restrictions:
|
||||
|
||||
#ifndef BT_COLLISION_CONFIGURATION
|
||||
#define BT_COLLISION_CONFIGURATION
|
||||
struct btCollisionAlgorithmCreateFunc;
|
||||
|
||||
///btCollisionConfiguration allows to configure Bullet collision detection
|
||||
///stack allocator size, default collision algorithms and persistent manifold pool size
|
||||
///todo: describe the meaning
|
||||
@@ -28,7 +30,7 @@ public:
|
||||
}
|
||||
|
||||
///pool size for the persistent contact manifold
|
||||
virtual int getMaxPersistentManifoldPoolSize() = 0;
|
||||
virtual int getPersistentManifoldPoolSize() = 0;
|
||||
|
||||
virtual int getStackAllocatorSize() = 0;
|
||||
|
||||
@@ -36,17 +38,7 @@ public:
|
||||
|
||||
virtual int getCollisionAlgorithmMaxElementSize() = 0;
|
||||
|
||||
virtual btCollisionAlgorithmCreateFunc* getConvexConvexCollisionCreateFunc() = 0;
|
||||
|
||||
virtual btCollisionAlgorithmCreateFunc* getConvexConcaveCollisionCreateFunc() = 0;
|
||||
|
||||
virtual btCollisionAlgorithmCreateFunc* getSwappedConvexConcaveCollisionCreateFunc() = 0;
|
||||
|
||||
virtual btCollisionAlgorithmCreateFunc* getCompoundCollisionCreateFunc() = 0;
|
||||
|
||||
virtual btCollisionAlgorithmCreateFunc* getSwappedCompoundCollisionCreateFunc() = 0;
|
||||
|
||||
virtual btCollisionAlgorithmCreateFunc* getEmptyCollisionCreateFunc() = 0;
|
||||
virtual btCollisionAlgorithmCreateFunc* getCollisionAlgorithmCreateFunc(int proxyType0,int proxyType1) =0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user