Commit Graph

113 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
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
ejcoumans
63dc666bf6 fix for static planeshape and spheres, need to use the getSupportingVertex with margin for proper contact point location. 2008-01-23 02:42:14 +00:00
johnmccutchan
15cdd9de8e Rename btCollisionWorld::convexTest to btCollisionWorld::convexSweepTest. The new test sweeps the convex shape against all objects in the world taking into account the orientation specified in the from and to transformations. 2008-01-11 20:18:29 +00:00
ejcoumans
17a214a2b3 - Added btRigidBodyConstructionInfo, to make it easier to set individual setting (and leave other untouched) during rigid body construction.
This was harder using default arguments. Thanks Vangelis Kokkevis for pointing this out.
- Fixed memoryleak in the ConstraintDemo and Raytracer demo.
- fixed issue with clearing forces/gravity at the end of the stepSimulation, instead of during internalSingleStepSimulation.
Thanks chunky for pointing this out: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1780
- Disabled additional damping in rigid body by default, but enable it in most demos. Set btRigidBodyConstructionInfo m_additionalDamping to true to enable this.
- Removed obsolete QUICKPROF BEGIN/END_PROFILE, and enabled BT_PROFILE. Profiling is enabled by default (see Bullet/Demos/OpenGL/DemoApplication.cpp how to use this).
User can switch off profiling by enabling define BT_NO_PROFILE in Bullet/src/btQuickprof.h.
2007-12-17 04:26:36 +00:00
ejcoumans
61ffa6a1b5 Updated cmake files, added header files, Thanks John McCutchan
re-autogenerated msvc projectfiles with new HelloWorld/BulletMultiThreaded Demo 
Minor fixes
2007-12-15 02:48:24 +00:00
ejcoumans
961c38269b Added address to debug memory allocator
Renamed 'free' in 'freeMemory' to avoid name clashes with some Microsoft debugging tools.
2007-12-14 01:45:13 +00:00
ejcoumans
4c69ee93e2 small improvement in btConvexPlaneCollisionAlgorithm 2007-12-11 23:35:37 +00:00
ejcoumans
a7e04dbdc2 Added faster and more robust support for btStaticPlaneShape 2007-12-11 23:13:29 +00:00
ejcoumans
a537fb68b6 fixes in btCollisionWorld and Raytracer, to allow 'all hits' (work in progress) 2007-12-11 03:00:53 +00:00
ejcoumans
c1c01ff1a0 Use btContinuousConvexCollision instead of btGjkConvexCast (has issues in btCollisionWorld::objectQuerySingle)
Fixes in btHeightfieldTerrainShape, thanks Jay Lee.
2007-12-11 00:38:13 +00:00
ejcoumans
a45912e39c move updateAabbs from dynamics world to collision world 2007-12-10 02:59:04 +00:00
johnmccutchan
513a055035 Use proper rotation for computing local aabb for convex cast shape.
Propagate hit point from convex caster to world callback [work in progress].
2007-12-07 21:22:38 +00:00
ejcoumans
a4bc26544c add support for generic concave shapes for convex cast.
minor improvement in ray cast demo.
Thanks John McCutchan (JMC)
2007-12-07 19:21:16 +00:00
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
1245995c84 Added convex cast query to collision world.
Thanks to John McCutchan (JMC)
2007-12-06 00:51:24 +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
e252f5cadd Bugfix: allow btCollisionObjects (non-btRigidBody) to interact properly with btRigidBody for cache-friendly btSequentialImpulseConstraintSolver.
Thanks Andy O'Neil for pointing this out.
2007-11-28 03:17:09 +00:00
ejcoumans
5c1609fb23 don't fail if spheres have identical center, use arbitrary separating normal (1,0,0)
Thanks Sean Tasker for reporting!
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1681
2007-11-21 04:17:00 +00:00
ejcoumans
cab75b53ec added hierarchical profiling (needs more cleanup)
avoid dynamic allocations in btRaycastVehicle
2007-11-21 03:00:40 +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
e7caaa28d3 re-organized memory (stack and pool) allocators. this lets the user pass in their own memory allocators. 2007-10-20 02:23:39 +00:00
ejcoumans
1e4e52306f don't crash when running out of pool memory, just use btAlignedAlloc/btAlignedFree instead 2007-10-19 21:25:58 +00:00
ejcoumans
b5a498e8bf add get method for persistent manifold 2007-10-16 20:00:34 +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
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
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
cfde010808 fixed memory leaks caused by pool allocator, thanks Dev0 2007-09-10 19:18:50 +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
635632acf9 initialize m_islandTag1/m_companionId, thanks Marten 2007-08-13 20:53:02 +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
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
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