C# .NET 3D Frameworks / Wrapper Frameworks built-in obsolesence ?
I am looking into a 3D engine framework for a C# application. 3D Engines get released and abandoned at a frightful fast pace only a very few survive for a few years. As I want to use the 3D engine in an enterprise class application, it needs to have longevity which basically means open source. I have spent a good deal of my life profitably rewriting abandoned vendor frameworks, but I would rather do something else now, if I can help it.
Enterprise class meaning, an app that has to work for more than a few years.
So anyway what I found to be available for C# .NET coding is:
Wrapped Engines
Name | Language | Version | .NET Wrapper | Wrapped Version | Latency |
---|---|---|---|---|---|
Irrlicht | C++ | 1.4.1 | Irrlicht.NET CP | 1.3.1 | 1 year |
Horde3D | C++ | 1.0.0 | Horde3D .NET | 0.13.0 | 1/2 year |
Ogre | C++ | 1.4.9 | MOGRE | 1.4.8 | 1 month |
One major problem with the wrapper frameworks is, that they are
maintained outside of the main project and aren't released with the
core frameworks. So there is always a latency between a core
release and a wrapper release. The common theme of these frameworks
is, that they are maintained by students. Students like to code for
kicks but maintaining gets boring very fast and after they leave
college they suddenly have no time.
There is nothing wrong with that, if you don't get paid, do what you do for fun.
Irrlicht used to have a .NET framework inside the core release, but it got abandoned in favor of the third party product...
Quick Judgements
The Irrlicht CP wrapper is just lagging too much, to be a candidate. The Horde 3D .NET wrapper also has the looks of being abandoned. So MOGRE is the sole survivor in the wrapper category.
Native Engines
Name | Language | Version | Adoption | Release Latency |
---|---|---|---|---|
Axiom | C# | 0.7.3 | 0 | 1 Year |
Axiom Multiverse Branch | C# | 0.7.? | 1 | 3 months |
JAD Engine | C# | 1.0 | 0 | unknown |
Adoption is the number of real outside projects, that use the framework. Axiom gets a zero, because the only real project using the framework has created it's own fork.
Quick Judgements
Until I looked into the Multiverse branch, I discounted
Axiom as another abandoned student project. There is little
traffic in the forum and the threads that exist are all about
fairly basic problems. The JAD Engine is
short on developers and it sounds like its
dying and can't yet boast a single outside project, that has
adopted it.
So Axiom Multiverse Branch is the sole survivor in the
native category.
Remote Alternatives
Name | Language | Version | .NET Wrapper | Wrapped Version | Latency |
---|---|---|---|---|---|
OpenGL | - | - | TAO | 2.1.0 | |
Direct X | - | - | Xna | 2.0 |
Quick Notes
Xna is not open source, but Microsoft usually - contrary to other vendors - does not abandon users at the whim of the CEO and it certainly isn't expected to go belly up in the foreseeable future. Therefore the Open Source requirement could be relaxed at this point.
Tao appears to be a collection of well maintained and ill maintained wrappers for OpenGL, SDL and some physics frameworks.
Both are a little bit too low level for my wishes (yet).
Conclusion
Without looking into any technical details yet, there are only two candidates left MOGRE and Axiom Multiverse. MOGRE carries the stigma of the wrapper with it and Axiom Multiverse is just used by one project. Both choices are not very enticing.