Commit Graph

122 Commits

Author SHA1 Message Date
ejcoumans
a71e9c3e5a fixed issue with de-normalized quaternion, causing acosf to fail
See http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1440
Thanks Proctoid for reporting.
2007-09-11 02:49:39 +00:00
ejcoumans
ab33083a9c make visual studio 6 compile/run (doesn't support 'long long int', so replace by char* pointers... 2007-09-10 01:53:07 +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
7eea7092de Applied FSelUsage.patch, thanks a lot Marten Svanfeldt, Starbreeze Studios 2007-07-12 05:28:10 +00:00
ejcoumans
e4363b6e2b added ConstraintSolver/btConeTwistConstraint.cpp to allow for ragdolls
improved hinge constraint: adds limits
added btAtan2Fast
quaternion helper functions
All thanks to Starbreeze Studios / Marcus Hennix, Marten Svanfeldt
2007-07-05 23:17:13 +00:00
ejcoumans
485677513b minor platform dependent fixes to allow compilation under Xenon 2007-06-29 22:30:05 +00:00
ejcoumans
853bafb7ae Get the open source Bullet library more in sync with Playstation SPU version 2007-04-10 01:02:58 +00:00
ejcoumans
f199cd1347 make visual studio 6 compile again 2007-03-20 05:06:01 +00:00
sjbaker
a4a3474fb5 The macro 'btFullAssert' is used like this:
btFullAssert ( yadda_yadda ) ;

...in the btScalar.h header, it's defined as:

    #define btFullAssert

...which means that the statement above becomes:

    ( yadda_yadda ) ;

...which means that code may actually be compiled and executed (unnecessarily) - and even when the code is something simple like:

    ( i > 0 && i < 3 ) ;

...the GCC tosses out a 'statement with no effect' warning - before
it optimises away the code.

The fix is:

   #define btFullAssert(x)

...so that the macro still takes a parameter which is now removed
from the sources so you get:

    ;

...which is guaranteed not to generate code.
2007-03-06 18:06:28 +00:00
ejcoumans
b73900bc60 Improved performance of convex collision shapes, cache local AABB instead of recomputation. This fixes issue with very slow performance in larger .bsp levels.
Moved some asserts into 'btFullAssert', which is disabled by default (see btScalar.h to enable them). This is to speed-up debugging.
2007-02-26 04:59:05 +00:00
ejcoumans
34c979bd02 double precision mode uses double precision epsilons/maximum (DBL_EPSILON instead of FLT_EPSILON) 2007-02-14 04:12:32 +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
6dff5a218e process contact and non-contact constraints inside the same iteration loop
added first draft for hingeConstraint motor
2006-12-12 03:15:11 +00:00
ejcoumans
5a5ba572a7 multi-platform issues with allocator 2006-12-06 04:51:13 +00:00
ejcoumans
bf591b44ec Replaced most STL std::vector with btAlignedObjectArray.
Same interface but less features (push_back, pop_back, clear, size, [] etc).
To prepare for SIMD/SSE code: Added 		#define ATTRIBUTE_ALIGNED16(a) __declspec(align(16)) a
2006-12-06 04:22:36 +00:00
ejcoumans
6738ed329d ASSERT -> btAssert
Added btStackAlloc to Bullet (right now only used by btGjkEpa)
removed default constructors of btCollisionWorld/btDiscreteDynamicsWorld, to reduce link-time dependencies
2006-11-29 01:52:09 +00:00
ejcoumans
6d47d9492e added non-uniform scaling to btMultiSphereShape
added ray-aabb check
modified Raycast demo to be more useful for debugging collision shapes
2006-11-09 01:58:33 +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
2c66be25fc added cleanup memory for BasicDemo, and another pragma warning ignore 2006-10-13 23:24:09 +00:00
ejcoumans
0d7c960eb6 removed #undef max
was leftover/redundant, thanks for reporting Jack
2006-09-29 15:20:45 +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