add sphere2.urdf
move btSpatialAlgebra into LinearMath
remove some warnings, introduce BT_ZERO, BT_ONE, BT_HALF as defines for 0.f/0., 1.f/1., 0.5f/0.5 respectively
Will also add Erin Catto's local implicit version from the GDC 2015 tutorial
Added demo for btGeneric6DofSpring2Constraint, thanks to Gabor Puhr
Add gfxBridge.autogenerateGraphicsObjects method for Bullet 2 demos in new framework (need to implement all Bullet 2 collision shape types...)
Use 1,1,1 for local scaling in btStaticPlaneShape
to the rest of the Bullet code base. This code will replace the original GJK/EPA
in a future commit.
Added btMprPenetration, an implementation of Minkowski Portal Refinement
by Daniel Fiser. Original MPR idea is by Gary Snethen, and the first
implementation is here: https://github.com/erwincoumans/xenocollide
It is an alternative to EPA, although computing the local penetration depth.
EPA computes the global penetration depth. In many cases, MPR is sufficient
and performs better than EPA.
Share physics setup of BasicDemo between different graphics frameworks, see Demos\BasicDemo\BasicDemoPhysicsSetup.*
Plan is to do this for all Bullet demos.
Improve gwen performance and cursor navigation for tree control.
tweak shadowmap size
SimpleOpenGL3App::registerCubeShape accepts half extents
Add btCollisionObject::setIgnoreCollisionCheck to disable collisions between specific instances, without having a btTypedConstraint. See https://github.com/bulletphysics/bullet3/issues/165
Make btMultiBody and btMultiBodyJointMotor backwards compatible with Bullet 2.82 API (single-DOF API)
Use statically linked freeglut, instead of dynamic glut for the obsolete Bullet 2.x demos
Add the 'reset' method to b3GpuDynamicsWorld, and use it in the BasicGpuDemo (pretty slow in debug mode, use release mode)
Don't crash in btCollisionWorld, if there is no collision dispatcher
The original version was written by Stephen Thompson.
I replaced Eigen math by Bullet LinearMath, and added a dedicated 6x6 matrix solver.
Also I integrated support for collisions/contact constraints between btMultiBody and btRigidBody, and de-activation support.
See Demos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp for example usage.
There is currently only support for contact constraints for btMultiBody.
Next on the list will be adding support for joint limit constraint for btMultiBody.
The implementation is still experimental/untested, the quality will improve in upcoming Bullet releases.
fix vehicle demo (heightfield is broken, when using very large scaling factor)
add btConeShape serialization, see Issue 725
add btGearConstraint get/set, see Issue 685 and Issue 671
rayResult.m_flags |= btTriangleRaycastCallback::kF_UseGjkConvexRaytest;
See Demos/RaytestDemo/RaytestDemo.cpp for usage
This fixes issue 146, longest outstanding from 2008.
with hash pair caching and tandem tree traversal. It should be much faster, when using many child shapes for both compounds.
Fix iOS compilation, added header.
Enable btGImpact raycast optimization, thanks to C0DEFACE, see Issue 664
Cull triangle/AABB for concave/heightfield shapes, thanks to Danny Chapman
fix btGetCpuCapabilities, thanks to Ian Ollman! See https://code.google.com/p/bullet/issues/detail?id=738
(converted raw data to .cpp so it doesn't need to be loaded from disk)
Some optimizations for btHeightfieldShape, thanks to Danny Chapman
Quick check on AABB (was not done) and reduce calls to 'getVertex'
In some degenerate cases the contact normal is pointing the wrong direction
so fix it now (until we can deal with all degenerate cases in GJK and EPA)
contact normals need to point from B to A in all cases, so we can simply check if the contact normal really points from B to A
We like to use a dot product of the normal against the difference of the centroids,
once the centroid is available in the API
until then we use the center of the aabb to approximate the centroid
The idea is to create tetrahedra from each surface triangle, by moving its centroid inwards along the collision normal using depth.
If the centroid hits an internal triangle, it will stop there.
The commit also includes part of the gimpact raycast performance improvement, except for the actual btCollisionWorld part
(that file was out-of-date and needs manual patching)