Commit Graph

76 Commits

Author SHA1 Message Date
ejcoumans
b70f5cda39 more demo cleanup 2007-11-01 06:01:07 +00:00
ejcoumans
f3424f491c cleanup memory in CcdPhysicsDemo, RagdollDemo, ConcaveDemo, BspDemo (work in progress) 2007-11-01 05:50:50 +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
c36133cbd5 - removed obsolete/unused method in btTransform.h
- enable pause mode in AllBulletDemos.
- allow verbose output of time stepping in CcdPhysicsDemo
2007-10-27 00:17:20 +00:00
ejcoumans
aa28f8c223 Updated allbulletdemos glui framework, to work better with DemoApplication. 2007-10-23 02:22:18 +00:00
ejcoumans
ed342ede3b moved FrameWork into Demos folder 2007-10-21 05:59:16 +00:00
ejcoumans
095f5f42a9 allow some existing demos to run in the TestFrameWork 2007-10-21 04:22:43 +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
31f1ba8e47 Added support for IBM CELL SDK (Playstation 3 Linux, CellBlade) SPU Libspe2 compilation/linking. It runs but gives a bus-error, so some DMA alignment issue is still there.
This is interesting, because the same code runs fine on Playstation 3 with the Game SDK.
2007-10-15 01:07:49 +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
71abe4aeca reduced number of sphere in Basic demo, some system have slow rendering of spheres.
removed another warning.
2007-10-14 00:18:49 +00:00
ejcoumans
b0744efbce fixed demo, accidently committed some testing configuration 2007-10-12 06:16:23 +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
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
ec22825e65 added parallel solver (work in progress) and made modifications to demo/constraints to allow for getting the type without using virtual functions (needed on CELL SPU processors) 2007-08-12 17:27:33 +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
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
40a6009342 need to register 'triangle sphere' collision algorithm with types in right order.
Thanks Stephen Marshall for pointing this out.
2007-06-22 17:40:57 +00:00
ejcoumans
b958c1fbcb 2007-06-01 02:09:39 +00:00
ejcoumans
3a09be8ea7 fix: timestep is not fixed by default 2007-03-21 16:16:13 +00:00
ejcoumans
c1a54d9edc Attempts to improve performance. Not much gain yet, but good to experiment what has effect and what hasn't.
Added 'DO_BENCHMARK_PYRAMID' to CcdPhysicsDemo.
2007-03-20 20:12:23 +00:00
ejcoumans
054d672592 - removed STL from the Bullet library: replace std::vector by btAlignedObjectArray. Also removed the std::set for overlapping pair set, and turned it into an overlapping pair array. The SAP only adds objects, never removed. Removal is postponed for during traversal of overlapping pairs (duplicates and non-overlapping pairs are removed during that traversal).
- added heap sort and binary search/linear search to btAlignedObjectArray
- fixed wrong cast, thanks Hamstray, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1015
2007-03-06 09:59:17 +00:00
ejcoumans
e610598d33 - Added compressed/quantized AABB tree, 16 bytes per node, while supporting 32-bit (triangle) indices. Should be faster and smaller then original version (quantized aabb check is done in integer space)
Original aabb nodes are 44 bytes (with full floating point precision and additional part index)
- added meter-unit scaling support in ColladaConverter.cpp
2007-02-25 06:11:23 +00:00
ejcoumans
a5bf6a1254 use solvermode 'randomized' and not warmstarting 2007-02-13 16:47:04 +00:00
ejcoumans
581468ceec Added btCapsuleShape. This could already be simulated by simply adding 2 spheres to the btMultiSphereShape, but this was bad documented/unknown.
For tapered capsules, you can still use btMultiSphereShape, just pass 2 spheres with different radius.
2007-01-30 00:09:08 +00:00
ejcoumans
df9230327c Contribution to add optional double precision floating point support. Define BT_USE_DOUBLE_PRECISION for all involved libraries/apps. 2006-12-16 05:51:30 +00:00
ejcoumans
b6d1b4c94e Added btNearCallback. This is similar to Open Dynamics Engine (ODE) dNearCallback, but important differences:
- contact points are persistent (lifetime more then one frame, for warmstarting/incremental contact point management)
- continuous collision detection, time of impact
Added btRigidBody::isInWorld(), returns true if btRigidBody is inside a btCollisionWorld/btDynamicsWorld derived class
Added angularFactor to btRigidbody, this helps some character control (no angular impulse applied)
2006-12-04 15:42:03 +00:00
ejcoumans
8cbd721a1f added some brute-force way to shrink convex polyhedra (to compensate collision margin)
made Extra/EPA compile again, updated Pierre's testbed to compile out-of-the-box
2006-11-11 03:22:15 +00:00
ejcoumans
c3ed55057c - added linear limits to btGeneric6DofConstraint and made sure the linear axis are in local space of objectA
- use microseconds instead of milliseconds for deltatime
2006-11-07 02:32:52 +00:00
ejcoumans
23c64fb0db more solver experiments, randomize the order of contact points, not just manifolds
use #defines for constants, rather then const btScalar
2006-11-04 05:22:36 +00:00
ejcoumans
07873854a4 more small refactoring: some methods were still upper-case. 2006-11-03 04:32:48 +00:00
ejcoumans
4050da0e2f One of the last parts of the refactoring (hopefully), made most members of btCollisionObject protected.
Also did some work on improving the constraint solver.
2006-11-02 03:42:53 +00:00
ejcoumans
b14ccdaa57 rename treshold into thresold (spelling mistake)
added cr/linefeed at end of btDefaultMotionState.h
2006-10-30 05:06:46 +00:00
ejcoumans
caca3a1ca2 commented out some unused headerfile in the demo 2006-10-28 02:17:54 +00:00
ejcoumans
3fe3b11924 use Dispatcher in ConcaveConvexCollisionAlgorithm (so it uses the registered collision algorithm, not hardcoded convexconcave)
improved performance of constraint solver by precalculating the cross product/impulse arm
added collision comparison code: ODE box-box, also sphere-triangle
added safety check into GJK, and an assert for AABB's that are very large
write partid/triangle index outside of GJK
2006-10-28 02:06:19 +00:00
ejcoumans
289c5ca7fe improvements/bugfixes related to kinematic(animated) objects, synchronizeMotionStates 2006-10-19 15:20:38 +00:00
ejcoumans
3a6942fb91 processed a lot of feedback: added 'realtime' simulation with fixed substeps (and clamping maximum number of substeps), this means that when stepSimulation is called with smaller timesteps then 'fixed substep' the motionstate is interpolated.
renamed m_ccdSweptSphereRadius,
enabled wireframe debugDrawObject (using debugDrawer)
2006-10-18 03:28:42 +00:00
ejcoumans
b476223c45 added/documented some options 2006-10-14 00:16:55 +00:00
ejcoumans
3db4afa4ec disable comparison by default 2006-10-14 00:06:46 +00:00
ejcoumans
d878885db4 updated quickstep solver (for comparison), enabled GPU physics again (but WIN32 doesn't have the VertexTextureSupport enabled) 2006-10-13 23:58:52 +00:00
ejcoumans
bf847b839a another large series of changes, related to the refactoring.
CompoundShapes are tricky to manage with respect to persistent contact points and swapped order of btCollisionObjects,
During dispatch, finding an algorith etc. order can be swapped.
fixed several other issues, related to SimpleBroadphase (removing a proxy was not working)
2006-10-06 05:22:13 +00:00
ejcoumans
323a1046fd Cleaned up/simplified construction of a btRigidBody
Fixed memoryleak in btOptimizedBvh (delete []m_contiguousNodes;)
Changed DemoApplication::localCreateRigidBody, so it adds the rigidbody to the btDynamicsWorld.
Added check for duplicate objects in world when adding.
Added assert to prevent setLinearVelocity on static rigidbodies
Added btCollisionFilterGroups to btBroadphaseProxy
removed duplicate 'btBroadphaseProxy*	m_broadphaseProxy;' in btRigidBody
2006-10-04 23:46:27 +00:00
ejcoumans
d38549aa54 more refactoring, removed PhysicsInterface, cleaned up demos to make use of btDynamicsWorld derived classes.
removed two cached optimizations, type in btTransform and cached inverse transform (todo: test performance impact)
committed fixes that make the code adhere to 'who creates it, also destroys it'
2006-09-30 01:36:39 +00:00
ejcoumans
2b1657b1dd Refactoring: another huge number of changes, renamed methods to start with lower-case. 2006-09-28 01:11:16 +00:00
ejcoumans
eb23bb5c0c merged most of the changes from the branch into trunk, except for COLLADA, libxml and glut glitches.
Still need to verify to make sure no unwanted renaming is introduced.
2006-09-27 20:43:51 +00:00
ejcoumans
0e04cfc806 First stage in refactoring Bullet: moved Bullet Collision and Dynamics and LinearMath into src folder, and all files in Collision Detection and Dynamics have bt prefix.
Made all buildsystems to work again (jam, msvc, cmake)
2006-09-25 08:58:57 +00:00
sjbaker
f1627677df Fixed over 500 compile warnings. Mostly:
* Unused variables.
* Missing newlines at ends of #included files.
* signed int loop variables where the termination condition is an unsigned 'get number of' function.
* 'NULL' used inappropriately for an integer or character constant (NULL is a pointer)
* abstract base classes with no virtual destructor.
* Floating point constants used to initialise integer variables.
2006-09-23 14:51:54 +00:00
ejcoumans
5ed0cf5b7f improved performance, and allowed custom friction and contact solver models. See CcdPhysicsDemo #define USER_DEFINED_FRICTION_MODEL 2006-09-20 00:49:33 +00:00