Last Update: Aug 7, 2012
use the following OGRE ChangeLogs to get an idea of where Axiom is compatible.
The Axiom 3D Rendering Engine is a fully object oriented 3D graphics engine using C# and the .Net platform. Axiom 3D aims to be an easy to use, flexible, extendable, and powerful engine that allows for rapid development of games and other graphical applications. By using the .Net framework as the target platform, developers can focus more on core functionality and logic, rather than dealing with the complexities of languages like C++.
The core of Axiom is a port of the very popular OGRE graphics engine, which was chosen based on its clean object-oriented design, powerful features, and flexibilty. The original port was carried out by Leedgitar, the project founder.
Object-Oriented Design, Plug-in Architecture, Other:
- C# codebase built using Visual Studio .NET 2008/2010 running on .Net Framework 2.0 and 4.0.
- Game agnostic design, allowing the flexibility for use in a variety of game genres.
- Strict adherence to the best practices of .NET framework naming standards and methodologies (i.e. Use of properties instead of GetX()/SetX()). Usage of .NET framework class library wherever possible. No Hungarian notation, other than the "I" prefix for interfaces. Microsoft .NET Coding Guidelines
- Flexible plugin architecture for dynamically loading plugin functionality at runtime.
- Runs under Mono/Linux
- Basic keyboard and mouse input using Managed DirectInput or SDL
- Comprehensive C# Math Library, with support for Quaternions, as well as various sizes of Matrices, and Vectors. Operator overloads are implemented as well (not CLS compliant yet however). Math code has been ported over from C++ and has been hand optimized to perform as best as the CLR will allow.
- Automatic resource management, for maintaining memory quotas. Supports flexible archive implementation, including folder structures and .zip files using SharpZipLib.
- Built in logging support via a log writer that implements TraceListener. All messages are written using Trace.Write.