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.
Last year, Magnum was used to introduce students to virtual reality
programming at the Ludwig-Maximilians-Universität München — powering a
environment, a room-scale five-sided projection installation.
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.
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.
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 Magnum milestone brings WebGL 2.0 and WebAssembly, VR
support, lots of niceties for Windows users, iOS port, new experimental UI
library, improved testing capabilities, support for over 80 new asset
formats, new examples and much more.
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.
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.