Bullet 2.63 released: New Pair Cache, GIMPACT 0.3, Libspe2

Open source Bullet Physics SDK release information
Post Reply
User avatar
Erwin Coumans
Site Admin
Posts: 4150
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Bullet 2.63 released: New Pair Cache, GIMPACT 0.3, Libspe2

Post by Erwin Coumans » Sun Oct 14, 2007 2:12 am

Bullet 2.63 has been released, thanks for all contributions and feedback!

Changes/improvements:

- Added fast hashtable-based pair manager to store broadphase collision results. Thanks to Pierre Terdiman for the suggestion, and Erin Catto for some implementation details in his Box2D library.
- Francisco Leon provided the new GIMPACT 0.3 concave mesh collision library.
- BulletColladaConverter is now a separate library in Extras, instead of embedded in the ColladaDemo. Thanks to Srekel for suggestion.
- fix for crash in optional Extras/box-box, related to new pool memory
- Extras/quickstep improvements, thanks to Remotion
- General performance improvements and minor fixes.
- made 'calculateLocalInertia' const, thanks to cgripeos
- modified some margins inside btBoxShape, btCylinderShape and btSphereShape
- added cone debug rendering (for cones with x, y and z up-axis)
- added improvements for optional Extra/quickstep, thanks to Remotion
- some performance improvements for Bullet constraint solver
- moved 'refreshContactPoints' into the collision detector, instead of constraint solver
- cleanup of many warnings, thanks Enrico
- Libspe2 support of BulletMultiThreaded collision detection for Cell SPUs on IBM CellBlade and PS3 Linux. Thanks Minh Cuong Tran, Benjamin Hoeferlin, Frederick Roth and Martina Huellmann from IBM Extreme Blue (http://www-913.ibm.com/employment/us/extremeblue/)


Download Bullet-2.63 here.

Enjoy!
Erwin

topcomer
Posts: 32
Joined: Thu Sep 21, 2006 1:53 pm
Location: sweden but italian

Re: Bullet 2.63 released: New Pair Cache, GIMPACT 0.3, Libspe2

Post by topcomer » Wed Oct 24, 2007 8:10 pm

are these changes related to kinematic vs dynamic collisions? I just ported my code from 2.6.2 to 2.6.3 and kinematic bodies collide with static objects but not with dynamics, so before looking for the problem I'd like to know if this could be due to some new major change.

thanks for the help,
alessio

User avatar
Erwin Coumans
Site Admin
Posts: 4150
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Bullet 2.63 released: New Pair Cache, GIMPACT 0.3, Libspe2

Post by Erwin Coumans » Thu Oct 25, 2007 7:19 am

Not sure what can cause your issue. Can you reproduce it in a Bullet demo, CcdPhysicsDemo? That has a kinematic moving floor with dynamic objects, if you enable the #define USE_KINEMATIC_GROUND

Does Bullet 2.64 RC2 still have this issue?

Thanks for the report!
Erwin

topcomer
Posts: 32
Joined: Thu Sep 21, 2006 1:53 pm
Location: sweden but italian

Re: Bullet 2.63 released: New Pair Cache, GIMPACT 0.3, Libspe2

Post by topcomer » Thu Oct 25, 2007 8:58 am

Erwin Coumans wrote:Not sure what can cause your issue. Can you reproduce it in a Bullet demo, CcdPhysicsDemo? That has a kinematic moving floor with dynamic objects, if you enable the #define USE_KINEMATIC_GROUND

Does Bullet 2.64 RC2 still have this issue?

Thanks for the report!
Erwin
the issue appears in a virgin version of 2.63 inside movingConcaveDemo just adding:

body->setCollisionFlags( body->getCollisionFlags() | btCollisionObject::CF_KINEMATIC_OBJECT );
body->setActivationState(DISABLE_DEACTIVATION);

inside shootTrimesh(). if I try the CcdPhysicsDemo together with #define USE_KINEMATIC_GROUND I see that the floor slides but I can't see objects penetrating the ground.

alessio

EDIT: just tried the 2.64, the issue is still present.

User avatar
Erwin Coumans
Site Admin
Posts: 4150
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Bullet 2.63 released: New Pair Cache, GIMPACT 0.3, Libspe2

Post by Erwin Coumans » Fri Oct 26, 2007 2:40 pm

topcomer wrote: the issue appears in a virgin version of 2.63 inside movingConcaveDemo just adding:
body->setCollisionFlags( body->getCollisionFlags() | btCollisionObject::CF_KINEMATIC_OBJECT );
body->setActivationState(DISABLE_DEACTIVATION);
inside shootTrimesh().
Kinematic objects are supposed to have a mass of 0. Only dynamic objects have non-zero mass. Some assert should be added to avoid this confusion.
if I try the CcdPhysicsDemo together with #define USE_KINEMATIC_GROUND I see that the floor slides but I can't see objects penetrating the ground.
If you enable #define USE_KINEMATIC_GROUND in CcdPhysicsDemo, the ground is supposed to move/animate sideways kinematically moved, while the rigidbodies are following the ground motion due to friction. This works fine here, objects are not supposed to penetrate the kinematically moved ground, and they don't here.

Can you explain more in detail how you want to use this feature exactly?
Thanks,
Erwin

topcomer
Posts: 32
Joined: Thu Sep 21, 2006 1:53 pm
Location: sweden but italian

Re: Bullet 2.63 released: New Pair Cache, GIMPACT 0.3, Libspe2

Post by topcomer » Fri Oct 26, 2007 3:28 pm

Erwin Coumans wrote:
topcomer wrote: the issue appears in a virgin version of 2.63 inside movingConcaveDemo just adding:
body->setCollisionFlags( body->getCollisionFlags() | btCollisionObject::CF_KINEMATIC_OBJECT );
body->setActivationState(DISABLE_DEACTIVATION);
inside shootTrimesh().
Kinematic objects are supposed to have a mass of 0. Only dynamic objects have non-zero mass. Some assert should be added to avoid this confusion.
Thanks for the reply. Well yes I have only posted the smallest and simplest modification to the demo that causes the problem (which was perfectly fine in 2.62).
Erwin Coumans wrote:
topcomer wrote: if I try the CcdPhysicsDemo together with #define USE_KINEMATIC_GROUND I see that the floor slides but I can't see objects penetrating the ground.
If you enable #define USE_KINEMATIC_GROUND in CcdPhysicsDemo, the ground is supposed to move/animate sideways kinematically moved, while the rigidbodies are following the ground motion due to friction. This works fine here, objects are not supposed to penetrate the kinematically moved ground, and they don't here.

Can you explain more in detail how you want to use this feature exactly?
Thanks,
Erwin
I want to move the trimesh of the kinematic object using an external solver, while performing Bullet collision detection on the trimesh shape.

Alessio

Post Reply