Added assert to check for positive masses in btCompoundShape::calculatePrincipalAxisTransform, see Issue 399
Fixes for LLVM/GCC compilation issue in btSequentialImpulseConstraintSolver
(Untested) fix for Linux 64bit compilation Issue 409
Tweak the BenchmarkDemo a bit:
1) disable deactivation in graphical mode
2) add some settings that increase performance in the BenchmarkDemo2 (1000 stack) from 35ms to 15ms on this quad core (at the cost of a bit of quality)
http://bulletphysics.com/Bullet/phpBB3/viewforum.php?f=9
Generally, however, it is best to avoid copying entire arrays, but use a
reference.
typedef btAlignedObjectArray<btSomeClass> Array;
Array a;
Array b = a;//avoid this whenever possible
This is much better:
Array& b = a;//use a reference
const Array& b = a; //or const reference
- replaced all usage of heapSort by quickSort
- finished btMultiSapBroadphase. Still some work to be done to increase performance (faster add/remove from child broadphases.
uses currently AABB tree to locate child broadphase (should use grid), and sorted array takes too much time.
- added bt32BitAxisSweep3, which co-exists without recompilation, using template class. This broadphase is recommended for large worlds with many objects (> 16384), until btMultiSwap is finished.
- Fixed some recent issues in Bullet 2.57 related to compound (thanks Proctoid) and memory allocations
Same interface but less features (push_back, pop_back, clear, size, [] etc).
To prepare for SIMD/SSE code: Added #define ATTRIBUTE_ALIGNED16(a) __declspec(align(16)) a