does osgBullet 2.0 work with Bullet 2.81

48 views
Skip to first unread message

Edward (Chip) Hill

unread,
Mar 27, 2013, 3:57:07 PM3/27/13
to osgbull...@googlegroups.com
Hi all,

Has anyone used osgBullet 2.0 with the current release version of Bullet (2.81)?

I have an OSG 3.0.0 application that I need to add collision detection to and it looks like osgBullet offers everything I need.  I'm just now setting up the development environment for osgBullet, osgWorks and Bullet and am trying to decide whether to grab the latest version of Bullet (2.81) or the depricated version (2.79) that is listed in the osgBullet combatibility chart.

Thanks!
  -Chip

Paul Martz

unread,
Mar 27, 2013, 5:21:18 PM3/27/13
to osgbull...@googlegroups.com
Well, osgBullet v2.0 came out a full year before bullet v2.81, and I haven't done comprehensive osgBullet testing since its release. On the other hand, I've been building osgBullet with bullet v2.81, and have ran a few tests; the regression suite passes, etc. So I'd assume osgBullet v2.0 works with bullet v2.81 unless I experience something that indicates otherwise.

Go ahead and try it, and post here if you run into problems.


  -Chip

--
You received this message because you are subscribed to the Google Groups "osgbullet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osgbullet-use...@googlegroups.com.
To post to this group, send email to osgbull...@googlegroups.com.
Visit this group at http://groups.google.com/group/osgbullet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Paul Martz
Skew Matrix Software LLC

Edward (Chip) Hill

unread,
Mar 27, 2013, 5:29:05 PM3/27/13
to osgbull...@googlegroups.com
Great.  I'll give it a shot.  Thanks Paul!
  -Chip

Edward (Chip) Hill

unread,
Mar 28, 2013, 10:02:18 AM3/28/13
to osgbull...@googlegroups.com
I'm happy to report that I was able to build osgBullet against the most current stable release of Bullet (2.81-rev2613) and successfully run a few of the examples.

I did run into a few small issues along the way though and thought I would share them in hopes of saving others a little time.
My configuration is Windows XP Pro, Visual Studio 2010, CMake 2.8.10 and OSG 3.0.0.

The only real issue I ran into involved the names of the Bullet .lib files. If you use the Visual Studio 2010 solution that is included in the Bullet 2.81 download under build/vs2010, all of the lib files that are generated contain "_vs2010" as a suffix in the name (release and debug builds).  This is a change from the 2.79 release that the osgBullet 2.0 CMake files were developed against so during the Configure set of running CMake, it fails because it cannot find these files.  The fix is to rename all the Bullet lib files to remove "_vs2010" from the filenames, then hit the Configure button in CMake again (or rename before running CMake).

For those completely new to using osgBullet, here is a summary of the steps I took:
(Note: assumes OSG and osgWorks are already built)

1. extracted the files from bullet-2.81-rev2613.zip to C:\Program Files\Bullet_Physics
2. did a full solution build (debug and release) of Bullet using C:\Program Files\Bullet_Physics\build\vs2010\0BulletSolution.sln
3. renamed all .lib files to remove the "_vs2010" from the names in C:\Program Files\Bullet_Physics\lib
4. opened C:\Program Files\osgBullet\CMakeLists.txt with CMake 2.8.10 and unchecked the "Advanced" checkbox
5. hit the Configure button which produced errors finding Bullet
6. set these variables in CMake:
    set "BulletInstallType" to "Source And Build Tree"
    set "BulletBuildRoot" to "C:/Program Files/Bullet_Physics/lib
    set "BulletSourceRoot" to "C:/Program Files/Bullet_Physics/src
7. hit the Configure button again.  No errors so then hit the Generate button
8. did a full solution build of osgBullet using C:\Program Files\osgBullet\osgBullet.sln

Hope this helps someone!
  -Chip

Paul Martz

unread,
Mar 28, 2013, 11:08:17 AM3/28/13
to osgbull...@googlegroups.com
On Thu, Mar 28, 2013 at 8:02 AM, Edward (Chip) Hill <enhi...@gmail.com> wrote:
The only real issue I ran into involved the names of the Bullet .lib files. If you use the Visual Studio 2010 solution that is included in the Bullet 2.81 download under build/vs2010, all of the lib files that are generated contain "_vs2010" as a suffix in the name (release and debug builds).  This is a change from the 2.79 release that the osgBullet 2.0 CMake files were developed against so during the Configure set of running CMake, it fails because it cannot find these files.  The fix is to rename all the Bullet lib files to remove "_vs2010" from the filenames, then hit the Configure button in CMake again (or rename before running CMake).

Thanks, Chip.

Interesting, and somewhat disturbing. If I build bullet 2.81 from source with default settings, there is no "_vs2010" embedded in the library file names. And as far as I can tell, there is no bullet CMake option to enable these tags. This means whoever created the prebuilt bullet binaries manually changed the output library names. A big pain for downstream projects such as osgBullet...

For now, osgBullet finds the bullet libraries built with the default names, and we must have at least that functionality. If someone wants to take a crack at modifying osgBullet's CMake to find bullet libraries containing compiler-specific string tags, I'd accept that enhancement, but I think we're good enough for now.

Edward (Chip) Hill

unread,
Mar 28, 2013, 11:40:09 AM3/28/13
to osgbull...@googlegroups.com

The difference might be that I used the VS2010 solution file that came with Bullet to build the libraries instead of using CMake to create a new VS solution file for Bullet.

Paul Martz

unread,
Mar 28, 2013, 12:20:16 PM3/28/13
to osgbull...@googlegroups.com
Ah! I misunderstood, thought you had downloaded prebuilt binaries.

So if the bullet VS project files specify compiler-specific names, I wonder what bullet's other various build systems do. I have only ever used bullet's CMake.

Anyhow, bullet's CMake is no panacea either. Here's another issue: By default, bullet's CMake appends "_Debug" to debug library names. Unfortunately, the stock CMake find script (that ships with CMake) fails to search for LinearMath_Debug.lib, even though it properly finds the "_Debug" versions of all the other bullet libraries. Grr... Easy enough to work around this one by hand though (set BULLET_MATH_LIBRARY_DEBUG manually when configuring osgBullet's CMake).

This menagerie is too much for me to tackle. I'll take Chip's suggestion and at least document the issues in this mail list. :-)



--
You received this message because you are subscribed to the Google Groups "osgbullet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osgbullet-use...@googlegroups.com.
To post to this group, send email to osgbull...@googlegroups.com.
Visit this group at http://groups.google.com/group/osgbullet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply all
Reply to author
Forward
0 new messages