Hey, I tried to update bullet from 2,80 to the svn version.
Just to save you some time, when you do, (and anyone else attempting this for whatever reason).
Their cmakefile is not compatible with mingw under windows anymore, you will have to override a few if’s (mostly anywhere where it tests for _MSC_VER define), since else you will get no btMultiThreaded.a and no debug support (eg assertions).
Also I found after getting btAssert to work, that always a call to shape->calculateLocalInertia(mass, localInertia); is done, for all shapes that are only allowed to be static, this causes assertions being thrown,
Cool, thanks. The local inertia shouldn’t do any harm, but its true that its silly to compute it for static collision shapes. I hope the cross-compile still works but anyway theres not many changes in 2.80 that I’d want. The GPU pipeline isn’t done yet anyway so maybe they fix it with 2.81 or so Having to apply patches to the source would be quite hackish…
in btOptimizedBvh, wich in turn we use from the MeshCollisionShape.
In short we should do a check that no more than 2097152 indexes are used. (in a single shape)
Code:
// 10 gives the potential for 1024 parts, with at most 2^21 (2097152) (minus one
// actually) triangles each (since the sign bit is reserved
#define MAX_NUM_PARTS_IN_BITS 10
they use a single unsigned int, to store a partid from the treestuff and the actuall index it refers to.