After a few months banging my head against Bullet (http://bulletphysics.org
), which apparently could make my life a lot easier:
Bullet is a Collision Detection and Rigid Body Dynamics Library. The Library is Open Source and free for commercial use, under the ZLib license. This means you can use it in commercial games, even on next-generation consoles like Sony Playstation 3.
I have chosen to abandon this strategy for the time being given the following conclusions:
- Physics engines in general try to be as general as possible, becoming extremely complex when it comes to learn how they work.
- Physics engines are normally game-oriented, and although I haven't been able to prove it yet, their lack of precision might become an important issue when it comes to solve engineering problems.
- There is no way around in deeply understanding the numerical methods they employ.
Nonetheless, this is the amount of research done so far:
- Main available 3D physics engines are:
- Open Source
- Closed source/limited free distribution
- The reason why I chose Bullet was mainly that it is open source. Secondly, when compared to the others (ODE and Tokamak), I found its basis and documentation a bit more solid. Thirdly, it was the only one I could put to work altogether with Ogre3D (http://www.ogre3d.org), the scene graph manager of my choice, where I can make simulations visible.
- I have made a couple of videos available in youtube:
- A set of bricks hit by a mass:
- A peristyle hit by a ball:
- When trying to access the Softbody module of the engine, I have found it already too complex to link with Ogre3D.
- Joints make the system unstable, with frequent segmentation faults and even automatic resets of my laptop.
With this in mind, I think the next step will be to focus on achieving the knowledge to tackle my own physics engine!