Forums

Full Version: Moving from ODE to Bullet
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I've got bullet working with VDrift. It's too slow right now due to the way bullet does raycasting, but hopefully I'll have a solution for that soon. I really like the API as compared to ODE. I'd like to just include bullet-2.64 in the vdrift source distribution, so that we don't run into the problems like with ODE where everyone has a different version compiled differently. Plus, bullet is much less common than ODE. Bullet uses jam and seems to compile on multiple platforms. Can anyone see any problems with distributing bullet this way (especially on other non-linux platforms)?
Honestly, I have no idea. I'll see what it takes to build it on a Mac.
Not to sound stupid, but what is bullet? just wondering.
P.S.: this must make me look stupid, no? Tongue
Kricor Wrote:Not to sound stupid, but what is bullet? just wondering.
P.S.: this must make me look stupid, no? Tongue

Nah, I didn't know about it either until xTs told me about it:

http://www.bulletphysics.com/Bullet/

It's a replacement for the collision detection engine I was using in the latest SVN, ODE (http://www.ode.org/).
Bullet is used on windows allot, so I don't see any problems there.
Oh that is sooooo cooooool!!! Thanks for that link!
Bullet is distributed with blender for the built-in game engine and builds on most platforms blender does, also – which should mean at least that if you can't get bullet to compile on a particular platform, you have something to refer to.

So, when do we see this in svn?
I just got bullet working well in the branch today and merged it into the trunk a moment ago (R1884). I included the entire 2.64 bullet distribution in the vdrift trunk SVN... not sure if this is the best way to go, but at least it ensures everyone has the same version of the source. I modified the scons files to use bullet, but I'm guessing I didn't do it in an elegant way. From what I can tell so far, if you're on linux, to get bullet compiled into a state that vdrift can use it, you need to:

Code:
cd bullet-2.64
./configure
jam bulletcollision bulletmath

That should put the bullet libraries into a spot in the bullet-2.64 tree that the VDrift scons files are expecting them. Then just compile vdrift normally.
I found that on my Ubuntu 7.10 x86-64 system I had to change src/SConscript to change "linuxx86" to "linux" to get it to compile with bullet. However it works well, I have yet to hit a "bump" or "dip" in the road. Great job Joe & Bullet! Smile
joevenzon Wrote:I just got bullet working well in the branch today and merged it into the trunk a moment ago (R1884)
it doesn't work for me (this is on a debian i386 system):
Code:
warning btCollisionDispatcher::needsCollision: static-static collision!
warning btCollisionDispatcher::needsCollision: static-static collision!
warning btCollisionDispatcher::needsCollision: static-static collision!
warning btCollisionDispatcher::needsCollision: static-static collision!
warning btCollisionDispatcher::needsCollision: static-static collision!
warning btCollisionDispatcher::needsCollision: static-static collision!
EXCEPTION: src/vamos/world/World.cc, line 413:  Unusual elevation collision normal behavior
this is the t73 at montreal (but i tried other circuits/cars and i get the same behaviour.

--alex--
You might want to make sure that scons is linking against the included 2.64 version of bullet. The 2.64 release shouldn't give you all of those debug messages. Newer (SVN) or older versions might, though, and maybe that's also causing the exception.
joevenzon Wrote:You might want to make sure that scons is linking against the included 2.64 version of bullet. The 2.64 release shouldn't give you all of those debug messages. Newer (SVN) or older versions might, though, and maybe that's also causing the exception.

i got only the exception with the included bullet and then i switched to the svn version with the same results.

--alex--
works great on my desktop (amd64 running debian). i like the way the t73 handles with bullet much better than before. i'll try to figure out why it doesn't work on my 386 laptop. anyway, great job.

--alex--
how do i get bullet running on my game? What will it do? Will it make collisions?
i've set up the xcode project to use bullet, either by directly including the source, or by including the libraries built by "./configure; jam bulletcollision bulletmath", but each time i start a game i get this:

Code:
EXCEPTION: /Users/julian/Documents/Development/_MACPORTS/vdrift/tools/osx/../../src/vamos/world/World.cc, line 413:  Unusual elevation collision normal behavior
Pages: 1 2