Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Open source Bullet Physics SDK release information
bullet_team
Posts: 16
Joined: Mon Oct 28, 2013 12:18 am

Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by bullet_team » Mon Mar 05, 2012 6:36 am

You can download Bullet 2.80 SP1 now.

Make sure to get SP1 revision 2531, it includes some last minute fixes and a new VoronoiFractureDemo. We fixed some performance regression after the initial 2527 release.

Aside from numerous bug fixes, the main features are:
  • A preview of the upcoming Bullet 3.x GPU rigid body pipeline, running 100% on GPU using OpenCL. Most of the implementation is thanks to Takahiro Harada at AMD. It requires a very recent GPU (5870 or newer or NVIDIA 470 or newer) with latest GPU and OpenCL drivers. A new AMD Radeon 7970 Tahiti can simulate 110k objects in real-time between 15-30 frames/second.
    See Bullet/Extras/RigidBodyGpuPipeline for source or check out the Youtube videos or slides and precompiled binaries
  • Android/NEON optimized version of Physics Effects. This will be used as a handheld backend for Bullet 3.x. Thanks to Graham Rhodes and Anthony Hamilton for this contribution.
    See Bullet/Extras/PhysicsEffects.
  • Option to override the number of constraint solver iterations for individual constraints. This makes it easier to attach objects together using fixed constraints. The combination of a fixed btGeneric6DofConstraint constraint with higher solver iterations, in combination with a breaking threshold is a good alternative for fracturing objects.
    See Bullet/Demos/VoronoiFractureDemo for some example use of the btTypedConstraint::setOverrideNumSolverIterations method. Thanks to RBD for this demo!
  • The open source Dynamica Bullet Maya plugin now features deterministic/reproducable simulation playback. Also a preliminary soft body and convex decomposition using HACD is included.
    See http://dynamica.googlecode.com for source code and precompiled plug-in.
Thanks everyone for the contributions and feedback! There are still many outstanding issues in the issue tracker, we are working to address them in upcoming releases.

Enjoy and hope to see you at the Game Developers Conference, on Tuesday March 6 at our Physics Tutorial my Destruction talk from 4:30-5:15pm and Qualcomm Developer Day where Graham Rhodes has a presentation about Bullet from 11:45a.m.-12:30p.m.
Erwin

Karrok
Posts: 65
Joined: Fri May 13, 2011 1:11 pm

Re: Bullet 2.80 release: OpenCL rigid body pipeline & Androi

Post by Karrok » Tue Mar 13, 2012 3:49 pm

Nice release, looking forward to the full GPU implementation come 3.x!

On another note; will the GDC presentation be upped to the bullet download area soon-ish as well?

Cheers!

VicariousEnt
Posts: 50
Joined: Fri Oct 29, 2010 1:37 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by VicariousEnt » Fri Mar 23, 2012 12:35 am

Excellent!

Whats the status of the Bullet PhysX plugin for Max? Looking at the downloads, it appears a Max version hasn't been released since Bullet 2.77. I was hoping for a full suite of modern Max builds with the latest Bullet.

Worst case, can you see any reason the last source release of that plugin wouldn't compile to the latest Max and bullet SDKs?

Granyte
Posts: 77
Joined: Tue Dec 27, 2011 11:51 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by Granyte » Sun Mar 25, 2012 6:10 am

the open CL stuf is sweet sad though i can't upgrade my laptop's dual 4850

User avatar
Pyritie
Posts: 25
Joined: Thu Aug 11, 2011 6:42 pm

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by Pyritie » Thu Mar 29, 2012 12:36 am

I think this also fixed a bug I was having with ghost objects preventing other objects inside them from deactivating, even when they shouldn't have any effect on each other at all due to collision groups

Antonz
Posts: 16
Joined: Wed Nov 17, 2010 10:57 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by Antonz » Tue Apr 03, 2012 9:16 am

Erwin, can you describe in details what Physics Effects are and also about Android/NEON optimization.

My questions are:
1. What part of Bullet those "Physics Effects" library replaces or extends?
2. I can have NEON optimizations only with "Physics Effects"? I thought this is vector math optimizations, so why not to use it as a low level math library for all Bullet code?
3. What about IOS devices (particularly IPhone 3GS+ and IPad 1 +)? Are they support NEON instructions and is this new optimizations available for them?
4. Can this NEON optimizations be in one binary with non-NEON version of Bullet and selected at runtime depending on presence on NEON instructions support? I mean, is Bullet handles this already or it must be an additional code to do this?
5. If I'm developing portable application that can run both on PC and mobile devices with ARM/NEON, so I must use "Physics Effects" for ARM/NEON, and default Bullet modules for other platforms? This can lead to differences in simulation, right?

