Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b7199c0
Trade: remove deprecated mutable accessors in PhongMaterialData.
mosra Jul 22, 2020
6811198
Trade: rename MaterialData::*CoordinateSet() to *TextureCoordinates().
mosra Aug 4, 2020
9557de0
Shaders,Trade: clarify use{less,ful}ness of specular alpha.
mosra Aug 10, 2020
14d260a
Trade: a redesigned MaterialData class.
mosra Jul 16, 2020
9992614
Trade: "optional" access to MaterialData attributes.
mosra Jul 20, 2020
f250e7a
Trade: add a type enum *set* to MaterialData.
mosra Aug 4, 2020
8456537
Trade: deprecate AbstractMaterialData, rewrite PhongMaterialData.
mosra Jul 22, 2020
c59fa42
Trade: allow storing 64bit ints and pointers in MaterialData.
mosra Jul 25, 2020
b424b9d
Trade: allow storing strings in MaterialData.
mosra Jul 25, 2020
0510449
Trade: material layer support in the new MaterialData.
mosra Jul 28, 2020
0ec8e00
Trade: return Optional instead of Pointer from *Importer::material().
mosra Jul 25, 2020
b5fdfc2
Trade: check for custom MaterialData deleters in AbstractImporter.
mosra Aug 1, 2020
33d1bad
sceneconverter: print material info.
mosra Jul 30, 2020
d3b346e
Trade: add a MaterialTextureSwizzle enum.
mosra Aug 2, 2020
69f5f81
Trade: expose basic PBR material properties and helper classes.
mosra Aug 4, 2020
841d28b
Trade: add MaterialData::as().
mosra Aug 6, 2020
a84721d
Trade: clearer asserts for "packable" textures.
mosra Aug 8, 2020
417471b
Trade: add FlatMaterialData.
mosra Aug 8, 2020
0654fe2
Trade: add builtin material layer factor + texture attributes.
mosra Aug 8, 2020
106de5f
Trade: add named material layer support and a first layer.
mosra Aug 8, 2020
271b7a7
Trade: usage docs for MaterialData.
mosra Aug 4, 2020
9c00efa
Trade: MaterialTextureSwizzle::GA for normal maps and related utils.
mosra Aug 11, 2020
ef17497
Trade: added MaterialAttribute::NormalTextureScale.
mosra Aug 11, 2020
f9edbcd
Trade: rework metallic/roughness packing.
mosra Aug 11, 2020
9764672
Trade: MSVC can you just FUCK OFF already.
mosra Aug 11, 2020
baa23ff
Trade: and you, MSVC 2015, need a special place in hell.
mosra Aug 11, 2020
b3a848c
Trade: sigh, MSVC 2015, again.
mosra Aug 13, 2020
829e9b6
Trade: add forgotten OcclusionTextureStrength attribute.
mosra Aug 13, 2020
81f5468
Trade: custom material attribs can start with non-letters as well.
mosra Aug 13, 2020
b1a719d
sceneconverter: list textures in --info.
mosra Aug 13, 2020
44f67e7
Trade: rethink common material texture coordinate transform/sets.
mosra Aug 14, 2020
c2942ce
Trade: material packing queries definitely check for different IDs, r…
mosra Aug 16, 2020
a2b1fa0
Trade: properly consider texture IDs when checking for packing.
mosra Aug 16, 2020
79e8fa0
Trade: add a query for packed clearcoat factor/roughness texture.
mosra Aug 16, 2020
3ffcdf1
Trade: improve compat of deprecated PhongMaterialData::textureMatrix().
mosra Aug 16, 2020
8c5a2d6
Platform: Xlib strikes again, this time with #define Bool int.
mosra Aug 16, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 91 additions & 8 deletions doc/changelog.dox
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,21 @@ See also:

- Added @ref SceneGraph::Object::move()

@subsubsection changelog-latest-new-trade Trade library

- A new, redesigned @ref Trade::MaterialData class allowing to store custom
material attributes as well as more material types together in a single
instance; plus new @ref Trade::FlatMaterialData,
@ref Trade::PbrMetallicRoughnessMaterialData,
@ref Trade::PbrSpecularGlossinessMaterialData and
@ref Trade::PbrClearCoatMaterialData convenience accessor APIs similar to
@ref Trade::PhongMaterialData. See [mosra/magnum#459](https://github.com/mosra/magnum/pull/459).
- Added @ref Trade::PhongMaterialData::hasSpecularTexture(),
@ref Trade::PhongMaterialData::specularTextureSwizzle(),
@ref Trade::PhongMaterialData::normalTextureScale() and
@ref Trade::PhongMaterialData::normalTextureSwizzle() to make new features
added for PBR materials recognizable also in classic Phong workflows.

@subsection changelog-latest-changes Changes and improvements

@subsubsection changelog-latest-changes-gl GL library
Expand All @@ -84,10 +99,23 @@ See also:

- Added a `--bounds` option to @ref magnum-sceneconverter "magnum-sceneconverter",
showing data ranges of known attributes
- @ref magnum-sceneconverter "magnum-sceneconverter" now lists also materials
and textures in `--info`

@subsubsection changelog-latest-changes-trade Trade library

- Recognizing TIFF file header magic in @ref Trade::AnyImageImporter "AnyImageImporter"
- Added @ref Trade::PhongMaterialData::hasCommonTextureTransformation(),
@ref Trade::PhongMaterialData::ambientTextureMatrix(),
@ref Trade::PhongMaterialData::diffuseTextureMatrix(),
@ref Trade::PhongMaterialData::specularTextureMatrix() and
@ref Trade::PhongMaterialData::normalTextureMatrix() exposing also
per-texture coordinate transformation, similarly to per-texture coordinate
sets added in 2020.06
- Added @ref Trade::PhongMaterialData::hasCommonTextureCoordinates() and
@ref Trade::PhongMaterialData::commonTextureCoordinates() exposing a
common texture coordinate set as a complement to a per-texture property
added in 2020.06

@subsection changelog-latest-buildsystem Build system

Expand All @@ -111,6 +139,41 @@ See also:
coordinates), @ref MeshTools::compile() should be using only the first set
but it wasn't.

@subsection changelog-latest-deprecated Deprecated APIs

- @cpp Trade::AbstractMaterialData @ce as well as its containing header
`Magnum/Trade/AbstractMaterialData.h` is now a deprecated alias to the new
and more flexible @ref Trade::MaterialData.
- @cpp Trade::PhongMaterialData::ambientCoordinateSet() @ce,
@cpp diffuseCoordinateSet() @ce, @cpp specularCoordinateSet() @ce and
@cpp normalCoordinateSet() @ce are deprecated in favor of more consistently
named @ref Trade::PhongMaterialData::ambientTextureCoordinates(),
@ref Trade::PhongMaterialData::diffuseTextureCoordinates() "diffuseTextureCoordinates()",
@ref Trade::PhongMaterialData::specularTextureCoordinates() "specularTextureCoordinates()"
and @ref Trade::PhongMaterialData::normalTextureCoordinates() "normalTextureCoordinates()"
- @ref Trade::PhongMaterialData constructor is deprecated as the designated
way is to populate the @ref Trade::MaterialData class directly instead.
- @cpp Trade::PhongMaterialData::textureMatrix() @ce is deprecated in favor
of @ref Trade::PhongMaterialData::hasCommonTextureTransformation() and
@ref Trade::PhongMaterialData::commonTextureMatrix(), which do proper
checking and fallback in case a per-texture transformation is present
- @cpp Trade::MaterialData::type() @ce (coming from the original
`AbstractMaterialData` class) is deprecated in favor of
@ref Trade::MaterialData::types(), as a material data can now contain
attributes for multiple different material types at once
- @cpp Trade::MaterialData::flags() @ce (coming from the original
`AbstractMaterialData` class), @cpp Trade::PhongMaterialData::flags() @ce
and related enum (sets) are deprecated. The flags are no longer stored
directly but rather generated on-the-fly from attribute data, which makes
them less efficient than calling @ref Trade::MaterialData::hasAttribute()
etc.
- @ref Trade::AbstractImporter::material() now returns
@ref Corrade::Containers::Optional instead of a @ref Corrade::Containers::Pointer,
as the new @ref Trade::MaterialData class isn't polymorphic anymore. If
@ref MAGNUM_BUILD_DEPRECATED is enabled, the returned type acts as a
@ref Corrade::Containers::Optional but has (deprecated) implicit conversion
to a @ref Corrade::Containers::Pointer to avoid breaking user code.

@subsection changelog-latest-compatibility Potential compatibility breakages, removed APIs

- Removed remaining APIs deprecated in version 2018.10, in particular:
Expand Down Expand Up @@ -144,11 +207,12 @@ See also:
- @ref Trade::CameraData constructor not taking an explicit type enum,
use @ref Trade::CameraData::CameraData(CameraType, Rad, Float, Float, Float, const void*)
instead
- @ref Trade::AbstractMaterialData constructor taking just two parameters
and @ref Trade::PhongMaterialData constructor taking three parameters,
use @ref Trade::AbstractMaterialData::AbstractMaterialData(MaterialType, Flags, MaterialAlphaMode, Float, const void*)
and @ref Trade::PhongMaterialData::PhongMaterialData(Flags, MaterialAlphaMode, Float, Float, const void*)
instead
- @cpp Trade::AbstractMaterialData @ce constructor taking just two
parameters and @ref Trade::PhongMaterialData constructor taking three
parameters, use either the (also deprecated)
@cpp Trade::AbstractMaterialData::AbstractMaterialData(MaterialType, Flags, MaterialAlphaMode, Float, const void*) @ce
and @cpp Trade::PhongMaterialData::PhongMaterialData(Flags, MaterialAlphaMode, Float, Float, const void*) @ce
constructors or directly the new @ref Trade::MaterialData class
- All includes of @ref Corrade/Containers/PointerStl.h and
@ref Corrade/Containers/ArrayViewStl.h that were added in 2019.01 for
preserving backwards compatibility after the move from @ref std::unique_ptr
Expand All @@ -162,6 +226,21 @@ See also:
afterwards. This can cause compilation breakages in case the type
constructor has the parent parameter non-optional, pass the parent
explicitly in that case.
- Mutable access to @ref Trade::PhongMaterialData color and texture
information, deprecated in 2020.06, is now removed, as it's impossible to
implement through the redesigned @ref Trade::MaterialData APIs. However
these APIs were mainly used to populate the contents in asset importers, so
this shouldn't cause any breakages in user code.
- @ref Trade::MaterialData::flags() now calculates the output on-the-fly
based on what attributes are present. This means that arbitrary extra bits
passed to the constructor from @cpp AbstractMaterialData @ce subclasses are
now discarded, and thus subclasses have to override the
@ref Trade::MaterialData::flags() "flags()" function to keep the same
behavior.
- @ref Trade::MaterialData, which the deprecated
@cpp Trade::AbstractMaterialData @ce aliases to, doesn't have a
@cpp virtual @ce destructor as subclasses with extra data members aren't a
desired use case anymore.

@section changelog-2020-06 2020.06

Expand Down Expand Up @@ -821,6 +900,10 @@ Released 2020-06-27, tagged as
deprecated on the 3D variant, use separate
@ref Shaders::MeshVisualizer3D::setTransformationMatrix() and
@ref Shaders::MeshVisualizer3D::setProjectionMatrix() instead
- Mutable access to @ref Trade::PhongMaterialData color and texture
information is deprecated. This was mainly used to populate the contents
in asset importers, but the class was redesigned and this is no longer
needed.
- The unprefixed and alien-looking @cpp FLOAT_EQUALITY_PRECISION @ce,
@cpp DOUBLE_EQUALITY_PRECISION @ce and @cpp LONG_DOUBLE_EQUALITY_PRECISION @ce
macros are no longer used by any code and thus deprecated in favor of using
Expand Down Expand Up @@ -2461,10 +2544,10 @@ Released 2018-10-23, tagged as
- `Shaders::VertexColor::Color` is deprecated, use the direct
@ref Shaders::VertexColor::Color3 or @ref Shaders::VertexColor::Color4
alternatives instead
- @ref Trade::AbstractMaterialData constructor taking just two parameters
- @cpp Trade::AbstractMaterialData @ce constructor taking just two parameters
and @ref Trade::PhongMaterialData constructor taking three parameters are
deprecated, use @ref Trade::AbstractMaterialData::AbstractMaterialData(MaterialType, Flags, MaterialAlphaMode, Float, const void*)
and @ref Trade::PhongMaterialData::PhongMaterialData(Flags, MaterialAlphaMode, Float, Float, const void*)
deprecated, use @cpp Trade::AbstractMaterialData::AbstractMaterialData(MaterialType, Flags, MaterialAlphaMode, Float, const void*) @ce
and @cpp Trade::PhongMaterialData::PhongMaterialData(Flags, MaterialAlphaMode, Float, Float, const void*) @ce
instead
- @ref Trade::CameraData constructor not taking an explicit type enum is
deprecated, use @ref Trade::CameraData::CameraData(CameraType, Rad, Float, Float, Float, const void*)
Expand Down
Loading