Page 1 of 2

Bullet 2.80 SP1 release :OpenCL rigid bodies & Android

Posted: Mon Mar 05, 2012 6:36 am
by bullet_team
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

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

Posted: Tue Mar 13, 2012 3:49 pm
by Karrok
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!

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

Posted: Fri Mar 23, 2012 12:35 am
by VicariousEnt
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?

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

Posted: Sun Mar 25, 2012 6:10 am
by Granyte
the open CL stuf is sweet sad though i can't upgrade my laptop's dual 4850

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

Posted: Thu Mar 29, 2012 12:36 am
by Pyritie
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

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

Posted: Tue Apr 03, 2012 9:16 am
by Antonz
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?

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

Posted: Tue Apr 17, 2012 5:32 pm
by cgbeige
does the OpenCL acceleration work on OS X with the Maya plugin?

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

Posted: Wed May 23, 2012 3:30 pm
by Yann
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 ?

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

Posted: Sat Jun 30, 2012 6:11 am
by smartuser20
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.

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

Posted: Thu Jul 26, 2012 3:06 am
by bcsanches
Looks like the CharacterDemo project file for vs2008 is missing from this release :(.

Thanks
Bruno

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

Posted: Tue Aug 07, 2012 10:54 pm
by Zenja
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

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

Posted: Tue Sep 18, 2012 12:20 am
by gjunker
Is the GpuRigidBodyPipeline code anywhere in SVN? Or is it only in this tarball?

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

Posted: Tue Sep 18, 2012 1:09 am
by majestik666
From erwin on the bullet svn :

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

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

Posted: Tue Sep 18, 2012 2:17 am
by gjunker
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. ;)

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

Posted: Fri Oct 26, 2012 6:24 pm
by mdzahidh
Has anyone built and ran the opencl demos in Linux ?