Examples
Contents
2018.04
Released 2018-05-01, tagged as v2018.04.
Dependency changes
- Building for Android now requires CMake 3.7 with builtin Android crosscompilation support, the old toolchains were removed. Only the Clang and libc++ toolchain is now supported, support for GCC and libstdc++ was dropped, as it was still missing some important C++11 functionality. See Crosscompiling for Android for more information.
New features
- New Leap Motion example showcasing hand tracking (see mosra/
magnum-examples#40) - New Triangle using sokol_
gfx example showcasing use of Magnum with custom renderers
Changes and improvements
- Simplified the Oculus VR example to a single file with minimal dependencies (see mosra/
magnum-examples#39)
Build system
- It's now possible to build particular examples as if they would be a project root. See Enabling or disabling features and mosra/
magnum#241 for more information. - Homebrew macOS packages were updated to install the stable version by default
- Fixed the Debian package to not include a revision. While just a warning on Ubuntu, it's a hard error on Debian. (See mosra/
corrade#44.)
Bug fixes
- The WebVR example was fixed to work on Android phones (see mosra/
magnum-examples#38)
2018.02
Released 2018-02-15, tagged as v2018.02. See the release announcement for a high-level overview.
Dependency changes
- Completely removed NaCl support (see https:/
/ blog.chromium.org/ 2017/ 05/ goodbye-pnacl-hello-webassembly.html) - Dropped support for the old MinGW32 (only MinGW-w64 is supported now)
- Bumped minimal CMake version to 2.8.12
- Removed support for macOS 10.8 and older
- Dropped the
compatibility
branch and all support for MSVC 2013 and GCC < 4.7
New features
- MSVC 2015 and MSVC 2017 support in
master
branch - ANGLE ES2/ES3 support, ability to create desktop GLES contexts on Windows
- Windows Phone/Store support via ANGLE
- iOS support
- WebAssembly support when building for Emscripten
- WebGL 2.0 support
- New examples:
- Area lights example showing a basic Area Lights implementation (see mosra/
magnum-examples#31) - Audio example showing usage of the Audio library and integration with SceneGraph (see mosra/
magnum-examples#14, mosra/ magnum-examples#18, mosra/ magnum-examples#21, mosra/ magnum-examples#32) - Oculus VR example showing integration with Oculus VR using OvrIntegration (see mosra/
magnum-examples#10, mosra/ magnum-examples#11, mosra/ magnum-examples#13, mosra/ magnum-examples#15, mosra/ magnum-examples#16, mosra/ magnum-examples#19, mosra/ magnum-examples#22, mosra/ magnum-examples#26) - Object picking example showing object picking using mouse cursor and Framebuffer readout (see mosra/
magnum-examples#12, mosra/ magnum-examples#17) - Shadow map example implementing cascaded shadow mapping (see mosra/
magnum-examples#24) - Triangle using plain GLFW example showing integration into custom platform toolkits
- WebVR example showing basic usage of WebVR (see mosra/
magnum-examples#33, mosra/ magnum-examples#36)
- Area lights example showing a basic Area Lights implementation (see mosra/
- A new ports branch contains a subset of the examples ported to mobile devices and HTML5
Changes and improvements
- Relicensed all examples from MIT to public domain / UNLICENSE to allow their unencumered use in derived projects
- Removed now obsolete
framebuffer
example, superseded by the Object picking example - The Motion blur example now uses VSync and minimal frame time to avoid being a CPU hog
Build system
- Continuous testing for Linux, macOS, Windows MSVC, Windows MinGW, Windows RT, iOS, Android and Emscripten on Travis CI and AppVeyor CI, with code coverage on coveralls.io; replacing the unmaintained and outdated Jenkins configuration
- Support for CMake subprojects. You can now clone Magnum Plugins into a subdirectory in your project and add it using
add_subdirectory()
. Thefind_package()
command will then use the CMake subproject instead of looking for it in system-wide locations. - CMake targets are now organized in folders for better development experience in IDEs such as Visual Studio or Xcode
- Added a Homebrew package
MACOSX_RPATH
is now enabled by default on CMake 3.0+- Enabling only C++ in CMake
project()
call, if possible, to speed up initial CMake run
Bug fixes
- Fixed depth issues in the Model viewer example when running with 16bit depth buffer (possibly related Firefox bug, see mosra/
magnum-examples#34) - Fixed Greek text in the Text rendering example (see mosra/
magnum-examples#35)
Documentation
- New documentation theme powered by m.css and related massive updates of everything
- All examples, even the ones without a tutorial, have now their dedicated documentation page with a screenshot, source listing and possibly a link to the live web version
- The Downloading and building examples documentation now prefers package installation instead of manual build
Changelogs for previous versions are available in Archived example changelogs.