finds.dev← search

// the find

mosra/magnum

★ 5,166 · C++ · NOASSERTION · updated Jun 2026

Lightweight and modular C++11 graphics middleware for games and data visualization

Magnum is a C++ graphics middleware library that abstracts OpenGL, Vulkan, and WebGL behind a clean API, with math, scene graph, mesh tools, text rendering, and platform integration built in. It targets the gap between 'raw OpenGL' and 'full game engine' — useful for tooling, scientific visualization, and games where you want control but not boilerplate. Actively maintained, last push was yesterday.

The modular architecture is real, not marketing — you can pull in just the math library or just the GL wrapper without dragging in the scene graph or audio subsystem. Single-header variants in magnum-singles let you drop individual pieces into any project without CMake ceremony. The documentation is genuinely good: per-platform build guides, a changelog that actually explains what changed, and inline code examples that compile. Cross-platform coverage is wide and tested in CI: desktop Linux/Windows/macOS, iOS, Android, and Emscripten/WebAssembly all get real build matrix entries, not 'should work' footnotes.

The ecosystem is spread across six separate repos (magnum-plugins, magnum-integration, magnum-extras, magnum-examples, magnum-bindings, corrade), which means getting a fully-featured setup requires coordinating multiple submodule or CMake FetchContent pins — version mismatches between them are a real pain point. Vulkan support exists but lags behind the OpenGL path in maturity and tooling; if Vulkan is your primary target you'll hit gaps. The community is small: Gitter is the main chat, the Google Group is slow, and finding answers to non-obvious problems means reading source. Python bindings are available but clearly a second-class citizen compared to the C++ core.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →