- 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.
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)
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
added preliminary continuous dynamics world (under construction, not ready yet)
fix crash on when restarting simplex demo using spacebar, Thanks Jorrit Tyberghein for reporting!
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);
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/
- optionally disable collisions between bodies that are linked with constraints
- improved debug rendering with support for compounds, spheres, capsules
Thanks Jay for reporting
Added braking capability to btRaycastVehicle, see Bullet/Demos/VehicleDemo/VehicleDemo.cpp
Added glutKeyboardUpFunc, for vehicle demo (keep accelerating/breaking, until key released/UP). Hope this is compatible with most GLUT implementations.
sortedConstraints.heapSort(btAlignedObjectArray<btTypedConstraint*>::less());
should be
sortedConstraints.heapSort(btSortConstraintOnIslandPredicate);
Thanks Clemens Unterkofler for pointing this out!
eg:
bulletmath_suffix="-lbulletmath"
bulletcollision_suffix="-lbulletcollision"
bulletdynamics_suffix="-lbulletdynamics"
dnl Check bulletmath library
AC_CHECK_LIB(bulletmath, btBulletMathProbe, true,
AC_MSG_ERROR([there seems to be a problem with the bulletmath library]))
LIBS="$bulletmath_suffix $LIBS"
dnl Check bulletcollision library
AC_CHECK_LIB(bulletcollision, btBulletCollisionProbe, true,
AC_MSG_ERROR([there seems to be a problem with the bulletcollision library]))
LIBS="$bulletcollision_suffix $LIBS"
dnl Check bulletdynamics library
AC_CHECK_LIB(bulletdynamics, btBulletDynamicsProbe, true,
AC_MSG_ERROR([there seems to be a problem with the bulletdynamics library]))
LIBS="$bulletdynamics_suffix $LIBS"
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
- 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)
Added btStackAlloc to Bullet (right now only used by btGjkEpa)
removed default constructors of btCollisionWorld/btDiscreteDynamicsWorld, to reduce link-time dependencies
Improved vehicle interpolation of wheels, and added Z-up axis option for the Demo
made 'getWorldTransform' const method in btMotionState
added future 'deactivationCallback'(not used yet)