I think the bug I have is similar to this one:
(look in google cache under terms: assert proxy0 != proxy1)
(the original forum post was lost recently)
I seem to be unable to avoid this bug, as we are creating and deleting many objects, and eventually the pointers are bring reused.
Is there any solution that I can apply?
Thanks.
ASSERT in btOverlappingPairCache::addOverlappingPair()
-
- Posts: 3
- Joined: Wed Apr 18, 2007 9:11 pm
-
- Posts: 3
- Joined: Wed Apr 18, 2007 9:11 pm
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
-
- Posts: 3
- Joined: Wed Apr 18, 2007 9:11 pm
I do initialize the transform:
Another problem I'm seeing is that the number of manifolds reported by Dispatcher->getNumManifolds(); is much, much higher than the number of overlapping pairs reported by gOverlappingPairs, like 1000 manifolds to only 2 overlapping pairs. This greatly slows down the game, even when only a couple of objects are colliding.
Notes:
-All the objects are spherical or compound sphere shapes
-Here is my initialization code:
Code: Select all
btTransform trans;
trans.setIdentity();
trans.setOrigin(btVector3(mPosition.x, mPosition.y, mPosition.z));
trans.setRotation(btQuaternion(mOrientation.x, mOrientation.y, mOrientation.z, mOrientation.w));
Notes:
-All the objects are spherical or compound sphere shapes
-Here is my initialization code:
Code: Select all
#define maxProxies 32768
btVector3 worldAabbMin(-10000,-10000,-10000);
btVector3 worldAabbMax(10000,10000,10000);
mOverlappingPairCache = new btAxisSweep3(worldAabbMin,worldAabbMax,maxProxies);
mSolver = new btSequentialImpulseConstraintSolver;
mDynamicsWorld = new btDiscreteDynamicsWorld(mDispatcher, mOverlappingPairCache, mSolver);
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA