Rectangle packing doesn’t actually have to be a NP-hard problem if we
don’t need to solve the most general case. In this post I present a simple
yet optimal algorithm for packing power-of-two textures into a texture
array.
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.
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.
Among other highlights is a new glTF player app, HiDPI support,
spline interpolation, a Box2D example and productivity improvements all
across the board.
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.
The new release brings more flexibility to asset management and
rendering abstractions, improves plugin handling and showcases Leap Motion
integration.
I made a brief detour on the way to Vulkan support and equipped
Magnum with features that make plugin workflow nicer and open up new
possibilities.