Bullet + ODE on Linux-x86_64
Posted: Fri Feb 10, 2006 8:46 pm
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.
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.