Features & Technologies

The main purpose of Magnum is to serve dimajix as a common base library for developing rich 3d graphics and multimedia applications, like games, edutainment and desktop based virtual reality applications.

Magnum includes modules for 2d & 3d graphics, multimedia, file and stream based I/O, networking, container classes, and many more.


Currently only Windows 32Bit is supported together with Microsoft Visual C++ 7.1 and 8.0, but a port to other compilers (GCC) and operating systems (Linux) is planned.

Design Principles

By carefully designing the class interfaces and by extensive usage of C++ templates, the framework allows fast implementation and integration of new ideas. This idea is also supported by a range of independant mathematics and geometry related classes and routines.

Furthermore the strict modularity and usage of C++ namespaces of Magnum easily allows the integration only of some parts into another project.

Magnum and Open Source

The complete Magnum library is distributed under a liberal BSD style license, that means that you are welcome to use and modify the package in your own projects, being them either also open source or closed source applications. See the license page for more information.

For some parts of Magnum, readily available open source libraries were chosen instead of a reimplementation, which means both a waste of time and the risk of introducing new bugs.