[osg-users] Announcing osgWorks and osgBullet

Paul Martz pmartz at skew-matrix.com
Wed Nov 11 08:59:56 PST 2009

Alberto Luaces wrote:
> Hi Paul,
> Lovely work! I assume that for now, independent threading for the
> physics is handled only by the multi-threaded Bullet library, is this
> correct? I couldn't find in the source any place using the
> PhysicsThreading class, are you going to use it in the future?
> I couldn't be able to compile the library since Bullet disables the
> building of the BulletMultiThreaded library on 64 bit environments,
> being it a requirement for osgBullet.

Hi Alberto -- Thanks for trying osgBullet.

After the 2.74 release, the Bullet people made a series of incompatible 
changes to BulletMultiThreaded. I've modified osgBullet to not use 
BulletMultiThreaded if the version is greater than 2.74, but probably 
failed to make the CMake system robust enough to handle the library's 
absence. I'll add this to my to-do list.

BulletMultiThreaded contains some host-thread SPU classes to do 
constraint solving in parallel. In my investigation, these classes 
typically run slower than the non-threaded sequential solver.

osgBullet allows an application to run the physics simulation in a 
separate host thread, so that OSG rendering isn't blocked by the cost of 
the physics simulation. That separate thread can use either the 
sequential solver or the host-thread solver; osgBullet doesn't impose 
any restrictions on how the simulation is performed by Bullet.

I do have a few simple examples that show how to do this, but they use 
proprietary client data. I'll add to my to-do list, either to rewrite 
this in a non-proprietary way, or get permission from the client to open 
source the data.

More information about the osg-users mailing list