Bullet + ODE on Linux-x86_64

Post Reply
sptrashcan
Posts: 1
Joined: Wed Jan 18, 2006 6:21 pm

Bullet + ODE on Linux-x86_64

Post by sptrashcan »

I am trying to get Bullet + ODE working on a 64-bit machine running Red Hat Enterprise Linux 4. On the Bullet side, I've managed to get Bullet by itself to compile into 2 dynamically linked libraries (libBullet.so, libBulletDynamics.so). I've also gotten the Physics Interface to compile into a shared library. And I have compiled the demos against these shared libraries and produced working executables.

ODE + OPCODE has been a bigger problem, because OPCODE makes wildly unjustified assumptions about the respective sizes of unsigned integers and pointers (they are NOT THE SAME on 64-bit processors). By replacing certain unsigned integers with size_t's, I've gotten ODE + OPCODE to compile (albeit with much grumbling) and the tests and demos for ODE will run, although the trimesh collisions are incorrect to the point of unusability.

Now, however, I'm kind of stuck. I have no idea how BulletOdeCollide is meant to bridge ODE and Bullet, nor do I have any clue how to compile executables against it (because, you see, I don't have MSVC and can't examine your project files). My hope is that I can compile a version of libode.a which contains the Bullet functionality, and which I can then use wherever I would use the normal libode.a (such as in Delta3D). Also, can Bullet be used to handle trimesh collisions without resorting to OPCODE (which as I mentioned is quite horrendously broken on non-32-bit platforms)? I'd appreciate any suggestions you can give me.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Post by Erwin Coumans »

Bullet can handle trimesh collisions indeed. So Bullet+Ode can be used without Opcode. At the moment, the Bullet+Ode integration is backwards compatible with opcode-trimeshes, but if you only use Bullet primitives, you don't need Opcode.

I'll verify the BulletOdeBrige if it supports the latest Bullet BvhTriangleMesh support.

With repect to Ode+Bullet+ Bridge merged into a single library:
Can't you just add all files to the makefile that makes libode.a?
You should be able to verify if all works, with the testfile that uses Bullet convex objects.

I'm happy to help with further questions.
Erwin
Post Reply