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.
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.
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.
A new example showcases capabilities of the DART integration. Let’s
dive into robotics, explain what DART is able to do and how it compares to
Bullet.
Magnum is developed with a “Zen Garden” philosophy
in mind, focusing on productivity, predictability and ease of use. Let’s
see how that can extend beyond just the library itself — into your daily
workflow.
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.
Coming to an established workflow for the first time is always an
interesting experience because I don’t have any “it’s been like this since
forever” insights forming my opinion yet. This time it’s about quaternion
interpolation and a sudden optimization opportunity.