Commit Graph

205 Commits

Author SHA1 Message Date
erwin.coumans
e6c850f13b Fix/improve raycast performance for btBvhTriangleMeshShape (btQuantizedBvh, btOptimizedBvh)
Add raycast acceleration for btAxisSweep3, using btDbvtBroadphase, providing large speedup. Can be disabled in constructor to safe memory.
2008-10-14 20:24:28 +00:00
erwin.coumans
fffca75e9f Make raycast benchmark default, to show improved raycasting performance.
Add rayTest to btBroadphaseInterface, and implement efficient version for btDbvtBroadphase to accelerate raycasting.
btAxisSweep3, btSimpleBroadphase and btMultiSapBroadphase implement brute-force method (as before). For now, it is recommended to use btDbvtBroadphase for fastest world raycast.
2008-10-14 06:23:45 +00:00
erwin.coumans
9ad17dda22 Add aabbMin/aabbMax to broadphase proxy, and improve rayTest performance.
Todo: use broadphase acceleration structure (btDbvtBroadphase etc) for ray test
2008-10-10 17:32:52 +00:00
erwin.coumans
30a13d5b5d updated INSTALL file and btCollisionWorld doxygen, adding ./autogen.sh and make support. 2008-10-04 14:52:01 +00:00
erwin.coumans
0ca2eef022 FIX: use btScalar instead of float, otherwise double precision build breaks
FIX: make Maya plugin compile for Maya 8.0
FIX: btDbvt SSE doesn't compile for double precision builds
2008-10-02 01:17:18 +00:00
erwin.coumans
e590f4a721 fixed some outstanding issues with Bullet soft bodies:
1) re-allocate a pool allocator, if one of the soft body collision algorithms is larger than max pool element size
2) manage child shapes properly, and call RemoveReferences on the m_sparsesdf
2008-09-26 23:39:17 +00:00
erwin.coumans
d7b635cabf logic bug in (de)activation/island management: deactivated 'fantom' objects do merge islands, in particular when connected by constraints. (fantom = object with collision detection but no collision response). 2008-09-23 04:57:20 +00:00
erwin.coumans
d2f7f9d25b make soft bodies more compatible with rigid body API: disable setCollisionShape (it would delete the shape passed in!) 2008-09-21 15:19:54 +00:00
erwin.coumans
58f2747acf fixed and re-enabled sphere-sphere collision: contact points were not properly removed/refreshed. 2008-09-20 22:33:36 +00:00
erwin.coumans
56d88e18f8 disable sphere-sphere collision algorithm, it is buggy.
See also http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=12&t=2636
2008-09-20 01:59:06 +00:00
erwin.coumans
bf5eafb759 make sure Bullet and Blender/extern/bullet2 is in sync 2008-09-17 20:01:01 +00:00
erwin.coumans
c9e5f2df05 fix 64-bit issue, can't cast void* to int. 2008-09-16 06:17:33 +00:00
erwin.coumans
3d2ce530d4 applied patch to make child shape of a compound shape available during ray testing.
Thanks to Benoit Bolsee for the patch: http://code.google.com/p/bullet/issues/detail?id=91
2008-09-13 06:46:53 +00:00
erwin.coumans
fae48b5c25 some more improvements to support basic CCD motion clamping 2008-09-11 23:50:50 +00:00
erwin.coumans
350e2e0393 btDbvtVolume needs to be 16-byte aligned, otherwise SIMD version crashes. 2008-09-11 20:20:31 +00:00
erwin.coumans
93d1d24234 Some changes in rendering, to get shadows for trimeshes
Add dynamic aabb tree (btDbvt) optimization for btCompoundShape/btCompoundCollisionAlgorithm
Add btTransformAabb util, todo: deploy it throughout the codebase
2008-09-10 05:20:04 +00:00
erwin.coumans
aad1d574ef wrong condition: swap the contact normal/results independent from contact manifold owner.
Thanks to ihar3d, http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2588
2008-09-09 22:40:30 +00:00
erwin.coumans
971a060bbb Define btAssert as empty in non-debug builds.
GL_DEPTH_BUFFER_BIT -> GL_DEPTH_TEST, thanks to Mihail Isakov, http://code.google.com/p/bullet/issues/detail?id=86
2008-09-05 06:22:18 +00:00
erwin.coumans
d8a5bf2c9c Calculation of bounding box: margins should be added before basis transform.
Disable btSphereBoxCollisionAlgorithm, it is broken.
More fixes for btSimpleBroadphase
Moved quickstep to Extras/quickstep folder, so developers don't get confused which constraint solver is default.
2008-09-04 22:53:24 +00:00
erwin.coumans
8340a77aa8 ConvexResultCallback::hasHit() and RayResultCallback::hasHit() are both const now.
Developers need to fix their derived classes too!
Thanks to bcsanches, http://code.google.com/p/bullet/issues/detail?id=81&can=1
2008-08-29 05:16:05 +00:00
erwin.coumans
4894f24c9a Fixes for FPU exceptions, thanks to Phil Knight for reporting and John McCutchan for fix/workarounds.
Added new cluster collision methods for soft bodies, thanks to Nathanael Presson.
Enable/disable textures/shadows for specific demos.
2008-08-01 01:04:45 +00:00
erwin.coumans
af4520801b + Fix btSubsimplexConvexCast
Thanks to Nacho, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2422)
Fix in rendering, GL_STENCIL
+ btTriangleIndexVertexArray indices should be unsigned int/unsigned short int,
+ Made InternalProcessAllTriangles virtual, thanks to 
Both thank to Fullmetalcoder, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2401
+clamp impulse for btPoint2PointConstraint
Thanks to Martijn Reuvers, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2418
+ Free memory of bvh, pass in scaling factor (optional)
Thanks to Roy Eltham, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2375
2008-07-31 19:44:28 +00:00
erwin.coumans
9cd83c004b + add dummy getcwd/getenv for PS3 compatibility
+ disable HAVE_SIGNAL_H 0 for LibXML
+ removed unused variable in btCollisionWorld
+ removed unused variable in btSequentialImpulseConstraintSolver
2008-07-28 23:15:43 +00:00
erwin.coumans
884a494412 make the source code compile with older compilers again (Visual Studio 2006 in particular)
renamed btDbvt::Volume to btDbvtVolume and btDbvt::Node to btDbvtNode to distinguish from btSoftBody::Node
2008-07-15 23:27:18 +00:00
erwin.coumans
8f3e9603f3 + fixed issue related to temporary/root collision shape in btCollisionObject
+ normalize plane normal input for btStaticPlaneShape
+ fixed issue related to swapped collision detectors (SphereTriangleDetector in particular)
Thanks a lot to Andrey Tuganov for reporting the issue and his reproduction case ( http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2143 )
2008-07-11 05:39:31 +00:00
john.mccutchan
31dfbf55e1 Compile fixes
Added getOwnsBvh to btBvhTriangleMeshShape
2008-07-10 23:22:29 +00:00
erwin.coumans
1c0fa00bc7 + provide access to 'root' collision shape, in case the original collision shape is temporarily replaced by a child collision shape.
+ added MultiMaterialDemo showing how to use the new btTriangleIndexVertexMaterialArray.
Thanks to Alex Silverman for this contribution!
2008-07-10 22:19:30 +00:00
erwin.coumans
b66e5350d0 rename HasHit method to hasHit
rename AddSingleResult to addSingleResult
moved collision filtering for btCollisionWorld::rayTest and btCollisionWorld::convexSweepTest from argument to the callback needsCollision
2008-07-09 23:30:21 +00:00
erwin.coumans
dcd57f333b + improved KinematicCharacterController
+ improved btSubsimplexConvexCast, btContinuousConvexCollision and btGjkConvexCast to support configuration that start in touching/penetration, required for 'sliding'.
+ added files to CMakeLists.txt for CharacterController
+ bump up version to 2.70 (preparation for beta)
2008-07-09 00:08:49 +00:00
erwin.coumans
52de9fee03 add profiling for 'calculateOverlappingPairs' 2008-06-25 01:26:02 +00:00
erwin.coumans
e854a5133b add support for non-power-of-2 dma sizes (for small dma transfers)
add setBroadphase
2008-06-24 02:15:06 +00:00
erwin.coumans
d16c1b615f pass in reference to actual contact point in cache, rather then temporary value, should fix issue 53
http://code.google.com/p/bullet/issues/detail?id=53
Thanks Alex Silverman for reporting and suggested fix
Changed addContactPoint to lowercase
2008-06-22 03:30:55 +00:00
erwin.coumans
d49aeb9dff + improved split impulse constraint solver option
+ improved friction warm starting
+ made constraint solver configuration more consistent (moved m_solverMode into btContactSolverInfo)
+ reset timing in CDTestFramework after initialization (SAP init destorts timings)
+ make it easier to change default sizes for stack allocator in btDefaultCollisionConfiguration
2008-05-29 03:33:32 +00:00
erwin.coumans
3d32cf7ddf add penetration depth solver for btCollisionWorld::convexSweepTest, to handle touching/penetrating contact (useful for character controller) 2008-05-24 05:22:41 +00:00
erwin.coumans
f8e5481612 Added method to collect all persistent contact manifolds, given a btBroadphasePair (collision algorithm)
virtual	void	getAllContactManifolds(btManifoldArray&	manifoldArray)
See Demos/CharacterDemo/CharacterDemo.cpp for example usage of getAllContactManifolds
Added btDbvtBroadphase to btBulletCollisionCommon.h headerfile
Enable soft body vs concave (albeit slow)
Improved contact point debug rendering (moved from constraint solver into debugDrawWorld)
2008-05-24 04:23:00 +00:00
erwin.coumans
561066af75 + make compound versus soft body work (soft body uses interpolated transform)
+ fixed issue with persistent manifold, warmstarting values were not initialized properly
+ don't clear manifold in sphere-sphere collision (need warmstarting)
+ added support for 'split impulse', decouple positional error correction from velocity correction
This avoids adding momentum due to penetration correction, it can be tuned using following variables:
solverInfo.m_splitImpulse = true/false (disable/enable)
solverInfo.m_splitImpulsePenetrationThreshold (below this value, baumgarte/mixed velocity/penetration is used (cheaper, looks more plausible)
solverInfo.m_linearSlop (less jitter, when small amound of penetration is allowed)
2008-05-23 09:05:37 +00:00
erwin.coumans
6a69fe7f3b use collision margin of btBvhTriangleMeshShape for convexTest.
Thanks to reltham for the contribution.
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2121&p=8454#p8454
2008-05-18 01:15:00 +00:00
erwin.coumans
bd97c5e569 Fixed warnings in Bullet/src core library
Thanks Martijn Reuvers from Two Tribes B.V. (www.twotribes.com) for the patch

To make this work more visible, suppress warnings in external libraries in Extras (COLLADA_DOM, libxml and glui contain many warnings)
Added PreprocessorDefinitions: _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE to vcproj files
2008-05-10 18:00:21 +00:00
erwin.coumans
1139c06a4d more soft body preparations, moved some parts from Demo/SoftBody to src/BulletDynamics/SoftBody
moved Extras/ConvexHull/btConvexHull.* to src/LinearMath/btConvexHull.*
removed btCollisionObject::m_internalOwner, replaced it by m_internalType. This should not affect external API (it was clearly marked as internal)
2008-04-10 20:00:41 +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
883d3278ec + fixed btMinkowskiSumShape Sa+b(v) = Sa(v)-Sb(-v) instead of Sa(v)+Sb(v)
+ fix related btMinkowskiSumShape issue in btSubsimplexConvexCast and btGjkConvexCast
+ add hitpoint for btSubsimplexConvexCast
+ reduce maximum number of iterations in conservative advancement/CCD implementations
2008-04-03 18:35:28 +00:00
erwin.coumans
83c6ea03d1 added btBoxBoxCollisionAlgorithm and btBoxBoxDetector.cpp to core of Bullet under the ZLib license
Thanks to Russell L. Smith from Open Dynamics Library (ODE) to allow re-distribution under ZLib as part of Bullet.
2008-03-30 20:29:26 +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
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
johnmccutchan
1ac223ca2a Properly set normalInWorldSpace and don't doubly rotate normal for convex vs. convex cast.
Fixes this issue: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1784
2008-02-11 19:16:04 +00:00
ejcoumans
fe4e81ebff - support both 32bit and 16bit indices in ColladaConverter
- added triangle part/index into btManifoldPoint
2008-02-09 03:34:53 +00:00
johnmccutchan
d70a25ff6d Apply lsgmasa's fix for convex cast against collision world. 2008-02-08 19:56:46 +00:00
ejcoumans
a4e63aed00 - DemoApplication, debug text rendering was broken, glLoadIdentity() missing
- copy user data over to child shape
- added applied impulse to btManifoldPoint
- add ContactProcessedCallback (needs test/demo)
- didn't copy over m_additionalDampingFactor into btRigidBody.
2008-02-07 08:00:16 +00:00
johnmccutchan
d368ef3d71 Remove name field and replace it with btTypedUserInfo field 2008-02-05 18:55:05 +00:00
johnmccutchan
8fff5c54e9 Added name fields to Collision Object and Shape.
Added name field to Typed Constraint.
Added accessor for gravity in dynamics world.
2008-01-30 01:52:07 +00:00