Examples
Changes since 2020.06
Dependency changes
- Minimal supported CMake version is now 3.5, changed from 3.4, since CMake 3.27+ warns if a compatibility with CMake below 3.5 is requested. Older versions are not supported anymore and all workarounds for them were removed. This is a conservative change, as there are no known supported distributions which would have anything older than 3.5.
New features
- The Triangle using Vulkan is now written fully using the new Vk and ShaderTools libraries, with no raw Vulkan code left
- New Textured triangle using Vulkan, mirroring the OpenGL Textured Quad with Vulkan APIs
Changes and improvements
- The original Textured Triangle example was changed to Textured Quad to show also a low-level indexed mesh setup
- The Primitives example got significantly simplified by using MeshTools::
compile() instead of inflexible, verbose and slow lower-level APIs. Description of those got moved to the Trade:: MeshData class documentation. - Fixed the WebXR example to look correctly on HiDPI
- The WebVR example was obsoleted by the WebXR example and is now removed
- The Cube Map example can now load combined cube map files such as EXR
Build system
- Updated the Box2D example to work with latest Box2D 2.4 (see mosra/
magnum-examples#90 and mosra/ magnum-examples#92) - Linux, Emscripten and macOS builds were migrated from Travis to Circle CI
- The Homebrew package now uses
std_cmake_args
instead of hardcoded build type and install prefix, which resolves certain build issues (see mosra/homebrew-magnum#6) - Updated Debian build instructions to pass
--no-sign
todpkg-buildpackage
, avoiding a confusing error message that might lead people to think the packaging failed (see mosra/magnum-plugins#105) - It's now possible to use
<PackageName>_ROOT
to point to install locations of dependencies such as Corrade on CMake 3.12+, in addition to putting them all together insideCMAKE_PREFIX_PATH
. See also mosra/magnum#614. - Examples are now put into a MagnumExamples folder on MSVC and Xcode (see mosra/
magnum-examples#107) - Created a RPM package with a helper script for building (see mosra/
magnum-examples#110)
Bug fixes
- The
ports
branch of the Object Picking was fixed to work properly on Firefox ... after three long years. See mosra/magnum-examples#53. - The Octree example got fixed to properly remove all invalid points (see mosra/
magnum-examples#99) - The Model Viewer used a wrong logic for generating mesh normals (see mosra/
magnum-examples#109)
Deprecated APIs
- All CMake build options are now prefixed with
MAGNUM_
. For backwards compatibility, unless MAGNUM_BUILD_ DEPRECATED is disabled and unless a prefixed option is already set during the initial run, the unprefixed options are still recognized with a warning. See also mosra/ corrade#139. - The
WITH_TEXTUREDTRIANGLE_EXAMPLE
CMake option is still recognized on builds with MAGNUM_BUILD_ DEPRECATED enabled, but will produce a warning. Use MAGNUM_WITH_TEXTUREDQUAD_EXAMPLE
instead.
Documentation
- Updated license link for Source Sans Pro used by the 2D Fluid Simulation, 3D Fluid Simulation, ImGui and Text rendering examples (see mosra/
magnum-examples#95)
2020.06
Released 2020-06-27, tagged as v2020.06.
New features
- New 2D Fluid Simulation example (see mosra/
magnum-examples#71) - New 3D Fluid Simulation example (see mosra/
magnum-examples#69, mosra/ magnum-examples#70, mosra/ magnum-examples#84,) - New WebXR example (see mosra/
magnum-examples#73) - New ArcBall Camera example (see mosra/
magnum-examples#75, mosra/ magnum-examples#85) - New Ray Tracing example (see mosra/
magnum-examples#76) - New Animated GIF example (see mosra/
magnum-examples#80) - New Octree example (see mosra/
magnum-examples#86)
Changes and improvements
- The ImGui example now lets ImGui update the application cursor (see mosra/
magnum-integration#56) - Avoid using obsolete APIs in the ImGui example (see mosra/
magnum-integration#65) - Fixed the Object Picking to not limit object count to 256 (see mosra/
magnum-examples#79) - Ported the Object Picking to use the new builtin Object ID support in
Shaders::Phong
instead of a custom shader (see mosra/magnum-examples#81) - The Box2D and Bullet Physics examples are now using instanced rendering to draw the whole scene in a single draw call.
Build system
- The library again compiles and tests cleanly with CORRADE_
NO_ ASSERT enabled, and this setup is verified on the CI to avoid further regressions
Bug fixes
- The Object Picking and Bullet Physics examples weren't properly handling mouse events on HiDPI systems that have different window and framebuffer size (see mosra/
magnum-examples#72 and mosra/ magnum-examples#74)
2019.10
Released 2019-10-24, tagged as v2019.10.
Dependency changes
- Minimal supported CMake version is now 3.4. Older versions are not supported anymore and all workarounds for them were removed. Download a prebuilt release of a newer version if you need to use Corrade on older systems (such as Ubuntu 14.04 or Debian 8). This is a conservative change that shouldn't affect any additional distribution compared to the CMake 3.1 requirement in 2019.01.
New features
- New DART Physics example showing integration with DART using DartIntegration (see mosra/
magnum-examples#63)
Changes and improvements
- Switched all examples to use the new Platform::
EmscriptenApplication on Emscripten (see mosra/ magnum-examples#60 and mosra/ magnum-examples#59) - Switched the Motion blur and Object Picking examples to use MeshTools::
compile() for a clearer and easier-to-understand code (see also mosra/ magnum-examples#62) - The Cube Map now tries to find the bundles images first instead of requiring the user to always pass a path (see also mosra/
magnum-examples#44) - Documented how to enable and use importer plugins in Textured Quad and Model Viewer (see mosra/
magnum#375)
Bug fixes
- The Area Lights example wasn't using the depth buffer (see mosra/
magnum-examples#57) - Adaptations to header cleanup in Magnum for faster compile times, various other cleanup (see mosra/
magnum-examples#54, mosra/ magnum-examples#66)
2019.01
Released 2019-02-04, tagged as v2019.01.
Dependency changes
- Minimal supported GCC version is now 4.8.1, GCC 4.7 is not supported anymore. Minimal Clang version is now 3.3, since that's the first version with a complete C++11 support. See also mosra/
magnum#274. - Minimal supported CMake version is now 3.1. Older versions are not supported anymore and all workarounds for them were removed. Download a prebuilt release of a newer version if you need to use Corrade on older systems (such as Ubuntu 14.04 or Debian 8). See also mosra/
magnum#274.
New features
- New ImGui example showing integration with ImGui using ImGuiIntegration (see mosra/
magnum-examples#51)
Changes and improvements
- Plugged memory leaks in the Bullet Physics example, automatically removing fallen objects thats are too no longer visible (see mosra/
magnum-examples#52)
Documentation
- Mention the required extra CMake boilerplate in the first two examples (see mosra/
magnum#309)
2018.10
Released 2018-10-23, tagged as v2018.10.
New features
- New Box2D example showing usage with Box2D
- New Mouse Interaction example showing advanced mouse interaction (see mosra/
magnum-examples#46) - New Triangle using Vulkan example showcasing basic Vulkan usage with Magnum
Changes and improvements
- Simplified the Bullet Physics and Audio, removing use of the deprecated
Shapes
library. - The Model Viewer tutorial is greatly simplified to make use only of the most essential APIs needed to make it working
- The Oculus VR and Leap Motion examples were updated to not depend on deprecated functionality (see mosra/
magnum-examples#49) - The Model Viewer example is now ported to Android (see mosra/
magnum-examples#50)
Build system
- There's now a PPA for Ubuntu packages. See Packages for Debian, Ubuntu and derivatives for more information. See also mosra/
magnum-examples#43.
Documentation
- Extended the Primitives example with info about handling of generic mesh data (see mosra/
magnum-examples#48)
Changelogs for previous versions are available in Archived example changelogs.