Commit Graph

77 Commits

Author SHA1 Message Date
erwin.coumans
b9acc820d6 removed collision template, some code style cleanup, added btDbvhBroadphase to BenchmarkDemo 2008-05-06 02:45:56 +00:00
erwin.coumans
6989ea8908 upgrade version to 2.69
moved btDbvt/btDbvtBroadphase to BulletCollision/BroadphaseCollision
applied code-layout to btSoftBodyHelpers.*
2008-05-06 00:58:10 +00:00
erwin.coumans
25c5d0d57a +Added btDbvtBroadphase, this very fast/efficient broadphase is based on Dynamic AABB tree (btDbvt).
+SoftBody improvements by Nathanael Presson:
+Add tetrahedralization
+Add support for tearing/slicing cloth and deformable volumes. Uncomment the line in Bullet/src/BulletSoftBody/btSoftBodyHelpers.h: //#define	BT_SOFTBODY_USE_STL	1
2008-05-05 23:19:21 +00:00
erwin.coumans
b37a37a28e Added initial broadphase support for softbody versus softbody and softbody versus rigidbody (see btSoftSoftCollisionAlgorithm and btSoftRididCollisionAlgorithm)
Added 	SOFTBODY_SHAPE_PROXYTYPE.
Some refactoring for btSoftBody, needs more work.
2008-04-06 06:53:00 +00:00
erwin.coumans
bb680f512d avoid warning of passing the 'this' pointer into constructor 2008-03-18 05:20:39 +00:00
erwin.coumans
91e40d4c24 fix compile errors under Mac OSX (class definition cannot be local for template classes) 2008-03-17 05:55:07 +00:00
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
44186898af Got btMultiSapBroadphase in a working state. Now tuning/optimizations can be started.
Added getBroadphaseAabb to btBroadphaseInterface.
2008-03-15 08:59:26 +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
erwin.coumans
fe5386a5c8 Made the move from sourceforge to googlecode (no svn sync any longer)
Fixed BulletColladaConverter load/save
Removed btTypedUserInfo
Added btHashMap
Fixed btCapsuleShape
2008-03-13 05:16:42 +00:00
ejcoumans
5399a9ae8c fixes to compile/share more code between SPU and PPU 2008-02-01 03:35:54 +00:00
ejcoumans
1c82712b72 added newline at end, to avoid warning.
Thanks verizon for reporting!
2007-12-01 19:56:18 +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
56e072ccc6 fixed memory leak in btMultiSapBroadphase,
fixed hash function (typo, should use 2 proxies)
Thanks to Stephen (shatcher) for reporting and fixes!
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1696
2007-11-17 17:07:58 +00:00
ejcoumans
e755d1ed4e added some comments, to clarify unit-test/brute force implementations. 2007-11-02 01:14:29 +00:00
ejcoumans
dc4aacb03b add ability for user pair callback, this can be used to keep track of objects, overlapping a certain AABB/shape. 2007-11-01 18:21:17 +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
a101719687 - removed warnings in GLUI, thanks Jorrit Tyberghein for the patch!
- removed memory leaks from BasicDemo and Bullet library (other demos needs to be cleaned up!)
- added memory leak debugging functionality in btAlignedAlloc.h: #define BT_DEBUG_MEMORY_ALLOCATIONS
2007-10-31 08:00:03 +00:00
ejcoumans
ec76f2e0a3 - keep track of all memory allocations (gNumAllignedAllocs/gNumAllignedFree)
All memory allocations in Bullet go through btAlignedAlloc/btAlignedFree
Fix in hinge constraint constructors, thanks Marcus Hennix!
2007-10-22 22:23:10 +00:00
ejcoumans
6303d98844 - use mfc directly, instead of cellDmaSmallGet (allow sizes under 32 bytes, instead of 16)
- align btBroadphaseProxy to 16 bytes
2007-10-16 00:52:23 +00:00
ejcoumans
23921729ea adding padding to broadphase proxy, to make it 16 bytes (helps some platforms to run) 2007-10-15 02:35:55 +00:00
ejcoumans
ffcdb0f93d BulletMultiThreaded needs to refreshContactPoint for contact manifold (this has been moved to the collision detector, instead of constraint solver)
BulletMultiThreaded support function for box shouldn't compensate for the collision margin anymore
2007-10-14 01:51:07 +00:00
ejcoumans
913b141c23 fix some warning, need virtual destructor 2007-10-14 00:12:22 +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
7a1e53935f make MSVC 6 compile, remove 'int i' out of the for loops 2007-10-12 06:34:01 +00:00
ejcoumans
62103c94de fixed growing of hash table, to avoid hard limit on overlapping pairs 2007-10-12 05:53:27 +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
52eb5fa1a4 don't use multisap yet in basic demo.
fix crash in multi sap (due to new pair manager)
2007-10-11 03:32:37 +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
23a197b3dc add alignment for broadphase proxy/handle. need to benchmark this, and check it doesn't degrade the performance on other platforms. Otherwise make it conditional only when USE_LIBSPE2 is defined 2007-10-03 00:41:55 +00:00
ejcoumans
a38de566c6 make sure aligned structures/classes use the btAlignedAlloc/btAlignedFree, by overriding the operator new/delete for that struct/class.
integrated some contributions from IBM Germany for libspe2
2007-09-25 06:41:57 +00:00
ejcoumans
11cfbc489d upgraded version, fixed compiling issues 2007-09-10 01:25:09 +00:00
ejcoumans
b054f375bc - Added serialization to btBvhTriangleMeshShape/btOptimizedBvh. See ConcaveDemo for example usage.
- 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
2007-09-10 01:14:42 +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
0f7193c0f8 fixed MSVC 6 build, thanks Proctoid, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1375
fixed double precision build issues, thanks Alex Silverman, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1434
2007-08-31 23:32:51 +00:00
ejcoumans
7c0abad041 added aabb overlap check for multi SAP broadphase 2007-08-03 01:48:34 +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
177b6f5ce2 Added btUniformScalingShape (including support for debug rendering etc)
This allows to re-use a convex shape, while each instance can re-scale it (with a uniform scalar factor)
2007-07-28 19:20:45 +00:00
ejcoumans
685138d033 include paths should not be relative starting with "../
It leads to problems with certain compilers, when Bullet/src is located in a long pathname.
Keep include path starting with "LinearMath/, "BulletCollision/, or "BulletDynamics/
2007-07-14 05:08:57 +00:00
ejcoumans
7c5164baaf made data protected so derived classes can access it 2007-07-03 23:22:17 +00:00
ejcoumans
5f8873c339 support diamondsubdivision (thanks Jay for contribution)
support user-defined broadphase collision filtering (thanks Marten)
make sure btSimpeDynamicsWorld doesn't use cache friendly optimization in the solver (added an assert, and updated BasicDemo)
2007-06-29 22:13:15 +00:00
ejcoumans
ca24744b9d removed obsolete variables/code 2007-06-19 23:57:25 +00:00
ejcoumans
764087fc4f sign-bit went wrong in case of 32-bit broadphase. Thanks DevO for reporting. 2007-06-01 01:21:44 +00:00
ejcoumans
cf2337ed7b - Fixed a bug in btAxisSweep3 (sweep and prune) related to object removal. Only showed up when at least one btStaticPlaneShape was inserted.
Thanks tbp for more details on reproducing case.
- Fixed issue with full 32bit integers in btAxisSweep3 (define BP_USE_FIXEDPOINT_INT_32), it used only 65536 for quantization, it should use full integer space (0xffffffff)
- Added 'getForwardVector' and getCurrentSpeedKmHour utility functions to btRaycastVehicle
- Fixed local scaling issues (btConvexTriangleMeshShape, btBvhTriangleMeshShape, removed scaling from btMatrix3x3). Thanks Volker for reporting!
- Added second filename search, so that starting BspDemo and ConvexDecompositionDemo from within Visual Studio (without setting the starting path) still works
2007-05-20 16:21:14 +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
853bafb7ae Get the open source Bullet library more in sync with Playstation SPU version 2007-04-10 01:02:58 +00:00