A Decade of Magnum
On 19th December 2010, Magnum saw its first commit. A bunch more commits happened since then and I learned some things along the way.
On 19th December 2010, Magnum saw its first commit. A bunch more commits happened since then and I learned some things along the way.
Redesigned geometry pipeline together with massive additions to importer plugins, new debugging, visualization and profiling tools, new examples including fluid simulation and raytracing, instancing in builtin shaders and a gallery of cool projects to get inspired from.
Flexible and efficient mesh representation, custom attributes, new data types and a ton of new processing, visualization and analyzing tools. GPU-friendly geometry storage as it should be in the 21st century.
Engines supporting more than one graphics backend very often need to translate various enum values — pixel formats, primitive types etc. — from a generic API-agnostic value to the one used by a particular implementation, in the fastest-possible and most robust way.
Similarly to the pointer and reference wrappers described in the last article, Magnum’s array views recently received STL compatibility as well. Let’s take that as an opportunity to compare them with the standard implementation in std::span.
The new version puts a focus on usability with tweakable constants for live coding, Dear ImGui integration, new packages, Gradle-less Android development, compile time speedup and other general polishing.
Among other highlights is a new glTF player app, HiDPI support, spline interpolation, a Box2D example and productivity improvements all across the board.
Playing with Vulkan but don’t want to include thousands lines of various headers just to call a few functions? FlextGL just learned Vulkan support and it’s here to speed up your turnaround times.
The new release brings more flexibility to asset management and rendering abstractions, improves plugin handling and showcases Leap Motion integration.
Magnum master branch received a few breaking changes to the buildsystem to further slim down the library in preparation for Vulkan support.