Bob Pendleton wrote:
I want to thank everyone for the thoughtful answers to my questions. I
am aware of Crystalspace, Irrlicht, and Ogre, and I think they are all
fine systems. What I wish we had was a 3D api that is as simple to use
as the the SDL 2D api that was layered on top of OpenGL, DirectX, and
what ever other native graphics api exist so that it was as easy to
cross platform 3D on SDL as it is t do cross platform 2D. I haven’t seen
anything like that. I’m not even sure such a thing is possible.Bob Pendleton
To be completely honest, I’ve been working for almost a year on this
sort of thing, but its probably not going to be useful to you for two
reasons:
- Development on the original C++ code has been completely halted. The
team has a new technology direction, .NET (choice made due to it making
our lives easier, and due to some interesting performance tests we did
early on that showed that not using our own, error-prone custom garbage
collection, and the JIT compilation of code, would actually increase
performance. Also, a nice type-safe environment means a lot of the bugs
that were creeping in from the newer programmers are avoided completely). - The original C++ code is still under a proprietary license at the
moment. There is a glimmer of hope that it will be eventually released
until the LGPL, but at the current time, it is infeasible to do so.
For non-commercial cross-platform development, such as open-source or
academic, it is probably not worth the effort involved in creating such
a thing – OpenGL preforms quite well on all current systems, if you
have proper drivers for it. Even the default Windows driver and Mesa
drivers will work well enough for most purposes. Plus, there is the
added down-side that it adds more required pieces of testing (You
already need to test Windows/Linux with OpenGL, but what about
Windows/Wine [you should never expect somebody to not use Wine just
because you have a Linux version!] with DirectX?)
(On a side note, both the C++ and C# versions use SDL [the C# uses the
SdlDotNet {slightly modified, will be sending patches to the maintainer
once we finish mucking with it} and Tao wrappers] to create its OpenGL
context, or as its display surface for the software renderer)