A new Magnum feature provides efficient compile-time and runtime CPU
detection and dispatch on x86, ARM and WebAssembly. The core idea behind
allows adding new variants without having to write any dispatching code.
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.
The new release brings Python bindings, Basis Universal texture
compression, improved STL interoperability, better Unicode experience for
Windows users, a more efficient Emscripten application implementation,
single-header libraries, new OpenGL driver workarounds and much more.
If you build your Magnum apps for the web, you can now make use of
a new feature-packed, smaller and more power-efficient application
implementation. It is using the Emscripten HTML5 APIs directly instead of
going through compatibility layers.
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.
Magnum master branch received a few breaking changes to the
buildsystem to further slim down the library in preparation for Vulkan
support.
A new Magnum example implements an analytic method for area light
shading presented in the paper “Real-Time Polygonal-Light Shading with
Linearly Transformed Cosines”, by Eric Heitz, Jonathan Dupuy, Stephen Hill
and David Neubelt.
Along with dropped support for NaCl, Magnum now has first-class
WebAssembly support. I also took this opportunity to overhaul the outdated
Showcase page with WebAssembly builds and
there is a bunch more Emscripten-related goodies all over the place!
The Magnum C++11/C++14 and OpenGL graphics engine gained OpenGEX
format support, a bunch of new importer plugins, cross-platform extension
loader, transform feedback support and new features from OpenGL ES 3.1 and
OpenGL 4.5, among other things.