Bullet 2.69 BETA1 Physics SDK released

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

Bullet 2.69 BETA1 Physics SDK released

Post by Erwin Coumans »

http://code.google.com/p/bullet/downloads/list

+ Added split impulse support, penetration recovery won't add momentum
+ Enabled new btGjkEpa2 penetration depth solver, thanks to Nathanael
+ Provide access to all persistent manifolds for a given btBroadphasePair
+ Added linear and angular motor for btSliderConstraint
+ Add penetration depth test for convexSweepTest
+ removed several warnings for Windows build, thanks to Martijn Reuvers
+ Added Mac Cocoa Xcode project, thanks to TomorrowPlus
+ Added new btDbvtBroadphase, based on dynamic AABB tree. It has the capability to do view frustum culling and front-to-back traversal. See Extras\CDTestFramework for view frustum culling sample.
+ cloth/soft body improvements: picking (pick and drag), tearing (click and release without mouse move), preliminary support for btSoftBody versus compound and concave trimesh
+ use collision margin of btBvhTriangleMeshShape for convexTest, Thanks to reltham for the contribution.
+ added custom memory allocator registration, thanks to Sly.

Subversion revision 1171

Feedback is welcome,
Erwin
DevO
Posts: 95
Joined: Fri Mar 31, 2006 7:13 pm

Re: Bullet 2.69 BETA1 Physics SDK released

Post by DevO »

Thanks for this release!

Split impulse seems to work well in my tests.

The one new problem I have discovered until now in this release.
If you place two capsule on the one vertical line and let them fall on the ground then there will be no collision.
This could be problem of new btGjkEpa2 penetration depth solver.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Bullet 2.69 BETA1 Physics SDK released

Post by Erwin Coumans »

We fixed some issues related to this, can you please try Beta 2?

Also, we look into improving performance issues, due to split impulse.

Thanks for the report,
Erwin
Mark Wayland
Posts: 5
Joined: Tue Jun 28, 2005 3:05 am
Location: Torus Games

Re: Bullet 2.69 BETA1 Physics SDK released

Post by Mark Wayland »

I'm interested in the implementation of the dynamic AABB tree, including the ability to do view frustum culling and front-to-back traversal, but I'm having real problems finding the little sucker. A search for "frustum" in CDTestFramework doesn't result in much useful info, let alone an obvious example of any such use - any pointers for a bullet n00b? Thanks.
Nathanael
Posts: 78
Joined: Mon Nov 13, 2006 1:44 am

Re: Bullet 2.69 BETA1 Physics SDK released

Post by Nathanael »

Mark Wayland wrote:I'm interested in the implementation of the dynamic AABB tree, including the ability to do view frustum culling and front-to-back traversal, but I'm having real problems finding the little sucker. A search for "frustum" in CDTestFramework doesn't result in much useful info, let alone an obvious example of any such use - any pointers for a bullet n00b? Thanks.
First, make sure you work with the latest svn version (i think 2.69 beta1 CDTestFramework did not compile), compile and check that you can run CDTestFramework.

CDTestFramework is a test bed/benchmark for broadphase implementations, one of those is btDbvtBroadphase based on btDbvt (dynamic AABB tree), so its not directly related to btDbvt , but its the only demo currently available that make use btDbvt culling/occlusion capabilities and yes, CDTestFramework source is a mess, my bad, but this is a test bed not an 'official' demo :wink: .

To resume:
btDbvtBroadphase is a broadphase implementation based on btDbvt
btDbvt is a dynamic tree supporting various collision queries, culling, front/back transversal, raycast, etc...

CDTestFramework('\Extras\CDTestFramework\BulletSAPCompleteBoxPruningTest.cpp' r1180) pointers:
line 37 (struct OcclusionBuffer...): Software rasterizer used to test occlusion.
line 730 (void BulletSAPCompleteBoxPruningTest::Render()...) : Beginning of rendering.
line 739..779 : Compute frustum planes.
line 781..811: An implementation of btDbvt::ICollide used for rendering (with or without occlusion).
line 814..824: Actual calls to collideKDOP/collideOCL.

The actual btDbvt code is located in '\src\BulletCollision\BroadphaseCollision\btDbvt.(h/cpp)'.

Basic methods:
btDbvt::insert, btDbvt::update, btDbvt::remove.

Methods relevant to culling/occlusion:
btDbvt::collideKDOP(root,normals,offsets,count,icollide): traverse the tree and call ICollide::Process(node) for all leaves located inside/on a set of planes.
btDbvt::collideOCL(root,normals,offsets,sortaxis,count,icollide): same of btDbvt::collideKDOP but with leaves sorted (min/max) along 'sortaxis'.

Hope it help, questions welcome (in: 'Bullet Physics SDK Discussion, Feedback and Bug Reports').
Nathanael.
Mark Wayland
Posts: 5
Joined: Tue Jun 28, 2005 3:05 am
Location: Torus Games

Re: Bullet 2.69 BETA1 Physics SDK released

Post by Mark Wayland »

Nathanael, thanks for the info... but please don't get me wrong, I wasn't commenting at all on the quality of the code at all - just my own inability to find what I was looking for! I can barely manage google :wink:
Post Reply