Commit Graph

96 Commits

Author SHA1 Message Date
ejcoumans
6f80b98a67 - fix issue with convex cast: results further away (larger hitfraction) could overwrite closer results
- minor naming convention thing (variables start with lower case)
- renamed MotorDemo
- added ConcaveConvexcastDemo, Thanks John McCutchan (JMC)
2007-12-06 02:54:29 +00:00
ejcoumans
d53f2875e5 minor fixes, only btBvhTriangleMeshShape should provide getShapeType(), add get methods for motor limits in btHingeConstraint. 2007-12-06 01:41:07 +00:00
ejcoumans
1245995c84 Added convex cast query to collision world.
Thanks to John McCutchan (JMC)
2007-12-06 00:51:24 +00:00
ejcoumans
86f0575291 fixed misleading name 'numTriangleIndices' into 'numTriangles', thanks Sean Tasker for reporting:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1733
2007-11-30 06:59:12 +00:00
ejcoumans
f2c9588969 Added raycast against trianglemesh. Will be extended to object cast soon.
Thanks John Rowe (JMC)
2007-11-29 21:24:51 +00:00
ejcoumans
174f6009bb make getNumPoints const correct, add const getPoints(). Thanks Dirk
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1725
2007-11-28 20:14:01 +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
7ef4eab189 use better tolerance, instead of hard-coded 0.0001 inside the btMultiSphereShape supporting vector implementation.
Thanks to Phil Knight for reporting and fixing this issue (it could lead to failing collisions under certain conditions).
2007-11-07 13:39:05 +00:00
ejcoumans
282cbdcdd9 applied patch contributed by Tim Johansson: adds support for multiple mesh parts in combination with bvh, add short index support for meshes. 2007-11-06 06:47:04 +00:00
ejcoumans
e755d1ed4e added some comments, to clarify unit-test/brute force implementations. 2007-11-02 01:14:29 +00:00
ejcoumans
0723448895 disabled btTriangleMeshShape, to avoid usage, it is very slow performing for larger triangle meshes. Please use the derived btBvhTriangleMeshShape instead. 2007-11-01 23:59:22 +00:00
ejcoumans
f3424f491c cleanup memory in CcdPhysicsDemo, RagdollDemo, ConcaveDemo, BspDemo (work in progress) 2007-11-01 05:50:50 +00:00
ejcoumans
d17a8dae0e updated autogenerated msvc projectfiles, moved destructor in CPP file, it was causing some random crash under msvc 6.0 (todo find out why) 2007-10-25 05:11:19 +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
c80d1532f6 made access to mesh interface more consistent, so btConvexTriangleMeshShape uses also 'getMeshInterface', similar to btTriangleMeshShape.
Thanks Et3D for pointing this out here: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1590
2007-10-21 21:04:04 +00:00
ejcoumans
dbe502c5a8 prepare for Box2D style gui demo 2007-10-18 06:37:36 +00:00
ejcoumans
239d88985f fix for heightfield, thanks SMJ/Spangle and Jay Lee for testing.
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1482
2007-10-16 21:57:05 +00:00
ejcoumans
715611060d integrated StressTest into BasicDemo. 2007-10-14 00:03:10 +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
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
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
bd2c83e535 updated version to 2.59, fixed 16 byte alignment for BVH serialization 2007-09-11 06:37:27 +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
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
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
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
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
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
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
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
114bfad68f made some improvements based on feedback.
- made getHeightFieldValue virtual (allows custom heightfield formats)
- don't use shorts, just full integers (no reason to limit the terrain size to 65536)
2007-06-28 20:40:54 +00:00
ejcoumans
ced94d63bf Thanks to Mårten Svanfeldt for the contribution:
- optionally disable collisions between bodies that are linked with constraints
- improved debug rendering with support for compounds, spheres, capsules
2007-06-28 19:14:30 +00:00
ejcoumans
a0c5401033 bugfix, wrongly assigned value to a local variable (copy/paste bug).
Thanks binofet, see http://continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=366
2007-06-28 00:05:14 +00:00
ejcoumans
cad28a8b35 allow for float data, and prepare for 'quad edge flip', either re-use the first triangle vertex, or second (re-use index 00 or 01) 2007-06-27 19:56:18 +00:00
ejcoumans
3ca6d7385e basic support for height fields. They are producing temporary triangles, similar to the plane shape. 2007-06-27 03:19:34 +00:00
ejcoumans
272a7dfac4 More work on multi-threaded version, fixed alignment issues in DMA.
BulletMultiThreaded shared implementation works now on both Win32 Threads and PS3 Cell SPU.
2007-06-16 02:06:24 +00:00