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.
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.
Since the previous October snapshot Magnum gained Visual Studio port,
font conversion utility, improved text rendering along with example
application, support for OpenGL debug output, documentation updates, better
test coverage and many more usability improvements and fixes.