MACE stands for MACE is A C++ Engine, Modular Abstract Components Engine, Many Amazing Classes Everywhere, Many Acronyms Can Exist, or the medievel weapon. Choose whichever one you like best.
It has many things:
- Hardware accelerated graphics library
- Subpixel text renderer using Freetype
- Audio player
- Serial communication
- DLL and process hanlding
- Vector and Matrix math library
- Macros to determine compilers and systems
- Module loader
You can implement your own modules to make MACE whatever you want!
The graphics capabilities target hardware with OpenGL 3.3 compatibility
The following compilers are unit tested automatically. The master
branch will always have a release that passes all unit tests.
- G++ 5 and 6 on Linux
- Clang 4.0 and 3.5 on Linux
- Clang 3.5 on OSX
- Latest and second latest version of VS 2015 and 2017 on Windows
MACE requires a C++ 11 compliant compiler
For install instructions, consult INSTALLATION.md in the root folder.
Documentation is located here.
To generate documentation on your own, download Doxygen. Then, run Doxygen with Doxyfile
located in docs
branch.
A new folder called out should have been created. Subfolders contain the different documentation types, like html or xml.
- You should never delete any pointer given to you by MACE and MACE will never delete any pointer you give it unless explicitely specified.
- MACE has varying levels on abstraciton, and gives you the power to change most of these levels. You can completely change how MACE works without touching the source code. Doing this may be dangerous if you don't know what you are doing