cgbeige
Posts: 21
Joined: Fri Jul 24, 2009 10:50 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by cgbeige » Tue Apr 17, 2012 5:32 pm

does the OpenCL acceleration work on OS X with the Maya plugin?

User avatar
Yann
Posts: 52
Joined: Wed Sep 28, 2011 8:36 am
Location: France
Contact:

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by Yann » Wed May 23, 2012 3:30 pm

Hello,
Great work ;) The performances you gives in your videos are impressive.
We are using bullet for simulating a certain number of ragdolls, and having them running in parallel should be a great improve in our performances :)

Do you think I could use the code from you demo for my own purpose (using your CustomCollisionDispatcher instead of the default collision dispatcher), or is there some limitations that prevent it ?

If not, then for when is the 3.x planned approximately ?

smartuser20
Posts: 1
Joined: Sat Jun 30, 2012 6:07 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by smartuser20 » Sat Jun 30, 2012 6:11 am

Yann wrote:Hello,
Great work ;) The performances you gives in your videos are impressive.
We are using bullet for simulating a certain number of ragdolls, and having them running in parallel should be a great improve in our performances :)

Do you think I could use the code from you demo for my own purpose (using your CustomCollisionDispatcher instead of the default collision dispatcher), or is there some limitations that prevent it ?

If not, then for when is the 3.x planned approximately ?

Hi. I also need to use the code. Did they give you permission? I would like to ask the owner for permission. Is there a website that I can go to where I could get a code without needing permission? Thank you, I appreciate your help.

bcsanches
Posts: 10
Joined: Mon Feb 02, 2009 2:15 pm

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by bcsanches » Thu Jul 26, 2012 3:06 am

Looks like the CharacterDemo project file for vs2008 is missing from this release :(.

Thanks
Bruno

Zenja
Posts: 14
Joined: Fri Jul 10, 2009 4:48 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by Zenja » Tue Aug 07, 2012 10:54 pm

XCode 4.4 warnings (clang compiler) :roll:

1) btBox2DBox2DCollisionAlgorithm.cpp, line 371 - unused variable dv
2) btConvexConvexAlgorithm.cpp, line 317, 318 - unused variables localScalingA, localScalingB
3) btInternalEdgeUtility.cpp, line 485 - unused variable center
4) SphereTriangleDetector.cpp, line 161 - unused variable distance
5) btGrahanScan2dConvexHull.h, line 73 - && within ||
6) btPolyhedralConvexShape.cpp, line 110, 111 - unused variable maxCross2, chosenEdge
7) btStridingMeshInterface.cpp, line 245 - unused variable meshScaling
8) btContinuousConvexCollision.cpp, line 65 - unused variable hasCollision
9) btPolyhedralContactClipping.cpp, 315, 406, 409 - unused variable numContacts, DeltaC2, curMaxDist
10) btConeTwistContraint.cpp, line 509, 900, 902 - unused variable impulse, qABCur, qConstraintCur
11) btGeneric6DofConstraint.cpp, line 226, 350 - unused variable motorImp, impulse_vector
12) btGeneric6D0fSpringConstraint.cpp, line 171 - unused variable relVel
13) btHingeConstraint.cpp, line 705, 706 - unused variable pivotAinW, pivotBinW
14) btPoint2PointConstraint.cpp, line 127 - unused variable a2n
15) btSequentialImpulseContstraintSolver.cpp, line 961 - unused variable info
16) btSoftBody.cpp, line 463, 464, 538, 539, 1590, 2877, 2820, 2831, 2833 - unused variable kPR, kVC, kPR, kVC, d, f, dt, as_vaero, as_faero

gjunker
Posts: 12
Joined: Fri Aug 26, 2011 10:32 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by gjunker » Tue Sep 18, 2012 12:20 am

Is the GpuRigidBodyPipeline code anywhere in SVN? Or is it only in this tarball?

User avatar
majestik666
Posts: 66
Joined: Tue Mar 02, 2010 6:13 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by majestik666 » Tue Sep 18, 2012 1:09 am

From erwin on the bullet svn :

Log message
remove rigid body gpu pipeline, the latest version is at
https://github.com/erwincoumans/bullet3

gjunker
Posts: 12
Joined: Fri Aug 26, 2011 10:32 am

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by gjunker » Tue Sep 18, 2012 2:17 am

K thanks, that would also explain why I could have sworn to <insert deity of choice here> that I had seen it in SVN before...because it was. ;)

mdzahidh
Posts: 1
Joined: Fri Oct 26, 2012 6:22 pm

Re: Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Post by mdzahidh » Fri Oct 26, 2012 6:24 pm

Has anyone built and ran the opencl demos in Linux ?

Post Reply