From 822ebd3426d1fb934a443ea2eda41b983a075e09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 29 Apr 2018 00:07:37 +0200 Subject: [PATCH] doc: updated/removed references to deprecated APIs in changelogs. For 2018.02 it's still referencing them, but the older changelogs are simply converted to inline code for all references. --- doc/changelog-old.dox | 223 +++++++++++++++++---------------- doc/changelog.dox | 284 +++++++++++++++++++++++------------------- 2 files changed, 268 insertions(+), 239 deletions(-) diff --git a/doc/changelog-old.dox b/doc/changelog-old.dox index 44dd2a5f7..3da518c52 100644 --- a/doc/changelog-old.dox +++ b/doc/changelog-old.dox @@ -51,29 +51,29 @@ for a high-level overview. - Support for @extension{ARB,direct_state_acccess} (OpenGL 4.5) everywhere except in Mesh. - Support for @extension{ARB,conditional_render_inverted} (OpenGL - 4.5) in @ref SampleQuery. + 4.5) in @cpp SampleQuery @ce. - Support for @extension{ARB,get_texture_sub_image} (OpenGL 4.5) in - @ref Texture::subImage() "*Texture::subImage()". + @cpp *Texture::subImage() @ce. - Support for @extension{EXT,transform_feedback}, @extension{ARB,transform_feedback2} (OpenGL 3.0, 4.0, OpenGL ES 3.0) in - new @ref TransformFeedback class, added - @ref Renderer::Feature::RasterizerDiscard. + new @cpp TransformFeedback @ce class, added + @cpp Renderer::Feature::RasterizerDiscard @ce. - Support for @extension{ARB,robustness_isolation} in - @ref Renderer::graphicsResetStatus(). + @cpp Renderer::graphicsResetStatus() @ce. - Support for @extension{ARB,framebuffer_sRGB} (OpenGL 3.0) in - @ref Renderer::Feature::FramebufferSRGB. + @cpp Renderer::Feature::FramebufferSRGB @ce - Support for @extension{OES,texture_npot} ES extension. - Support for debug groups from @extension{KHR,debug} (OpenGL 4.5) and - @extension{EXT,debug_marker} extensions in @ref DebugGroup class. - -- Added @ref CubeMapTexture::image() "CubeMapTexture::*image()" that - returns all six faces together. -- Added @ref Primitives::Cube::solidStrip(). -- Added @ref AbstractShaderProgram::attachShaders() as a list-based - complement to @ref Shader::compile() and - @ref AbstractShaderProgram::link(). + @extension{EXT,debug_marker} extensions in @cpp DebugGroup @ce class. + +- Added @cpp CubeMapTexture::*image() @ce that returns all six faces + together. +- Added @cpp Primitives::Cube::solidStrip() @ce. +- Added @cpp AbstractShaderProgram::attachShaders() @ce as a list-based + complement to @cpp Shader::compile() @ce and + @cpp AbstractShaderProgram::link() @ce. - Separated @cpp Renderer::setFeature() @ce into shorter - @ref Renderer::enable() and @ref Renderer::disable(). + @cpp Renderer::enable() @ce and @cpp Renderer::disable() @ce. - Added @cpp tau() @ce, @cpp piHalf() @ce, @cpp e() @ce, @cpp nan() @ce and @cpp inf() @ce to @ref Math::Constants. - Added @ref Math::Matrix4::shearingXY() "Math::Matrix[34]::shearing*()". @@ -82,12 +82,12 @@ for a high-level overview. - Added @ref Math::div(). - Using range-based-for to traverse object children and features in @ref SceneGraph and screens in @ref Platform::BasicScreenedApplication "Platform::ScreenedApplication". -- Convenience overload for @ref Framebuffer::read() "*Framebuffer::read()" - and @ref Texture::image() "*Texture::image()" that returns the queried - image by value instead of as parameter. -- Added @ref Buffer::uniformOffsetAlignment() and - @ref Mesh::maxElementIndex() limit queries. -- Added @ref AbstractTexture::unbind() for unbinding range of texture +- Convenience overload for @cpp *Framebuffer::read() @ce and + @cpp *Texture::image() @ce that returns the queried image by value instead + of as parameter. +- Added @cpp Buffer::uniformOffsetAlignment() @ce and @cpp Mesh::maxElementIndex() @ce + limit queries. +- Added @cpp AbstractTexture::unbind() @ce for unbinding range of texture units. - Added @ref SceneGraph::AbstractObject::addFeature() and @ref SceneGraph::Object::addChild() functions (see [mosra/magnum#86](https://github.com/mosra/magnum/issues/86)). @@ -103,8 +103,8 @@ for a high-level overview. for OpenGL extension loading - @ref Platform::Sdl2Application now tries to create core context on all platforms, not just OSX (see [mosra/magnum#80](https://github.com/mosra/magnum/issues/80)). -- @ref Buffer::bind(), @ref Buffer::unbind() and @ref Buffer::Target is - now used for indexed buffer binding only. +- @cpp Buffer::bind() @ce, @cpp Buffer::unbind() @ce and @cpp Buffer::Target @ce + is now used for indexed buffer binding only. - Moved static binary operations from @ref Math classes into free functions for more convenient usage (see [mosra/magnum#74](https://github.com/mosra/magnum/issues/74)). - Better algorithm for comparing floating-point values. @@ -148,9 +148,9 @@ for a high-level overview. - Properly handle case where @fn_gl_extension{VertexArrayVertexAttribDivisor,EXT,direct_state_access} is not available in the driver (see [mosra/magnum#77](https://github.com/mosra/magnum/issues/77)). -- Removed superfluous level argument from @ref Framebuffer::attachTexture() "Framebuffer::attachTexture*()" +- Removed superfluous level argument from @cpp Framebuffer::attachTexture*() @ce overloads for texture types that don't support mipmapping. -- Proper no-op fallback for @ref Framebuffer::invalidate() "*Framebuffer::invalidate()" +- Proper no-op fallback for @cpp *Framebuffer::invalidate() @ce on platforms where the extensions is not supported (see [mosra/magnum#63](https://github.com/mosra/magnum/issues/63)). - Fixed garbage characters in shader compilation output (see @@ -165,18 +165,18 @@ for a high-level overview. - Fixed bogus version check in @ref Platform::WindowlessCglApplication (see [mosra/magnum#92](https://github.com/mosra/magnum/issues/92)) - Fixed matrix to quaternion conversion algorithm. -- Two different headers in @ref Magnum::Primitives had the same include guard - by accident (see [mosra/magnum#72](https://github.com/mosra/magnum/issues/53)) +- Two different headers in @ref Primitives had the same include guard by + accident (see [mosra/magnum#72](https://github.com/mosra/magnum/issues/53)) - Various compilation fixes on various platforms (see [mosra/magnum#71](https://github.com/mosra/magnum/pull/71)) @subsection changelog-2015-05-deprecated Deprecated APIs - The `Magnum/Query.h` header is deprecated, use one of - @ref Magnum/PrimitiveQuery.h, @ref Magnum/SampleQuery.h or - @ref Magnum/TimeQuery.h instead. -- Using @ref Buffer::Target as constructor or @ref Buffer::setTargetHint() - parameter is deprecated, use @ref Buffer::TargetHint instead. + `Magnum/PrimitiveQuery.h`, `Magnum/SampleQuery.h` or + `Magnum/TimeQuery.h` instead. +- Using @cpp Buffer::Target @ce as constructor or @cpp Buffer::setTargetHint() @ce + parameter is deprecated, use @cpp Buffer::TargetHint @ce instead. - The @cpp SceneGraph::TransformationType @ce enum is depracted, use separate `()` and `Local()` variants instead. - @cpp SceneGraph::AbstractObject::hasFeatures() @ce, @cpp firstFeature() @ce, @@ -189,10 +189,10 @@ for a high-level overview. methods on linked list returned by @ref Platform::BasicScreenedApplication::screens() "Platform::ScreenedApplication::screens()" instead. -- @ref Framebuffer::read() "*Framebuffer::read()" functions taking two - vectors are deprecated, use overload taking @ref Range2Di instead. +- @cpp *Framebuffer::read() @ce functions taking two vectors are deprecated, + use overload taking @ref Range2Di instead. - The @cpp Mesh::maxVertexAttributes() @ce function is deprecated, use - @ref AbstractShaderProgram::maxVertexAttributes() instead. + @cpp AbstractShaderProgram::maxVertexAttributes() @ce instead. - @cpp Math::Vector::dot() @ce, @cpp Math::Complex::dot() @ce, @cpp Math::Quaternion::dot() @ce, @cpp Math::Vector::angle() @ce, @cpp Math::Complex::angle() @ce, @cpp Math::Quaternion::angle() @ce, @@ -202,33 +202,32 @@ for a high-level overview. @ref Math::lerp(), @ref Math::slerp() and @ref Math::cross() instead (see [mosra/magnum#74](https://github.com/mosra/magnum/issues/74)) - The @cpp *Framebuffer::bind(FramebufferTarget) @ce function is deprecated, - use parameter-less @ref Framebuffer::bind() "*Framebuffer::bind()" - instead. + use parameter-less @cpp *Framebuffer::bind() @ce instead. - The @cpp FramebufferTarget::ReadDraw @ce enum value is deprecated, use separate @cpp FramebufferTarget::Read @ce and @cpp FramebufferTarget::Draw @ce values instead. -- @ref CubeMapTexture::imageSize() with explicit face parameter is +- @cpp CubeMapTexture::imageSize() @ce with explicit face parameter is deprecated, use overload that returns one value for all faces instead. - The `Magnum/DebugMessage.h` header is deprecated, use - @ref Magnum/DebugOutput.h instead (see [mosra/magnum#89](https://github.com/mosra/magnum/pull/89)) + `Magnum/DebugOutput.h` instead (see + [mosra/magnum#89](https://github.com/mosra/magnum/pull/89)) - The @cpp DebugMessage::Severity @ce enum is deprecated, use - @ref DebugOutput::Severity instead. + @cpp DebugOutput::Severity @ce instead. - The @cpp DebugMessage::Callback @ce typedef, @cpp DebugMessage::setCallback() @ce and @cpp DebugMessage::setDefaultCallback() @ce function is deprecated, use - @ref DebugOutput::Callback, @ref DebugOutput::setCallback() and - @ref DebugOutput::setDefaultCallback() instead. + @cpp DebugOutput::Callback @ce, @cpp DebugOutput::setCallback() @ce and + @cpp DebugOutput::setDefaultCallback() @ce instead. - The @cpp DebugMessage::maxLoggedMessages() @ce and @cpp DebugMessage::maxMessageLength() @ce functions are deprecated, use - @ref DebugOutput::maxLoggedMessages() and - @ref DebugOutput::maxMessageLength() instead. + @cpp DebugOutput::maxLoggedMessages() @ce and + @cpp DebugOutput::maxMessageLength() @ce instead. - The @cpp DebugMessage::setEnabled() @ce function and related values from @cpp DebugMessage::Source @ce enum are deprecated, use - @ref DebugOutput::setEnabled() along with @ref DebugOutput::Source, - @ref DebugOutput::Type and @ref DebugOutput::Severity instead. + @cpp DebugOutput::setEnabled() @ce along with @cpp DebugOutput::Source @ce, + @cpp DebugOutput::Type @ce and @cpp DebugOutput::Severity @ce instead. - Parameter-less @cpp *Query @ce constructor and parametrized @cpp *Query::begin() @ce function are deprecated, use constructor with - parameter and parameter-less @ref Query::begin() "*Query::begin()" - instead. + parameter and parameter-less @cpp *Query::begin() @ce instead. @subsection changelog-2015-05-compatibility Potential compatibility breakages, removed APIs @@ -237,10 +236,10 @@ for a high-level overview. - Removed deprecated ability to use relative includes (e.g. @cpp #include @ce), use absolute paths (@cpp #include @ce) instead. - - Removed deprecated @cpp Mesh::Primitive @ce enum, use @ref MeshPrimitive + - Removed deprecated @cpp Mesh::Primitive @ce enum, use @cpp MeshPrimitive @ce instead. - Removed deprecated @cpp Sampler::maxAnisotropy() @ce function, use - @ref Sampler::maxMaxAnisotropy() instead. + @cpp Sampler::maxMaxAnisotropy() @ce instead. - Removed deprecated @cpp Math::Geometry::Rectangle @ce class, use @ref Math::Range instead. - Removed deprecated @cpp SceneGraph::Animable::group() @ce function, use @@ -249,8 +248,8 @@ for a high-level overview. `Shaders/resourceImport.hpp` instead. - Removed deprecated @cpp Text::TextRenderer @ce alias, use @ref Text::Renderer instead. - - Removed long-deprecated @ref BufferImage::setData() overload, use the - other one instead. + - Removed long-deprecated @cpp BufferImage::setData() @ce overload, use + the other one instead. @subsection changelog-2015-05-performance Performance improvements @@ -277,7 +276,7 @@ for a high-level overview. for more information - Initial implementation of @ref Platform::AndroidApplication class - @ref Platform::WindowlessWglApplication and @ref Platform::WindowlessCglApplication, - which enable @ref magnum-info "magnum-info", @ref magnum-distancefieldconverter + which enable @ref magnum-gl-info "magnum-info", @ref magnum-distancefieldconverter and @ref magnum-fontconverter utilities on OS X and Windows. See [mosra/magnum#40](https://github.com/mosra/magnum/issues/40) and [mosra/magnum#59](https://github.com/mosra/magnum/pull/59). @@ -287,21 +286,21 @@ for a high-level overview. @extension{ARB,stencil_texturing}, @extension{ARB,texture_rectangle}, @extension{ARB,texture_buffer_object}, @extension{ARB,texture_swizzle}, @extension{EXT,texture_sRGB_decode} extensions (and related ES extensions) and - other missing parameters in @ref Texture "*Texture" classes + other missing parameters in @cpp *Texture @ce classes - Basic support for @extension{ARB,texture_multisample} and - @extension{ARB,texture_storage_multisample} in new @ref MultisampleTexture + @extension{ARB,texture_storage_multisample} in new @cpp MultisampleTexture @ce class - Instanced rendering, base vertex and base instance specification in - @ref Mesh and @ref MeshView classes; @ref Mesh::addVertexBufferInstanced() + @cpp Mesh @ce and @cpp MeshView @ce classes; @cpp Mesh::addVertexBufferInstanced() @ce function for adding buffers with per-instance data (see [mosra/magnum#47](https://github.com/mosra/magnum/issues/47)) -- Mesh multi-draw using @ref MeshView::draw() -- Initial @extension{ARB,multi_bind} support with @ref AbstractTexture::bind() +- Mesh multi-draw using @cpp MeshView::draw() @ce +- Initial @extension{ARB,multi_bind} support with @cpp AbstractTexture::bind() @ce - Support for @extension{ARB,vertex_type_10f_11f_11f_rev} in @cpp AbstractShaderProgram::Attribute::DataType @ce -- New variants of @ref Shader::compile() and @ref AbstractShaderProgram::link(), +- New variants of @cpp Shader::compile() @ce and @cpp AbstractShaderProgram::link() @ce, allowing the driver to perform paralell compilation in multiple threads. -- Added @ref Texture::maxSize() "*Texture::maxSize()" queries +- Added @cpp *Texture::maxSize() @ce queries - @ref MeshTools::compile() for automagic creation of 2D and 3D meshes from imported data - @ref MeshTools::interleaveInto() for interleaving data into existing @@ -314,15 +313,15 @@ for a high-level overview. GL - Support for specifying context flags using @ref Platform::Sdl2Application::Configuration::setFlags() "Platform::*Application::Configuration::setFlags()", - they are now also shown in @ref magnum-info "magnum-info" + they are now also shown in @ref magnum-gl-info "magnum-info" - More robust support for driver detection and driver bug workarounds. Driver - can be detected using @ref Context::detectedDriver(), problematic - extension disabled, which is then shown in @ref magnum-info "magnum-info" - and can be also queried using @ref Context::isExtensionDisabled() -- @ref Context::extensionStrings() for getting list of all extension + can be detected using @cpp Context::detectedDriver() @ce, problematic + extension disabled, which is then shown in @ref magnum-gl-info "magnum-info" + and can be also queried using @cpp Context::isExtensionDisabled() @ce +- @cpp Context::extensionStrings() @ce for getting list of all extension strings exposed by the driver -- @ref Context::resetState() for resetting internal state tracker, allowing - to use Magnum along with third-party OpenGL code (see +- @cpp Context::resetState() @ce for resetting internal state tracker, + allowing to use Magnum along with third-party OpenGL code (see [mosra/magnum#48](https://github.com/mosra/magnum/issues/48)) - @ref MAGNUM_TARGET_WEBGL CMake and preprocessor variable @@ -339,11 +338,11 @@ for a high-level overview. [mosra/magnum#39](https://github.com/mosra/magnum/issues/39). - The need for compiler compatibility mode is now automatically detected by CMake to avoid strange compilation errors later -- Split out @ref Texture functionality into dedicated @ref TextureArray, - @ref MultisampleTexture and @ref RectangleTexture classes to make their - usage less error-prone -- @ref Buffer::invalidateData(), @ref Buffer::invalidateSubData() and - @ref Renderer::resetNotificationStrategy() functions are enabled on +- Split out @cpp Texture @ce functionality into dedicated @cpp TextureArray @ce, + @cpp MultisampleTexture @ce and @cpp RectangleTexture @ce classes to make + their usage less error-prone +- @cpp Buffer::invalidateData() @ce, @cpp Buffer::invalidateSubData() @ce and + @cpp Renderer::resetNotificationStrategy() @ce functions are enabled on OpenGL ES as a no-op - Added @ref std::vector overload of @ref MeshTools::combineIndexArrays() for greater runtime-usage flexibility @@ -372,51 +371,51 @@ for a high-level overview. - @cpp Mesh::setVertexCount() @ce and @cpp Mesh::setIndexCount() @ce had nonintuitive behavior in some corner cases and are deprecated, use general - @ref Mesh::setCount() function instead + @cpp Mesh::setCount() @ce function instead - @cpp MeshView::setVertexRange() @ce and four-/two-argument @cpp MeshView::setIndexRange() @ce are deprecated for similar reason as - above, use @ref MeshView::setCount(), @ref MeshView::setBaseVertex() - and three-/one-argument @ref MeshView::setIndexRange() instead + above, use @cpp MeshView::setCount() @ce, @cpp MeshView::setBaseVertex() @ce + and three-/one-argument @cpp MeshView::setIndexRange() @ce instead - @cpp Texture::Target @ce enum is deprecated as the API was too error-prone, - use dedicated @ref TextureArray, @ref MultisampleTexture and - @ref RectangleTexture classes instead + use dedicated @cpp TextureArray @ce, @cpp MultisampleTexture @ce and + @cpp RectangleTexture @ce classes instead - @cpp Framebuffer::attachTexture*D() @ce is deprecated, use more generic - @ref Framebuffer::attachTexture() and - @ref Framebuffer::attachTextureLayer() instead + @cpp Framebuffer::attachTexture() @ce and + @cpp Framebuffer::attachTextureLayer() @ce instead - @cpp FramebufferBlit::*Buffer @ce enum values are deprecated, use shorter - @ref FramebufferBlit::Color and similar instead + @cpp FramebufferBlit::Color @ce and similar instead - @ref Audio::Source::play(), @ref SceneGraph::AbstractObject::setClean(), @ref SceneGraph::AbstractObject::transformationMatrices() and similar taking @ref std::initializer_list of pointers are deprecated, use versions taking list of references instead - @ref MeshTools::compressIndices() and @ref MeshTools::interleave() - which filled @ref Mesh and @ref Buffer directly are deprecated as they - had undesired side-effects in some cases, use the data-returning versions - instead and then configure mesh and buffer manually + which filled @cpp Mesh @ce and @cpp Buffer @ce directly are deprecated as + they had undesired side-effects in some cases, use the data-returning + versions instead and then configure mesh and buffer manually - @ref MeshTools::combineIndexedArrays() taking @ref std::tuple is deprecated, use version taking @ref std::pair instead - @ref MeshTools::removeDuplicates() taking also list of indices is deprecated, use the function in conjunction with @ref MeshTools::duplicate(). See function documentation for more information. -- Parameter-less @ref Mesh::draw() and @ref MeshView::draw() are +- Parameter-less @cpp Mesh::draw() @ce and @cpp MeshView::draw() @ce are deprecated, use versions with explicit shader parameter instead - Deprecated implicit conversion of @ref Resource "Resource" to @cpp U& @ce, as it is not safe. Use explicit dereference operator instead. -- Texture binding using @ref Texture::bind() "*Texture::bind()" is - deprecated, use setup functions of particular shaders instead (e.g. - @ref Shaders::Phong::setDiffuseTexture()) +- Texture binding using @cpp *Texture::bind() @ce is deprecated, use setup + functions of particular shaders instead (e.g. + @cpp Shaders::Phong::setDiffuseTexture() @ce) - @cpp Context::Flag::Robustness @ce is deprecated, use - @ref Context::Flag::RobustAccess which reflects OpenGL naming better + @cpp Context::Flag::RobustAccess @ce which reflects OpenGL naming better instead - @cpp Texture::maxLayers() @ce has misleading naming and is deprecated, use - @ref Shader::maxCombinedTextureImageUnits() instead + @cpp Shader::maxCombinedTextureImageUnits() @ce instead @subsection changelog-2014-06-compatibility Potential compatibility breakages, removed APIs - All functionality @ref changelog-2013-10-deprecated "deprecated in 2013.10" has been removed, namely: - - Removed deprecated raw-pointer versions of @ref Buffer::setData() and - @ref Buffer::setSubData(), use overloads taking + - Removed deprecated raw-pointer versions of @cpp Buffer::setData() @ce + and @cpp Buffer::setSubData() @ce, use overloads taking @cpp Containers::ArrayReference @ce instead - Removed deprecated `Magnum/ImageFormat.h` header and @cpp ImageFormat @ce/@cpp ImageType @ce enums, use `Magnum/ColorFormat.h` @@ -482,8 +481,8 @@ No dependency changes in this release. @cpp magenta() @ce and @cpp yellow() @ce convenience functions to @ref Color3 and @ref Color4 classes - Convenience @ref Color3ub and @ref Color4ub typedefs -- New @ref version() utility functions for converting @ref Version enum - value to major/minor version number and back +- New @cpp version() @ce utility functions for converting @cpp Version @ce + enum value to major/minor version number and back - Added @cpp release() @ce function to @ref Image and @ref Trade::ImageData for releasing ownership of the data, similar to @ref std::unique_ptr::release() (see [mosra/magnum#29](https://github.com/mosra/magnum/issues/29)) @@ -492,8 +491,8 @@ No dependency changes in this release. - Disallowing conversion of rvalue @ref Image and @ref Trade::ImageData to ImageReference as it would result in access to deleted memory (GCC 4.8.1/Clang only) -- No-op fallback for @ref Texture::setMaxAnisotropy() "*Texture::setMaxAnisotropy()" - in case @extension{EXT,texture_filter_anisotropic extension} is not supported +- No-op fallback for @cpp *Texture::setMaxAnisotropy() @ce in case + @extension{EXT,texture_filter_anisotropic extension} is not supported - Added @cpp round() @ce, @cpp floor() @ce and @cpp ceil() @ce scalar/vector functions to @ref Math namespace - @ref Math::minmax() and @ref Math::Vector2::minmax() functions @@ -516,7 +515,7 @@ No dependency changes in this release. @ref Trade::MeshData2D and @ref Trade::MeshData3D - OpenGL ES 3.0 build now shares list of vendor extensions with OpenGL ES 2.0 build (i.e. only those extensions that aren't part of ES 3.0 are present in - @ref Magnum::Extensions) + @cpp Extensions @ce) - All classes in documentation are now shown with corresponding @cpp #include @ce path @@ -528,7 +527,7 @@ No dependency changes in this release. - @cpp ImageReference @ce class now stores const data pointer instead of mutable one, modifying the data through the class interface isn't valid use case anyway -- Added default template parameter to @ref Buffer::data() and made +- Added default template parameter to @cpp Buffer::data() @ce and made @ref Image::data() "*Image::data()" templated to have them consistent. Note that this is source-compatible change. - @cpp Query::result() @ce returns @cpp true @ce if value is nonzero @@ -549,15 +548,15 @@ No dependency changes in this release. @subsection changelog-2014-01-bugfixes Bug fixes -- Fixed @ref CubeMapTextureArray::image() function (more precisely it +- Fixed @cpp CubeMapTextureArray::image() @ce function (more precisely it wasn't working at all). See also [mosra/magnum#31](https://github.com/mosra/magnum/issues/31). -- Fixed wrong assertion in @ref Texture::setWrapping() for rectangle +- Fixed wrong assertion in @cpp Texture::setWrapping() @ce for rectangle textures - Fixed wrong assertion in @cpp AbstractImage::pixelSize() @ce when computing size of separate depth and stencil formats -- @ref Mesh::addVertexBuffer() now properly computes offsets for matrix +- @cpp Mesh::addVertexBuffer() @ce now properly computes offsets for matrix attributes -- Taking index buffer offset into account in @ref MeshView class +- Taking index buffer offset into account in @cpp MeshView @ce class - Fixed various issues with textured @ref Shaders::Flat shader (actually the textured version was not working at all) - Various OS X-related fixes in @ref Shaders library. See also @@ -578,13 +577,13 @@ No dependency changes in this release. @subsection changelog-2014-01-deprecated Deprecated APIs -- @cpp Buffer::Usage @ce enum is deprecated to reduce header dependencies, use - global @ref BufferUsage enum instead +- @cpp Buffer::Usage @ce enum is deprecated to reduce header dependencies, + use global @cpp BufferUsage @ce enum instead - @cpp Mesh::Primitive @ce enum is deprecated to reduce header dependencies, - use global @ref MeshPrimitive enum instead + use global @cpp MeshPrimitive @ce enum instead - @cpp Sampler::maxAnisotropy() @ce is deprecated to avoid naming conflict with - @ref Texture::setMaxAnisotropy() "*Texture::setMaxAnisotropy()", use - @ref Sampler::maxMaxAnisotropy() instead + @cpp *Texture::setMaxAnisotropy() @ce, use + @cpp Sampler::maxMaxAnisotropy() @ce instead - @cpp Magnum::Geometry::Rectangle @ce class (and @cpp Rectangle* @ce typedefs) is deprecated, use more generic and feature-rich @ref Math::Range instead. @@ -664,8 +663,8 @@ for a high-level overview. Magnum namespace. Note that template aliases are not present in GCC 4.6 builds. - Limit queries for all OpenGL objects, the information is now printed also - by @ref magnum-info "magnum-info" utility. -- @ref Context::isExtensionSupported() is now able to query extension + by @ref magnum-gl-info "magnum-info" utility. +- @cpp Context::isExtensionSupported() @ce is now able to query extension availability on particular GLSL version - Using @ref std::unique_ptr and C++1y @cpp std::optional @ce for resources returned from @ref Trade::AbstractImporter for better usability and to @@ -679,8 +678,8 @@ for a high-level overview. @subsection changelog-2013-10-changes Changes -- @ref Buffer::setData() and @ref Buffer::setSubData() are now accepting - @ref Containers::ArrayReference for more convenient usage +- @cpp Buffer::setData() @ce and @cpp Buffer::setSubData() @ce are now + accepting @cpp Containers::ArrayReference @ce for more convenient usage - @ref Platform::Sdl2Application::viewportEvent() "Platform::*Application::viewportEvent()" is not called at all if window size doesn't change, allowing for less cumbersome ofscreen rendering setups @@ -711,8 +710,8 @@ for a high-level overview. into @ref Math::swizzle() - @cpp Buffer::setData() @ce and @cpp Buffer::setSubData() @ce overloads taking pair of data pointer and size are deprecated, use - @cpp Containers::ArrayReference @ce-based @ref Buffer::setData() and - @ref Buffer::setSubData() + @cpp Containers::ArrayReference @ce-based @cpp Buffer::setData() @ce and + @cpp Buffer::setSubData() @ce - `ImageFormat.h` header, @cpp ImageFormat @ce and @cpp ImageType @ce enums are deprecated, use `ColorFormat.h` header, `ColorFormat` and `ColorType` enums which reflect OpenGL naming better instead @@ -724,7 +723,7 @@ for a high-level overview. - @cpp AbstractShaderProgram::maxSupportedVertexAttributeCount() @ce, @cpp AbstractTexture::maxSupportedLayerCount() @ce and @cpp Sampler::maxSupportedAnisotropy() @ce are deprecated in favor of less - verbose @ref AbstractShaderProgram::maxVertexAttributes(), + verbose @cpp AbstractShaderProgram::maxVertexAttributes() @ce, @cpp AbstractTexture::maxLayers() @ce and @cpp Sampler::maxAnisotropy() @ce @subsection changelog-2013-10-compatibility Potential compatibility breakages, removed APIs diff --git a/doc/changelog.dox b/doc/changelog.dox index 4cd3bdb31..2037a4cce 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -73,13 +73,14 @@ See also: @ref GL::hasCompressedPixelFormat(), @ref compressedPixelFormat() utilities for converting generic @ref PixelFormat / @ref CompressedPixelFormat to GL-specific @ref GL::PixelFormat, @ref GL::PixelType and - @ref GL::CompressedPixelFormat values. The @ref BufferImage and - @ref CompressedBufferImage classes now have overloads accepting both types. + @ref GL::CompressedPixelFormat values. The @ref GL::BufferImage and + @ref GL::CompressedBufferImage classes now have overloads accepting both + types. - New @ref GL::meshPrimitive() and @ref GL::meshIndexType() utilities for converting generic @ref MeshPrimitive and @ref MeshIndexType to GL-specific - @ref GL::MeshPrimitive and @ref GL::MeshIndexType values. The @ref Mesh + @ref GL::MeshPrimitive and @ref GL::MeshIndexType values. The @ref GL::Mesh class now has overloads accepting both types. -- New @ref Mesh::indexType() and @ref MeshView::mesh() getters +- New @ref GL::Mesh::indexType() and @ref GL::MeshView::mesh() getters - New @ref GL::samplerFilter(), @ref GL::samplerMipmap() and @ref GL::samplerWrapping() utilities for converting generic @ref SamplerFilter, @ref SamplerMipmap and @ref SamplerWrapping to G @@ -96,7 +97,7 @@ See also: their WebGL counterparts @webgl_extension{EXT,color_buffer_half_float}, @webgl_extension{WEBGL,color_buffer_float}, @webgl_extension{EXT,color_buffer_float} -- Ported @ref OpenGLTester to WebGL +- Ported @ref GL::OpenGLTester to WebGL @subsubsection changelog-latest-new-platform Platform libraries @@ -179,16 +180,17 @@ See also: shader sources containing Unicode characters to be truncated to empty strings. See the @cpp "emscripten-pthreads-broken-unicode-shader-sources" @ce workaround description for details. -- @ref Attribute::DataType::HalfFloat was not available on WebGL 2 by mistake -- A wrong code path for @ref Framebuffer::checkStatus() was selected on WebGL - 1 by mistake +- @ref GL::Attribute::DataType::HalfFloat was not available on WebGL 2 by + mistake +- A wrong code path for @ref GL::Framebuffer::checkStatus() was selected on + WebGL 1 by mistake - Fixed `MAGNUM_PLUGINS_DIR` variables to contain proper absolute location by default again. @subsection changelog-latest-deprecated Deprecated APIs -- All GL-related headers and APIs from the root @ref Magnum/ directory and - @ref Magnum namespace were moved to @ref Magnum/GL directory and +- All GL-related headers and APIs from the root `Magnum/` directory and + @ref Magnum namespace were moved to the `Magnum/GL/` directory and @ref Magnum::GL namespace. See their documentation for information about particular files, classes, enums, typedefs, values and functions. - The `MAGNUM_ASSERT_VERSION_SUPPORTED()`, `MAGNUM_ASSERT_EXTENSION_SUPPORTED()` @@ -205,8 +207,8 @@ See also: but marked as deprecated. Use either the generic values or @ref GL::PixelFormat (together with @ref GL::PixelType) and @ref GL::CompressedPixelFormat instead. -- @ref PixelStorage::pixelSize() was deprecated, use @ref GL::pixelSize() - or @ref Magnum::pixelSize() instead +- `PixelStorage::pixelSize()` was deprecated, use @ref GL::pixelSize() or + @ref Magnum::pixelSize() instead - `PixelStorage::dataProperties(GL::PixelFormat, GL::PixelSize, const Vector3i&)` was deprecated for being too GL-specific, use @ref PixelStorage::dataProperties(std::size_t, const Vector3i&) const @@ -336,19 +338,19 @@ See also: accepts GL-specific pixel formats, only the non-deprecated values from the generic @ref PixelFormat enum - The @ref Image::pixelSize(), @ref ImageView::pixelSize(), - @ref Trade::ImageData::pixelSize() and @ref BufferImage::pixelSize() + @ref Trade::ImageData::pixelSize() and @ref GL::BufferImage::pixelSize() functions now return @ref UnsignedInt instead of @cpp std::size_t @ce. - Removed `PixelStorage::setSwapBytes()`, as every Magnum API dealing with images basically only asserted that it's not set. Use @ref Corrade::Utility::Endianness instead. - Removed the @cpp Buffer::Usage @ce enum that was deprecated in 2014.01, use - the global @ref BufferUsage enum instead + the global @ref GL::BufferUsage enum instead - Removed the `Magnum/Query.h` header that was deprecated in 2015.05, use one of @ref Magnum/PrimitiveQuery.h, @ref Magnum/SampleQuery.h or @ref Magnum/TimeQuery.h instead -- Removed ability to use @ref Buffer::Target as constructor or - @ref Buffer::setTargetHint() parameter that was deprecated in 2015.05, use - @ref Buffer::TargetHint instead +- Removed ability to use @ref GL::Buffer::Target as constructor or + @ref GL::Buffer::setTargetHint() parameter that was deprecated in 2015.05, + use @ref GL::Buffer::TargetHint instead - Removed the @cpp SceneGraph::TransformationType @ce enum that was deprecated in 2015.05, use separate `()` and `Local()` variants instead @@ -367,7 +369,7 @@ See also: vectors that was deprecated in 2015.05, use overload taking @ref Range2Di instead - Removed the @cpp Mesh::maxVertexAttributes() @ce function that was - deprecated in 2015.05, use @ref AbstractShaderProgram::maxVertexAttributes() + deprecated in 2015.05, use @ref GL::AbstractShaderProgram::maxVertexAttributes() instead - Removed @cpp Math::Vector::dot() @ce, @cpp Math::Complex::dot() @ce, @cpp Math::Quaternion::dot() @ce, @cpp Math::Vector::angle() @ce, @@ -377,35 +379,35 @@ See also: were deprecated in 2015.05, use @ref Math::dot(), @ref Math::angle(), @ref Math::lerp(), @ref Math::slerp() and @ref Math::cross() instead - Removed @cpp *Framebuffer::bind(FramebufferTarget) @ce function that was - deprecated in 2%15.05, use parameter-less @ref Framebuffer::bind() "*Framebuffer::bind()" + deprecated in 2%15.05, use parameter-less @ref GL::Framebuffer::bind() "*Framebuffer::bind()" instead - Removed @cpp FramebufferTarget::ReadDraw @ce enum value that was deprecated in 2015.05, use separate @cpp FramebufferTarget::Read @ce and @cpp FramebufferTarget::Draw @ce values instead -- Removed @ref CubeMapTexture::imageSize() with explicit face parameter that - was deprecated in 2015.05, use overload that returns one value for all +- Removed @ref GL::CubeMapTexture::imageSize() with explicit face parameter + that was deprecated in 2015.05, use overload that returns one value for all faces instead - Removed the `Magnum/DebugMessage.h` header that was deprecated in 2015.05, - use @ref Magnum/DebugOutput.h instead + use @ref Magnum/GL/DebugOutput.h instead - Removed the @cpp DebugMessage::Severity @ce enum that was deprecated in - 2015.05, use @ref DebugOutput::Severity instead + 2015.05, use @ref GL::DebugOutput::Severity instead - Removed @cpp DebugMessage::Callback @ce typedef, @cpp DebugMessage::setCallback() @ce and @cpp DebugMessage::setDefaultCallback() @ce function that were - deprecated in 2015.05, use @ref DebugOutput::Callback, - @ref DebugOutput::setCallback() and @ref DebugOutput::setDefaultCallback() - instead + deprecated in 2015.05, use @ref GL::DebugOutput::Callback, + @ref GL::DebugOutput::setCallback() and + @ref GL::DebugOutput::setDefaultCallback() instead - Removed @cpp DebugMessage::maxLoggedMessages() @ce and @cpp DebugMessage::maxMessageLength() @ce functions that were deprecated in - 2015.05, use @ref DebugOutput::maxLoggedMessages() and - @ref DebugOutput::maxMessageLength() instead + 2015.05, use @ref GL::DebugOutput::maxLoggedMessages() and + @ref GL::DebugOutput::maxMessageLength() instead - Removed @cpp DebugMessage::setEnabled() @ce function and related values from @cpp DebugMessage::Source @ce enum that were deprecated in 2015.05, - use @ref DebugOutput::setEnabled() along with @ref DebugOutput::Source, - @ref DebugOutput::Type and @ref DebugOutput::Severity instead + use @ref GL::DebugOutput::setEnabled() along with @ref GL::DebugOutput::Source, + @ref GL::DebugOutput::Type and @ref GL::DebugOutput::Severity instead - Removed parameter-less @cpp *Query @ce constructor and parametrized @cpp *Query::begin() @ce function that were deprecated in 2015.05, use - constructor with parameter and parameter-less @ref Query::begin() "*Query::begin()" - instead + constructor with parameter and parameter-less + @ref GL::SampleQuery::begin() "GL::*Query::begin()" instead - Removed `Timeline::setMinimalFrameTime()` that was deprecated since June 2015, use @ref Platform::Sdl2Application::setSwapInterval() "Platform::*Application::setSwapInterval()" and/or @ref Platform::Sdl2Application::setMinimalLoopPeriod() "Platform::*Application::setMinimalLoopPeriod()" @@ -434,10 +436,11 @@ See also: @ref Math::Color3 and @ref Math::Color4 instead - Removed `Magnum/ColorFormat.h` header and `ColorFormat` and `ColorType` enums that were deprecated since August 2015, use - @ref Magnum/PixelFormat.h, @ref PixelFormat and @ref PixelType instead + @ref Magnum/GL/PixelFormat.h, @ref GL::PixelFormat and @ref GL::PixelType + instead - Removed @ref Image, @ref ImageView, @ref Trade::ImageData constructors, - @ref Image::setData() and @ref ImageView::setData() taking `void*` that - were deprecated since August 2015, use constructors and functions taking + `Image::setData()` and `ImageView::setData()` taking `void*` that were + deprecated since August 2015, use constructors and functions taking @ref Corrade::Containers::Array / @ref Corrade::Containers::ArrayView instead @@ -527,46 +530,54 @@ a high-level overview. (see [mosra/magnum#53](https://github.com/mosra/magnum/issues/53)) - Compressed image support: - Added @ref CompressedPixelFormat enum, @ref CompressedImage, - @ref CompressedImageView and @ref CompressedBufferImage classes - - Added @ref Texture::setCompressedImage() "*Texture::setCompressedImage()", - @ref Texture::setCompressedSubImage() "*Texture::setCompressedSubImage()" - and @ref Texture::compressedImage() "Texture::compressedImage()" + @ref CompressedImageView and + @ref GL::CompressedBufferImage "CompressedBufferImage" classes + - Added @ref GL::Texture::setCompressedImage() "*Texture::setCompressedImage()", + @ref GL::Texture::setCompressedSubImage() "*Texture::setCompressedSubImage()" + and @ref GL::Texture::compressedImage() "Texture::compressedImage()" functions - - Added @ref Renderer::Hint::TextureCompression enum value + - Added @ref GL::Renderer::Hint::TextureCompression "Renderer::Hint::TextureCompression" + enum value - Ability to pass arguments to engine startup via - @ref Context "command-line and environment variables": + @ref GL::Context "command-line and environment variables": - The engine now prints what driver workarounds are enabled and gives the user an ability to disable them via `--magnum-disable-workarounds` - It's possible to disable OpenGL extensions to work around driver bugs using `--magnum-disable-extensions` - It's possible to control amount of log output on engine startup via `--magnum-log` -- Published OpenGL test setup code to a new @ref OpenGLTester library and - added GPU time benchmarking to it +- Published OpenGL test setup code to a new @ref GL::OpenGLTester "OpenGLTester" + library and added GPU time benchmarking to it - Added @ref PixelStorage class, tracking OpenGL pixel storage state and applying it prior to read and upload of image data (see [mosra/magnum#104](https://github.com/mosra/magnum/issues/104)) - Added @ref NoCreate tag to control initialization of GL object classes -- Added templated version of @ref Buffer::map() "Buffer::map*()" functions +- Added templated version of @ref GL::Buffer::map() "Buffer::map*()" + functions - New `BUILD_MULTITHREADED` @ref cmake "CMake option" and a corresponding @ref MAGNUM_BUILD_MULTITHREADED CMake variable and preprocessor define -- Added @ref Framebuffer::detach() as a conunterpart to all the - @ref Framebuffer::attachTexture() "attach*()" functions -- Added @ref Framebuffer::attachLayeredTexture() for layered texture - attachments -- Added @ref AbstractFramebuffer::clearDepth(), @ref AbstractFramebuffer::clearStencil(), - @ref AbstractFramebuffer::clearDepthStencil(), @ref DefaultFramebuffer::clearColor(), - @ref Framebuffer::clearColor() -- Added @ref BufferImage::release() "{Compressed,}BufferImage::release()" and - an ability to create @ref BufferImage "{Compressed,}BufferImage" from an - existing @ref Buffer -- New @ref Buffer::mapRead() convenience alternatives to @ref Buffer::map() - that return @cpp const @ce pointer and implicitly map as read-only -- Implemented @ref Renderer::setMemoryBarrier() and - @ref Renderer::setMemoryBarrierByRegion() -- Added @ref isVersionES() utility -- Added @ref Context::isCoreProfile() -- Added @ref TransformFeedback::maxVertexStreams() limit query +- Added @ref GL::Framebuffer::detach() "Framebuffer::detach()" as a + conunterpart to all the @ref GL::Framebuffer::attachTexture() "attach*()" + functions +- Added @ref GL::Framebuffer::attachLayeredTexture() "Framebuffer::attachLayeredTexture()" + for layered texture attachments +- Added @ref GL::AbstractFramebuffer::clearDepth() "AbstractFramebuffer::clearDepth()", + @ref GL::AbstractFramebuffer::clearStencil() "AbstractFramebuffer::clearStencil()", + @ref GL::AbstractFramebuffer::clearDepthStencil() "AbstractFramebuffer::clearStencil()", + @ref GL::DefaultFramebuffer::clearColor() "DefaultFramebuffer::clearColor()", + @ref GL::Framebuffer::clearColor() "Framebuffer::clearColor()" +- Added @ref GL::BufferImage::release() "{Compressed,}BufferImage::release()" + and an ability to create @ref GL::BufferImage "{Compressed,}BufferImage" + from an existing @ref GL::Buffer "Buffer" +- New @ref GL::Buffer::mapRead() "Buffer::mapRead()" convenience alternatives + to @ref GL::Buffer::map() "Buffer::map()" that return @cpp const @ce + pointer and implicitly map as read-only +- Implemented @ref GL::Renderer::setMemoryBarrier() "Renderer::setMemoryBarrier()" + and @ref GL::Renderer::setMemoryBarrierByRegion() "Renderer::setMemoryBarrierByRegion()" +- Added @ref GL::isVersionES() "isVersionES()" utility +- Added @ref GL::Context::isCoreProfile() "Context::isCoreProfile()" +- Added @ref GL::TransformFeedback::maxVertexStreams() "TransformFeedback::maxVertexStreams()" + limit query @subsubsection changelog-2018-02-new-audio Audio library @@ -590,7 +601,8 @@ a high-level overview. [mosra/magnum#110](https://github.com/mosra/magnum/pull/110), [mosra/magnum#116](https://github.com/mosra/magnum/pull/116)) - New namespace @ref Audio::Extensions for OpenAL extensions, similar to - @ref Extensions for OpenGL (see [mosra/magnum#111](https://github.com/mosra/magnum/pull/111)) + @ref GL::Extensions "Extensions" for OpenGL (see + [mosra/magnum#111](https://github.com/mosra/magnum/pull/111)) - HRTF support through @ref Audio::Context::Configuration::setHrtf(), @ref Audio::Context::isHrtfEnabled(), @ref Audio::Context::hrtfStatus() (see [mosra/magnum#121](https://github.com/mosra/magnum/pull/121)) @@ -703,10 +715,10 @@ a high-level overview. @ref Platform::GlfwApplication::window() to access the underlying window handle - Added @ref Platform::Sdl2Application::tickEvent() -- Added @ref Platform::Context::tryCreate(), which allows the context to be - destructed and created again in case the version is not what the - application wants (as opposed to just aborting the application) (see - [mosra/magnum#105](https://github.com/mosra/magnum/issues/105)) +- Added @ref Platform::GLContext::tryCreate() "Platform::Context::tryCreate()", + which allows the context to be destructed and created again in case the + version is not what the application wants (as opposed to just aborting the + application) (see [mosra/magnum#105](https://github.com/mosra/magnum/issues/105)) - Added @ref Platform::Sdl2Application::Configuration::setSRGBCapable() - Added @ref Platform::Sdl2Application::Configuration::WindowFlag::Borderless and @ref Platform::Sdl2Application::Configuration::WindowFlag::AllowHighDpi @@ -737,7 +749,7 @@ a high-level overview. @subsubsection changelog-2018-02-new-shaders Shaders library -- Ability to construct all @ref Shader classes without an OpenGL context +- Ability to construct all @ref Shaders classes without an OpenGL context present using @ref NoCreate @subsubsection changelog-2018-02-new-text Text library @@ -780,39 +792,46 @@ a high-level overview. - Functionality that is not available on WebGL (like debug output etc.) is not present in WebGL builds to reduce compiled code size -- The @ref Mesh class now stores a copy of @ref Buffer instance instead of - reference, meaning that you can move your buffers freely after assigning - them to a mesh -- @ref Texture::setStorage() "*Texture::setStorage()" fallback implementation - on OpenGL ES 2.0 and WebGL 1.0 now properly translates sized texture - formats to what the drivers expect (see [mosra/magnum#214](https://github.com/mosra/magnum/issues/214)) +- The @ref GL::Mesh "Mesh" class now stores a copy of @ref GL::Buffer "Buffer" + instance instead of reference, meaning that you can move your buffers + freely after assigning them to a mesh +- @ref GL::Texture::setStorage() "*Texture::setStorage()" fallback + implementation on OpenGL ES 2.0 and WebGL 1.0 now properly translates sized + texture formats to what the drivers expect (see + [mosra/magnum#214](https://github.com/mosra/magnum/issues/214)) - @ref Trade::TgaImporter "TgaImporter" and @ref Trade::TgaImageConverter "TgaImageConverter" now consistently use RGB(A) on all platforms and don't require BGR(A) on desktop - Ignoring @cpp "No errors." @ce message produced by GLSL compiler/linker on Intel Windows drivers. -- @ref Texture::image() "*Texture::image()" and @ref Framebuffer::read() "*Framebuffer::read()" +- @ref GL::Texture::image() "*Texture::image()" and + @ref GL::Framebuffer::read() "*Framebuffer::read()" now reallocate image data only if needed, for both @ref Image and - @ref BufferImage types + @ref GL::BufferImage "BufferImage" types - R-value @ref Image "Image*" no longer restricts conversion to @ref ImageView as it is a valid use case (for example passing output from - @ref Framebuffer::read() directly to @ref Trade::AbstractImageConverter::exportToFile()) + @ref GL::Framebuffer::read() "Framebuffer::read()" directly to + @ref Trade::AbstractImageConverter::exportToFile()) - It's no longer possible to call @ref Image::data() "Image*::data()" on r-value instances as that would cause accessing freed data. Use @ref Image::release() instead. -- @ref Buffer::map() now returns @ref Corrade::Containers::ArrayView instead - of a plain pointer for better security -- Improved @ref Context::resetState() to better handle corner cases with VAOs +- @ref GL::Buffer::map() "Buffer::map()" now returns + @ref Corrade::Containers::ArrayView instead of a plain pointer for better + security +- Improved @ref GL::Context::resetState() "Context::resetState()" to better + handle corner cases with VAOs - Graceful handling of broken GL contexts -- Behavior of @ref Version::GLES200 and upwards on desktop OpenGL is changed - to request an ES dialect of GLSL when used in @ref Shader (instead of a - particular desktop GL version that supports given ES version), looks for - @extension{ARB,ES2_compatibility} and others (instead of checking for a - particular desktop GL version that supports given ES version) +- Behavior of @ref GL::Version::GLES200 "Version::GLES200" and upwards on + desktop OpenGL is changed to request an ES dialect of GLSL when used in + @ref GL::Shader "Shader" (instead of a particular desktop GL version that + supports given ES version), looks for @extension{ARB,ES2_compatibility} and + others (instead of checking for a particular desktop GL version that + supports given ES version) - Binding some default VAO in case the engine is running on core profile with @extension{ARB,vertex_array_object} disabled - It's now possible to create @ref ImageView with @cpp nullptr @ce data (for - example for old-style texture allocation using @ref Texture::setImage()) + example for old-style texture allocation using + @ref GL::Texture::setImage() "Texture::setImage()") - Various workarounds to make the engine working better on SVGA3D drivers (VMWare guest) - Various updates and code modernization (see @@ -904,9 +923,10 @@ a high-level overview. @subsection changelog-2018-02-bugfixes Bug fixes -- Wrapping mode for @ref CubeMapTexture is now correctly two-dimensional - instead of three-dimensional, wrapping mode for @ref Texture2DArray "TextureNDArray" - is now correctly N-dimensional instead of N+1 +- Wrapping mode for @ref GL::CubeMapTexture "CubeMapTexture" is now correctly + two-dimensional instead of three-dimensional, wrapping mode for + @ref GL::Texture2DArray "TextureNDArray" is now correctly N-dimensional + instead of N+1 - Fixed WebGL context creation on Internet Explorer, it claims to have version 0.94 - Fixed random browser-specific issues by avoiding the use of XHTML in @@ -918,17 +938,19 @@ a high-level overview. - Various fixes for OpenGL object label queries on AMD drivers - Fixed @ref TextureTools::distanceField() on 3.0 <= GL < 3.2 - Fixed driver crash on AMD with @ref TextureTools::distanceField() -- @ref Framebuffer::attachCubeMapTexture() incorrectly behaved as a layered - attachment (see [mosra/magnum#123](https://github.com/mosra/magnum/issues/123)) +- @ref GL::Framebuffer::attachCubeMapTexture() "Framebuffer::attachCubeMapTexture()" + incorrectly behaved as a layered attachment (see + [mosra/magnum#123](https://github.com/mosra/magnum/issues/123)) - Fixed object label queries using the @extension{EXT,debug_label} extension - @extension{EXT,direct_state_access} function was accidentally used in @extension{ARB,direct_state_access} code path, causing crashes on Mesa -- Properly export @ref Framebuffer::DrawAttachment to avoid linker failures - on Windows -- Fixed @ref Framebuffer attachments on GLES2 drivers w/o separate read/draw - bindings (see [mosra/magnum#204](https://github.com/mosra/magnum/issues/204)) -- Fixed @ref Framebuffer binding on WebGL (see +- Properly export @ref GL::Framebuffer::DrawAttachment "Framebuffer::DrawAttachment" + to avoid linker failures on Windows +- Fixed @ref GL::Framebuffer "Framebuffer" attachments on GLES2 drivers w/o + separate read/draw bindings (see + [mosra/magnum#204](https://github.com/mosra/magnum/issues/204)) +- Fixed @ref GL::Framebuffer "Framebuffer" binding on WebGL (see [mosra/magnum#134](https://github.com/mosra/magnum/pull/134)) - On Emscripten, @ref Platform::Sdl2Application was by default rendering a 800x600 canvas to an area of 640x480 pixels, causing severe aliasing. @@ -941,8 +963,8 @@ a high-level overview. its subclasses - Fixed @ref Trade::ObjImporter on Android - Fixed assertion when using @ref DebugTools::ObjectRenderer -- Fixed appearance of @ref Primitives::Cylinder::solid() and - @ref Primitives::Circle::solid() (see [mosra/magnum#197](https://github.com/mosra/magnum/pull/197), +- Fixed appearance of `Primitives::Cylinder::solid()` and + `Primitives::Circle::solid()` (see [mosra/magnum#197](https://github.com/mosra/magnum/pull/197), [mosra/magnum#220](https://github.com/mosra/magnum/pull/220)) - Fixed a possible OOB access when reading @ref Math::Vector / @ref Math::RectangularMatrix from @ref Corrade::Utility::Configuration @@ -981,13 +1003,12 @@ a high-level overview. - `SceneGraph::AbstractCamera`, `SceneGraph::AbstractBasicCamera2D`, `SceneGraph::AbstractBasicCamera3D`, `SceneGraph::AbstractCamera2D` and `SceneGraph::AbstractCamera3D` are deprecated, use @ref SceneGraph::Camera, - @ref SceneGraph::BasicCamera2D, @ref SceneGraph::BasicCamera3D, - @ref SceneGraph::Camera2D and @ref SceneGraph::Camera3D instead + @ref SceneGraph::BasicCamera2D, @ref SceneGraph::BasicCamera3D, @ref SceneGraph::Camera2D and @ref SceneGraph::Camera3D instead - `Math::Matrix::IdentityType`, `Math::Matrix::ZeroType`, `Math::Matrix::Identity` and `Math::Matrix::Zero` are deprecated, use the new @ref Math::IdentityInit and @ref Math::ZeroInit tags instead - `AbstractShaderProgram::setUniform(Int, UnsignedInt, const T*)` is - deprecated, use @ref AbstractShaderProgram::setUniform(Int, Containers::ArrayView) "AbstractShaderProgram::setUniform(Int, Containers::ArrayView)" + deprecated, use @ref GL::AbstractShaderProgram::setUniform(Int, Containers::ArrayView) "AbstractShaderProgram::setUniform(Int, Containers::ArrayView)" instead - `Magnum/ImageReference.h` header and `ImageReference` type is deprecated, use @ref Magnum/ImageView.h and @ref ImageView instead @@ -995,22 +1016,26 @@ a high-level overview. deprecated, use @ref Magnum/Math/Color.h, @ref Math::Color3 and @ref Math::Color4 instead - `Magnum/ColorFormat.h` header and `ColorFormat` and `ColorType` enums are - deprecated, use @ref Magnum/PixelFormat.h, @ref PixelFormat and @ref PixelType + deprecated, use @ref Magnum/GL/PixelFormat.h "Magnum/PixelFormat.h", + @ref GL::PixelFormat "PixelFormat" and @ref GL::PixelType "PixelType" instead -- @ref Image, @ref ImageView, @ref Trade::ImageData constructors, @ref Image::setData() - and @ref ImageView::setData() taking `void*` are deprecated, use - constructors and functions taking @ref Corrade::Containers::Array / - @ref Corrade::Containers::ArrayView instead -- Templated @ref Buffer::data(), @ref Buffer::subData() and - @ref Buffer::map() are deprecated, use the non-templated versions in - combination with @ref Corrade::Containers::arrayCast() instead (see - [mosra/magnum#213](https://github.com/mosra/magnum/issues/213)) -- `CubeMapTexture::Coordinate` enum is deprecated, use @ref CubeMapCoordinate +- @ref Image, @ref ImageView, @ref Trade::ImageData constructors, + `Image::setData()` and `ImageView::setData()` taking `void*` are + deprecated, use constructors and functions taking + @ref Corrade::Containers::Array / @ref Corrade::Containers::ArrayView instead -- @ref Context::current() and @ref Audio::Context::current() returning a - pointer is deprecated, it's returning a reference now and asserts that a - context exists. Use @ref Context::hasCurrent() and @ref Audio::Context::hasCurrent() - to check for context presence. +- Templated @ref GL::Buffer::data() "Buffer:.data()", + @ref GL::Buffer::subData() "Buffer::subData()" and + @ref GL::Buffer::map() "Buffer::map()" are deprecated, use the + non-templated versions in combination with @ref Corrade::Containers::arrayCast() + instead (see [mosra/magnum#213](https://github.com/mosra/magnum/issues/213)) +- `CubeMapTexture::Coordinate` enum is deprecated, use + @ref GL::CubeMapCoordinate "CubeMapCoordinate" instead +- @ref GL::Context::current() "Context::current()" and + @ref Audio::Context::current() returning a pointer is deprecated, it's + returning a reference now and asserts that a context exists. Use + @ref GL::Context::hasCurrent() "Context::hasCurrent()" and + @ref Audio::Context::hasCurrent() to check for context presence. - Angle literals available directly in the @ref Magnum namespace are deprecated, import the @ref Math::Literals namespace instead - `Platform::Sdl2Application::MouseEvent::Button::WheelUp`, @@ -1052,32 +1077,37 @@ a high-level overview. - Removed `Context::majorVersion()` and `Context::minorVersion()` functions, use @ref Context::version() instead - Removed deprecated `Magnum/DebugMarker.h` header, use - @ref Magnum/DebugOutput.h and @ref DebugMessage class instead -- Removed deprecated `*Buffer` values from @ref FramebufferBlit, use values - without the `Buffer` suffix + @ref Magnum/DebugOutput.h and @ref GL::DebugMessage "DebugMessage" class + instead +- Removed deprecated `*Buffer` values from + @ref GL::FramebufferBlit "FramebufferBlit", use values without the `Buffer` + suffix - Removed deprecated list-argument functions taking pointers from @ref Audio and @ref SceneGraph libraries, use lists of references instead - Removed deprecated texture unit enums from @ref Shaders library, use dedicated texture setters instead - Removed deprecated `*Texture::maxLayers()` functions, use - @ref Shader::maxCombinedTextureImageUnits() instead + @ref GL::Shader::maxCombinedTextureImageUnits() "Shader::maxCombinedTextureImageUnits()" + instead - Removed deprecated @ref MeshTools::combineIndexedArrays(), @ref MeshTools::compressIndices(), @ref MeshTools::interleave() and @ref MeshTools::removeDuplicates() overloads, use the general ones instead - Removed deprecated `Mesh*::set*{Range,Count}()` functions, use - @ref Mesh::setCount() "Mesh*::setCount()" and @ref MeshView::setIndexRange() - instead -- Removed deprecated parameterless @ref Mesh::draw() "Mesh*::draw()" + @ref GL::Mesh::setCount() "Mesh*::setCount()" and + @ref GL::MeshView::setIndexRange() "MeshView::setIndexRange()" instead +- Removed deprecated parameterless @ref GL::Mesh::draw() "Mesh*::draw()" overload, use the one with explicit shader parameter instead - Removed deprecated `Context::Flag::Robustness` enum value, use - @ref Context::Flag::RobustAccess instead -- Removed deprecated `Texture::Target` enum, use dedicated @ref Texture, - @ref TextureArray, @ref RectangleTexture and @ref MultisampleTexture - classes instead + @ref GL::Context::Flag::RobustAccess "Context::Flag::RobustAccess" instead +- Removed deprecated `Texture::Target` enum, use dedicated + @ref GL::Texture "Texture", @ref GL::TextureArray "TextureArray", + @ref GL::RectangleTexture "RectangleTexture" and + @ref GL::MultisampleTexture "MultisampleTexture" classes instead - Removed deprecated @ref Resource conversion operator, use explicit conversion instead - Removed deprecated `Framebuffer::attachTexture*D()` overloads, use one of - @ref Framebuffer::attachTexture() or @ref Framebuffer::attachTextureLayer() + @ref GL::Framebuffer::attachTexture() "Framebuffer::attachTexture()" or + @ref GL::Framebuffer::attachTextureLayer() "Framebuffer::attachTextureLayer()" overloads instead. - Removed `SceneGraph::Camera3D::near()` and `SceneGraph::Camera3D::far()` getters, because they can't be provided anymore with current more general @@ -1094,7 +1124,7 @@ a high-level overview. @subsection changelog-2018-02-performance Performance improvements -- Reduced size of and number of allocations in @ref Mesh class. +- Reduced size of and number of allocations in @ref GL::Mesh "Mesh" class. @subsection changelog-2018-02-docs Documentation