Features » Plugins & Extensions

Math Utility Containers OpenGL Core Corrade Magnum SceneGraph TextureTools Text Trade Primitives Shaders Platform MeshTools Ui Shapes DebugTools PluginManager TestSuite BulletIntegration OvrIntegration Extras Audio Interconnect Primitives Font converters Fonts Audio importers Image converters Importers Extensions Math converters

A lot of Mag­num ad­don li­braries de­fine in­ter­faces for fur­ther ex­ten­si­bil­i­ty with plug­ins. Ad­van­tage of us­ing plug­ins is the abil­i­ty to de­fer de­ci­sion about par­tic­u­lar de­pen­den­cy in­to de­ploy stage on giv­en plat­form.


Plug­ins im­port­ing gen­er­al scene for­mats with mesh da­ta, im­age da­ta, scene hi­er­ar­chy, ma­te­ri­al, light and cam­era prop­er­ties.

  • TGA, PNG, JPEG, GIF, EXR, HDR, BMP, DDS and oth­er im­age for­mats
  • OBJ, Stan­ford PLY, COL­LA­DA and OpenGEX scene for­mat parsers
  • Plug­in us­ing As­simp for gen­er­al file for­mat sup­port
  • “Any im­porter” plug­in del­e­gat­ing to oth­er im­age / scene im­porter plug­ins based on de­tect­ed file for­mat

Im­age con­vert­ers

Plug­ins for con­vert­ing im­age da­ta be­tween var­i­ous for­mats.

  • Ex­port­ing raw im­age da­ta as TGA, PNG, HDR, BMP or EXR
  • In­ter­face for com­press­ing raw im­age da­ta in­to GPU-read­able for­mats
  • “Any im­age con­vert­er” plug­in del­e­gat­ing to oth­er con­vert­er plug­ins based on out­put file ex­ten­sion

Au­dio im­porters

Plug­ins im­port­ing au­dio da­ta.

  • OGG Vor­bis, WAV and FLAC sup­port
  • “Any im­porter” plug­in del­e­gat­ing to oth­er au­dio im­porter plug­ins based on de­tect­ed file for­mat


Plug­ins pro­vid­ing pars­ing of font files and text shap­ing/lay­out­ing.

  • TTF and OTF sup­port
  • Cus­tom in­ter­nal Mag­num raster font for­mat
  • FreeType and Harf­Buzz in­te­gra­tion

Font con­vert­ers

Plug­ins pro­vid­ing con­ver­sion be­tween font for­mats and pre-ren­der­ing glyph cache tex­tures.

  • Con­vert­ing sub­set of a TTF/OTF font to cus­tom in­ter­nal Mag­num raster for­mat

Math con­vert­ers

Last­ly, it’s pos­si­ble to im­ple­ment rou­tines for con­vert­ing ex­ter­nal da­ta types from and to Mag­num builtin vec­tor, ma­trix, com­plex, quater­nion and oth­er types. Once im­ple­ment­ed, con­ver­sion from ex­ter­nal to in­ter­nal types is a mat­ter of an ex­plic­it con­ver­sion.