Commit Graph

21 Commits

Author SHA1 Message Date
erwin.coumans
65bb612598 - added quickSort to btAlignedObjectArray (has generally better performance then heapSort)
- 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.
2008-03-16 04:30:43 +00:00
erwin.coumans
fbffa3a031 more broadphase/pair cache/MultiSAP improvements. 2008-03-14 03:19:15 +00:00
erwin.coumans
d51c9f3247 second attempt to some pair management changes, allow to choose pair cache at run-time.
use btNullPairCache, btHashedOverlappingPairCache or btSortedOverlappingPairCache
2008-03-14 02:02:51 +00:00
erwin.coumans
9a19b66659 need to fix an issue, before making the paircache change. 2008-03-14 01:20:23 +00:00
erwin.coumans
06a9b3dfc9 some pair management changes, allow to choose pair cache at run-time. 2008-03-13 23:57:07 +00:00
ejcoumans
f5fb2d77eb fixed include path (don't use system include <>, but "" instead)
Thanks to Stephen (shatcher) for reporting!
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1696&p=6412#p6412
2007-11-17 17:16:19 +00:00
ejcoumans
a146bbc293 more memory leak fixes in demo and btSimpleBroadphase.
- deleting object (END key) needs to release
- call destructor of pair cache
2007-10-31 08:17:48 +00:00
ejcoumans
ea3dfb4ca3 made 'calculateLocalInertia' const, thanks to cgripeos, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1514
- applied a large patch to remove warnings
Thanks to Enrico, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1568
- removed SSE includes, added #incude <string.h> for memset in Extras/quickstep, thanks Eternl Knight
- disabled 16-byte alignement on btQuadWord class, it causes problems under PS3 Linux. Need to check out why.
2007-10-13 23:41:37 +00:00
ejcoumans
eff4fe8ec8 more work on hashed pairmanager. growing doesn't work yet, so need to allocate enough room for the overlapping pairs in advance.
boxbox reports contact point in B, rather then average point
box, cylinder use halfextents corrected for scaling and margin. made the margin in this halfextents explicit in the 'getHalfExtentsWithMargin' and 'getHalfExtentsWithoutMargin'
integrated changed for ODE quickstep solver
replaced inline with SIMD_FORCE_INLINE
some minor optimizations in the btSequentialImpulseConstraintSolver

added cone drawing (for X,Y,Z cones)
2007-10-12 02:52:28 +00:00
ejcoumans
0405ce278a use size_t instead of int, for allocator
added hashtable based PairManager, thanks Pierre Terdiman and Erin Catto
improved friction in 'cachefriendly' solver
moved 'refreshcontactpoints' into collision detection, instead of solver
avoid linear search for contact manifolds, by storing an index
ignore margin for sphere shape (its entire radius is already margin)
avoid alignment checks in BVH serialization, they don't compile on 64-bit architectures
made 'bomb' box more heavy
2007-10-11 03:17:54 +00:00
ejcoumans
87df3d0f32 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);
2007-09-08 05:40:01 +00:00
ejcoumans
b6cd61a5e1 preparation for multi SAP broadphase 2007-08-03 01:39:36 +00:00
ejcoumans
1f7646f72a Refactoring to enable multi SAP broadphase.
This was already planned, and Pierre Terdiman recent thread motivated me to decouple the paircache from the sweep and prune.
http://continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1329
2007-08-02 23:48:46 +00:00
ejcoumans
bc3f9535ad cleaned up, removed warning under MSVC2005 (Level 4)
Mostly related to alignment and unused variables
2007-04-13 01:37:21 +00:00
ejcoumans
adfdea5ca6 replaced #include "new.h" to #include <new> 2007-03-06 23:40:06 +00:00
ejcoumans
054d672592 - removed STL from the Bullet library: replace std::vector by btAlignedObjectArray. Also removed the std::set for overlapping pair set, and turned it into an overlapping pair array. The SAP only adds objects, never removed. Removal is postponed for during traversal of overlapping pairs (duplicates and non-overlapping pairs are removed during that traversal).
- added heap sort and binary search/linear search to btAlignedObjectArray
- fixed wrong cast, thanks Hamstray, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1015
2007-03-06 09:59:17 +00:00
ejcoumans
4ab4fc8bb1 Integrated fixes for Solaris from Noerghel, http://continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=673 2006-11-09 15:27:02 +00:00
ejcoumans
bf847b839a another large series of changes, related to the refactoring.
CompoundShapes are tricky to manage with respect to persistent contact points and swapped order of btCollisionObjects,
During dispatch, finding an algorith etc. order can be swapped.
fixed several other issues, related to SimpleBroadphase (removing a proxy was not working)
2006-10-06 05:22:13 +00:00
ejcoumans
2b1657b1dd Refactoring: another huge number of changes, renamed methods to start with lower-case. 2006-09-28 01:11:16 +00:00
ejcoumans
eb23bb5c0c merged most of the changes from the branch into trunk, except for COLLADA, libxml and glut glitches.
Still need to verify to make sure no unwanted renaming is introduced.
2006-09-27 20:43:51 +00:00
ejcoumans
0e04cfc806 First stage in refactoring Bullet: moved Bullet Collision and Dynamics and LinearMath into src folder, and all files in Collision Detection and Dynamics have bt prefix.
Made all buildsystems to work again (jam, msvc, cmake)
2006-09-25 08:58:57 +00:00