diff --git a/doc/changelog.dox b/doc/changelog.dox index 7806d32fc..a12b1502a 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -36,7 +36,13 @@ See also: - @subpage changelog-extras "Extras changelog" - @subpage changelog-examples "Examples changelog" -@anchor changelog-latest +@section changelog-latest Changes since 2020.06 + +@subsection changelog-latest-new New features + +@subsubsection changelog-latest-new-math Math library + +- Added @ref Math::fmod() (see [mosra/magnum#454](https://github.com/mosra/magnum/pull/454)) @section changelog-2020-06 2020.06 @@ -265,7 +271,7 @@ Released 2020-06-27, tagged as @ref Shaders::MeshVisualizer2D and @ref Shaders::MeshVisualizer3D - Texture coordinate transformation in @ref Shaders::DistanceFieldVector, @ref Shaders::Flat, @ref Shaders::Phong and @ref Shaders::Vector -- Ability to render Per-instance / per-vertex object ID in @ref Shaders::Flat +- Ability to render per-instance / per-vertex object ID in @ref Shaders::Flat and @ref Shaders::Phong, in addition to uniform object ID - New attribute definitions and an location allocation scheme in @ref Shaders::Generic --- @ref Shaders::Generic::Tangent4, @@ -515,6 +521,10 @@ Released 2020-06-27, tagged as - Updated Android building and troubleshooting guide to make it work with NDK r19+ and CMake 3.16+. See also [mosra/corrade#84](https://github.com/mosra/corrade/issues/84) and [mosra/magnum#310](https://github.com/mosra/magnum/issues/310). +- Vcpkg packages now ignore features that are incompatible with target + platform, allowing `vcpkg install magnum[*]` to work again. See also + [mosra/magnum#368](https://github.com/mosra/magnum/pull/368) and + [microsoft/vcpkg#12211](https://github.com/microsoft/vcpkg/pull/12211). @subsection changelog-2020-06-bugfixes Bug fixes diff --git a/doc/credits.dox b/doc/credits.dox index eedcb3b78..486b864f0 100644 --- a/doc/credits.dox +++ b/doc/credits.dox @@ -168,7 +168,7 @@ Are the below lists missing your name or something's wrong? --- initial macOS port, various other improvements - **Nathan Ollerenshaw** ([\@matjam](https://github.com/matjam)) --- Ubuntu packages in a PPA repository -- **Nghia Truong** ([\@ttnghia](https://github.com/ttnghia) ---@ref Math +- **Nghia Truong** ([\@ttnghia](https://github.com/ttnghia) --- @ref Math library additions - **Nick Skelsey** ([\@NSkelsey](https://github.com/NSkelsey)) --- documentation copy-editing @@ -178,6 +178,7 @@ Are the below lists missing your name or something's wrong? Gentoo ebuild - **Pascal Thomet** ([\@pthom](https://github.com/pthom)) --- C++17 compilation fixes, buildsystem improvements, Hunter package +- **[\@pezcode](https://github.com/pezcode)** --- @ref Math additions - **Sam Spilsbury** ([\@smspillaz](https://github.com/smspillaz)) --- WebGL and GLES fixes - **Samuel Kogler** ([\@skogler](https://github.com/skogler)) --- diff --git a/doc/platforms-html5.dox b/doc/platforms-html5.dox index 1ced07f78..4378e45da 100644 --- a/doc/platforms-html5.dox +++ b/doc/platforms-html5.dox @@ -494,7 +494,8 @@ headless tests / benchmarks and currently there's no builtin way in Magnum to circumvent this limitation. If you're on Firefox, you can enable the `webgl.allow-immediate-queries` option -in `about:flags`, which will make these working. +in `about:flags`, which will make these work even without giving the control +back to the browser. @section platforms-html5-code-size Compilation time / code size tradeoffs diff --git a/src/Magnum/Math/Functions.h b/src/Magnum/Math/Functions.h index 2f04b88ac..92d8e9cb1 100644 --- a/src/Magnum/Math/Functions.h +++ b/src/Magnum/Math/Functions.h @@ -5,6 +5,8 @@ Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Vladimír Vondruš + Copyright © 2020 Nghia Truong + Copyright © 2020 Pablo Escobar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -412,13 +414,15 @@ template inline Vector ceil(const Vector inline typename std::enable_if::value, T>::type fm return T(std::fmod(UnderlyingTypeOf(a), UnderlyingTypeOf(b))); } -/** @overload */ +/** +@overload +@m_since_latest +*/ template inline Vector fmod(const Vector& a, const Vector& b) { Vector out{Magnum::NoInit}; for(std::size_t i = 0; i != size; ++i) diff --git a/src/Magnum/Math/Quaternion.h b/src/Magnum/Math/Quaternion.h index a90ec8495..44189963f 100644 --- a/src/Magnum/Math/Quaternion.h +++ b/src/Magnum/Math/Quaternion.h @@ -5,6 +5,7 @@ Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Vladimír Vondruš + Copyright © 2019 Marco Melorio Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/src/Magnum/MeshTools/FlipNormals.h b/src/Magnum/MeshTools/FlipNormals.h index 4068de852..ae07ca02a 100644 --- a/src/Magnum/MeshTools/FlipNormals.h +++ b/src/Magnum/MeshTools/FlipNormals.h @@ -47,6 +47,7 @@ namespace Magnum { namespace MeshTools { @brief Flip mesh normals and face winding in-place @param[in,out] indices Index array to operate on @param[in,out] normals Normal array to operate on +@m_since{2020,06} Flips normal vectors and face winding in index array for face culling to work properly too. See also @ref flipNormalsInPlace(const Containers::StridedArrayView1D&) diff --git a/src/Magnum/Platform/GlfwApplication.h b/src/Magnum/Platform/GlfwApplication.h index 19c7b6cf7..6cd649be7 100644 --- a/src/Magnum/Platform/GlfwApplication.h +++ b/src/Magnum/Platform/GlfwApplication.h @@ -1046,7 +1046,7 @@ class GlfwApplication::Configuration { #ifdef MAGNUM_BUILD_DEPRECATED /** * Always on top - * @deprecated Use @ref WindowFlag::AlwaysOnTop instead. + * @m_deprecated_since{2020,06} Use @ref WindowFlag::AlwaysOnTop instead. */ Floating CORRADE_DEPRECATED_ENUM("use AlwaysOnTop instead") = AlwaysOnTop, #endif diff --git a/src/Magnum/Platform/WindowlessEglApplication.h b/src/Magnum/Platform/WindowlessEglApplication.h index e1df24a33..dd250f2b4 100644 --- a/src/Magnum/Platform/WindowlessEglApplication.h +++ b/src/Magnum/Platform/WindowlessEglApplication.h @@ -251,6 +251,7 @@ class WindowlessEglContext::Configuration { /** * @brief Device ID to use + * @m_since{2019,10} * * @requires_gles Device selection is not available in WebGL. */ @@ -259,6 +260,7 @@ class WindowlessEglContext::Configuration { /** * @brief Set device ID to use * @return Reference to self (for method chaining) + * @m_since{2019,10} * * The device ID is expected to be smaller than the count of devices * reported by EGL. When using @ref WindowlessEglApplication, this is @@ -279,6 +281,7 @@ class WindowlessEglContext::Configuration { /** * @brief CUDA device ID to use + * @m_since{2020,06} * * @requires_gles Device selection is not available in WebGL. */ @@ -287,6 +290,7 @@ class WindowlessEglContext::Configuration { /** * @brief Set the CUDA device ID to use * @return Reference to self (for method chaining) + * @m_since{2020,06} * * If a device with given CUDA ID is not found, context creation fails. * When using @ref WindowlessEglApplication, this is also exposed as a diff --git a/src/Magnum/SceneGraph/Drawable.h b/src/Magnum/SceneGraph/Drawable.h index f26298d9d..7723d7f22 100644 --- a/src/Magnum/SceneGraph/Drawable.h +++ b/src/Magnum/SceneGraph/Drawable.h @@ -71,8 +71,8 @@ some drawable group and add the drawable objects to both the scene and the group. You can also use @ref DrawableGroup::add() and @ref DrawableGroup::remove() instead of passing the group in the constructor. If you don't need to change any properties of the drawable later, you can just -"create and forget", the scene graph will take care of all memory manager from -there. +"create and forget", the scene graph will take care of all memory management +from there, deleting the drawable when the object is attached to is deleted. @snippet MagnumSceneGraph-gl.cpp Drawable-usage-instance