June 2014 updates to Magnum
The Magnum C++11 and OpenGL/OpenGL ES/WebGL graphics engine gained experimental Android support, windowless applications on OS X and Windows, uses SDL2 as the default toolkit, adds new texture and mesh features, improves build system and got huge documentation review.
The version 2014.06 is available under the v2014.06
tag in
Corrade, Magnum,
Magnum Plugins and
Magnum Integration GitHub
repositories. This article will describe the most important changes, for
detailed list follow the changelog links at the end of this announcement.
For compatibility branch there is the snapshot-2014-06-compatibility
tag in
Corrade,
Magnum,
Magnum Plugins and
Magnum Examples
repositories.
Experimental Android support
This snapshot contains experimental support for Android, see Corrade and Magnum building documentation. Initial platform support is in Platform::AndroidApplication.
Windowless applications on Mac OS X and Windows
Windowless applications are now supported on Windows and, thanks to joint effort by @amaranth and @ArEnSc, also on OS X. All command-line utilities such as magnum-info, Distance Field conversion utility and Font conversion utility are thus now available on all three major platforms.
Dropping GCC 4.6 support from master
Since GCC 4.7 is available even in LTS Ubuntu, it was time to drop support for
4.6 from master
and providing it only in compatibility
branch. Master
branch now makes use of additonal C++11 features, such as template aliases,
delegating constructors, user-defined literals etc., resulting in more
maintainable code.
Using SDL2 as the default windowing toolkit
Since LTS Ubuntu now also has SDL2 in the repositories, it is now used in the documentation, tutorials and examples as the default windowing toolkit. The GLUT toolkit, which was used before, is still available in the library, but its usage is not recommended and it probably won’t receive new features anymore.
Installing debug and release libraries and plugins into separate locations
As explained in mosra/magnum#45, on some platforms it is not possible to
mix debug and release libraries, as it leads to linker errors. Additionally it
also wasn’t possible to install both debug and release libraries into the same
location, causing various inconveniences. Since this release, debug libraries
are installed with -d
suffix and debug plugins are installed into separate
magnum-d/
directory. From end-user point of view not much has changed,
CMake will automatically select proper libraries based on build type and also
tries the best to select appropriate plugin directory. See
documentation about plugins for more information about plugin
directories on multi-configuration build systems.
Complete changelog
You can find a detailed list of changes in version 2014.06 in the documentation: