Browse Source

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.
pull/233/head
Vladimír Vondruš 8 years ago
parent
commit
822ebd3426
  1. 223
      doc/changelog-old.dox
  2. 284
      doc/changelog.dox

223
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
`<transform>()` and `<transform>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 <Mesh.h> @ce), use absolute paths (@cpp #include <Magnum/Mesh.h> @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<T, U>" 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<bool>() @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

284
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 `<transform>()` and `<transform>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 &lt;= 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<const Float>) "AbstractShaderProgram::setUniform(Int, Containers::ArrayView<const T>)"
deprecated, use @ref GL::AbstractShaderProgram::setUniform(Int, Containers::ArrayView<const Float>) "AbstractShaderProgram::setUniform(Int, Containers::ArrayView<const T>)"
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

Loading…
Cancel
Save