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.
During the past four months, Magnum began its adventure into the
Python world. Not just with some autogenerated bindings and not just with
some autogenerated Sphinx docs — that simply wouldn’t be Magnum enough.
Brace yourselves, this article will show you everything.
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.