Commit Graph

169 Commits

Author SHA1 Message Date
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
1baa61bc8d function isn't inline 2007-10-11 03:39:49 +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
118ac651dd updated IBM Cell SDK makefiles 2007-10-03 00:42:18 +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
1d43b5ebae changed default stack size to 2 MB. This is still overly conservative probably. Need some deeper investigation on default memory sizes... 2007-09-30 04:43:34 +00:00
ejcoumans
a98ccc839e enable double precision for triangle indices in BT_USE_DOUBLE_PRECISION mode (need to review this) 2007-09-30 02:28:04 +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
08d036afc7 multi-threading improvements: optionally use software caching (IBM/PS3), move some code from cpp to header to inline. 2007-09-20 22:42:56 +00:00
ejcoumans
f50f3ad722 fix for restitution
added preliminary continuous dynamics world (under construction, not ready yet)
fix crash on when restarting simplex demo using spacebar, Thanks Jorrit Tyberghein for reporting!
2007-09-20 05:24:03 +00:00
ejcoumans
a0e92efebb more fixes in serialization/BVH/endianness 2007-09-19 23:04:37 +00:00
ejcoumans
287f11de01 more endianness swapping fun for BVH serialization. 2007-09-19 22:37:22 +00:00
ejcoumans
1d556b9a6c fixed serialization/alignment issue 2007-09-19 22:02:49 +00:00
ejcoumans
9fb6f0af09 added fix for heightfield (division by floating point scalar, instead of integer),
added default aligned alloc/free
2007-09-19 03:19:13 +00:00
ejcoumans
323eed2885 fix in endianness of serialization of BVHs
Thanks Phil Knight!
2007-09-16 05:37:11 +00:00
ejcoumans
2dd54dbfd0 only delete the BVH during re-scaling when we 'own' it.
Thanks Phil Knight for reporting!
2007-09-11 21:18:45 +00:00
ejcoumans
072ee697fd added missing files for Cmake buildsystem 2007-09-11 07:49:08 +00:00
ejcoumans
bd2c83e535 updated version to 2.59, fixed 16 byte alignment for BVH serialization 2007-09-11 06:37:27 +00:00
ejcoumans
cfde010808 fixed memory leaks caused by pool allocator, thanks Dev0 2007-09-10 19:18:50 +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
7f1bf0b78f register sphere-triangle dedicated collision algo by default.
updated projectfiles and ChangeLog.txt
2007-09-08 06:46:01 +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
30b1887f40 added configuration files for collision detection.
this allows to use different collision algorithms by default, and avoid linkage issues.
2007-09-08 03:10:30 +00:00
ejcoumans
1763c8f806 make traversal mode public, so user can change it 2007-09-06 06:49:45 +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
375e428910 updated IBM Cell SDK makefiles 2007-08-18 16:45:06 +00:00
ejcoumans
cdbc95c105 updated IBM Cell SDK makefiles, to use CELL_TOP 2007-08-18 16:36:21 +00:00
ejcoumans
635632acf9 initialize m_islandTag1/m_companionId, thanks Marten 2007-08-13 20:53:02 +00:00
ejcoumans
e7304e6cec added Makefiles for IBM Cell SDK 2.1, thanks to Bruce D'Amora, IBM Watson 2007-08-13 04:18:25 +00:00
ejcoumans
e597eef059 updated version, cmake build, changelog 2007-08-03 05:41:23 +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
5279f9e129 BulletMultiThreaded (SPU/multi-core): added compound shape support and concave-convex (swapped case). Thanks to Marten Svanfeldt 2007-08-02 20:16:58 +00:00
ejcoumans
83395ccc9f updated CMake build files 2007-07-28 21:38:14 +00:00
ejcoumans
871521dd6a updated CMake build for btUniformScalingShape/btConvexInternalShape 2007-07-28 21:31:32 +00:00
ejcoumans
38b7f474c3 Added better support for btUniformScalingShape, by moving some data that is not shared from btConvexShape to btConvexInternalShape. This reduces the sizeof btUniformScalingShape to 16 bytes (from 64).
This is good when having lots of re-used shapes with different sizes.

Convex shapes will need to derive from btConvexInternalShape (which is a subclass of btConvexShape). We could have renamed btConvexShape to 'btConvexShapeInterface' (can still do that later)
2007-07-28 21:10:21 +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
a1fabc4b91 ray hitnormal is already in worldspace for convex objects, but not for trianglemeshes (ray is transformed in local space) 2007-07-27 23:52:33 +00:00
ejcoumans
bf967a458a applied patches from Marten (Starbreeze) for per-rigidbody sleeping thresholds, access to constraint references.
Also added assert, to make sure users don't delete rigidbodies while constraints point to them.
2007-07-26 00:16:06 +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
7eea7092de Applied FSelUsage.patch, thanks a lot Marten Svanfeldt, Starbreeze Studios 2007-07-12 05:28:10 +00:00
ejcoumans
7cd651c266 pass collision shapes as const. fixed some issues with continuous convex cast (resulting hitnormal was not initialized properly, results not proper) 2007-07-11 02:16:39 +00:00
ejcoumans
5c80ff1f7d improved performance by adding constructors to btTransform/btMatrix3x3 to avoid conversions, compoundshape returns const references (instead of duplicate objects)
Thanks Marten Svanfeldt, Starbreeze Studios
2007-07-05 23:48:05 +00:00
ejcoumans
7c5164baaf made data protected so derived classes can access it 2007-07-03 23:22:17 +00:00
ejcoumans
cdc8485db9 updated version, added 'singleObjectQuery' preliminary collision query (convex cast etc)
added filtering for raycast, thanks Jacky_J
const propagated through a few files
added btHeightfieldTerrainShape.cpp to cmake buildsystem
2007-07-03 05:10:20 +00:00