magnumLightweight and modular C++11/C++14 graphics middleware for games and data visualization

Magnum — Lightweight and modular C++11/C++14 graphics middleware for games and data visualization

Looking for an open-source library that gives you graphics abstraction and
platform independence on major desktop, mobile and web platforms? Do you want
it to have all the convenience utilities around yet stay small, powerful and
not give up on flexibility? Here it is. And it's free to use, even for
commercial purposes.

Beauty of simplicity

Among Magnum essentials is a UTF-8-aware OS, filesystem and console
abstraction, a feature-packed vector math library and a slim C++11 wrapper of
OpenGL / WebGL family of APIs. Build on top of that or opt-in for more.

With batteries included

Shaders and primitives for fast prototyping, algorithms, debugging and
automatic testing, asset management, integration with popular windowing
toolkits and a UI library. Everything fits together but you still have a
choice.

Screws are not glued in

There's always more than one way to do things. Enjoy the freedom of choice and
integrate your own asset loader, texture compressor, font format or math
library, if you feel the need. Or use any of the various plugins.

Magnum Examples — examples of engine usage, varying from simple
Hello World-like example to more advanced applications, such as viewer
for complex 3D models. See it at https://github.com/mosra/magnum-examples

Magnum Extras — playground for testing new APIs, specialized stuff
that doesn't necessarily need to be a part of main Magnum repository or
mutually exclusive functionality: https://github.com/mosra/magnum-extras

CONTACT & SUPPORT

If you want to contribute to Magnum, if you spotted a bug, need a feature or
have an awesome idea, you can get a copy of the sources from GitHub and start
right away! There is the already mentioned guide about
how to download and build Magnum
and also a guide about coding style and best practices
which you should follow to keep the library as consistent and maintainable as
possible.