3D Engines and rant about California
We all know the open source community is great. Teams of people with too much free time gather and code up some really amazing stuff that is too good to be free. For people who do not like to spend money, this is a plus.
In the case of 3D engines, there are a few really good open source engines out there that I’ve looked at. The two engines which seem to be the most impressive are OGRE (http://www.ogre3d.org) and Irrlicht (http://irrlicht.sourceforge.net). Both these engines support OpenGL and Direct3D. Irrlicht supports two different software renderers as well. This has to be for bragging rights. There is always some jack-ass on a public forum who demands some obscure feature for his underpowered PC. Mr. Gebhardt can now be like “I support two software based renderers, bitches”. One for each middle finger. OGRE is an LGPL-based and more widely-maintained version that has tons of people contributing and tons of little projects spun off from it. Irrlicht is a nearly one man Austrian tank project with some impressive features as well. My favorite part about Irrlicht is its license is as liberal as the last hippie girlfriend you dated. You know who I mean – the girl who basically would let you do whatever you wanted with her and she was perfectly cool with it. That’s the type of girlfriend you want when you want to sell a company on a new rendering platform. They love the idea of any software with a BSD style license, because you are free to modify the source code however you feel content and keep the changes. Compiling one of the example projects was a pleasure. One library path, one include path, and a modest DLL and you’re already running it. The largest problem with Irrlicht though is it does not seem to have a very extensive class library, and it seems to rely heavily on a few intrinsic data formats it supports, such as the DirectX .X format and the Milkshape3D format. This makes things more tedious; you have to study the source code to say, implement another bone based format, instead of using their bone classes and parsing the file itself. That is because, unlike OGRE, Irrlicht does not really have their own bone classes per say (they support bones, but it seems tied into the file format). A more tightly coupled class hierarchy makes extension more difficult. But it does make it more lightweight and in some ways make it easier to get started. Aside from engines, one thing I can’t figure out is why
0 Comments:
Post a Comment
<< Home