Browse Source

Trade: *MaterialData::hasTextureCoordinates() returns false when it's 0.

All other classes were fixed to do the same as Phong. Plus the docs were
clarified for PbrClearCoatMaterialData.
pull/570/head
Vladimír Vondruš 4 years ago
parent
commit
492b4272e3
  1. 6
      src/Magnum/Trade/FlatMaterialData.cpp
  2. 10
      src/Magnum/Trade/PbrClearCoatMaterialData.cpp
  3. 5
      src/Magnum/Trade/PbrClearCoatMaterialData.h
  4. 14
      src/Magnum/Trade/PbrMetallicRoughnessMaterialData.cpp
  5. 14
      src/Magnum/Trade/PbrSpecularGlossinessMaterialData.cpp

6
src/Magnum/Trade/FlatMaterialData.cpp

@ -44,9 +44,9 @@ bool FlatMaterialData::hasTextureTransformation() const {
}
bool FlatMaterialData::hasTextureCoordinates() const {
return (hasAttribute(MaterialAttribute::BaseColorTexture) && hasAttribute(MaterialAttribute::BaseColorTextureCoordinates)) ||
(hasAttribute(MaterialAttribute::DiffuseTexture) && hasAttribute(MaterialAttribute::DiffuseTextureCoordinates)) ||
hasAttribute(MaterialAttribute::TextureCoordinates);
return (hasAttribute(MaterialAttribute::BaseColorTexture) && attributeOr(MaterialAttribute::BaseColorTextureCoordinates, 0u)) ||
(hasAttribute(MaterialAttribute::DiffuseTexture) && attributeOr(MaterialAttribute::DiffuseTextureCoordinates, 0u)) ||
attributeOr(MaterialAttribute::TextureCoordinates, 0u);
}
Color4 FlatMaterialData::color() const {

10
src/Magnum/Trade/PbrClearCoatMaterialData.cpp

@ -67,11 +67,11 @@ bool PbrClearCoatMaterialData::hasCommonTextureTransformation() const {
}
bool PbrClearCoatMaterialData::hasTextureCoordinates() const {
return hasAttribute(MaterialAttribute::LayerFactorTextureCoordinates) ||
hasAttribute(MaterialAttribute::RoughnessTextureCoordinates) ||
hasAttribute(MaterialAttribute::NormalTextureCoordinates) ||
hasAttribute(MaterialAttribute::TextureCoordinates) ||
hasAttribute(0, MaterialAttribute::TextureCoordinates);
return attributeOr(MaterialAttribute::LayerFactorTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::RoughnessTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::NormalTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::TextureCoordinates, 0u) ||
attributeOr(0, MaterialAttribute::TextureCoordinates, 0u);
}
bool PbrClearCoatMaterialData::hasCommonTextureCoordinates() const {

5
src/Magnum/Trade/PbrClearCoatMaterialData.h

@ -119,8 +119,9 @@ class MAGNUM_TRADE_EXPORT PbrClearCoatMaterialData: public MaterialLayerData<Mat
* @ref MaterialAttribute::RoughnessTextureCoordinates,
* @ref MaterialAttribute::NormalTextureCoordinates or
* @ref MaterialAttribute::TextureCoordinates attributes are present in
* this material or if @ref MaterialAttribute::TextureCoordinates is
* present in the base material, @cpp false @ce otherwise.
* this material and have a non-zero value or if
* @ref MaterialAttribute::TextureCoordinates is present in the base
* material and has a non-zero value, @cpp false @ce otherwise.
*/
bool hasTextureCoordinates() const;

14
src/Magnum/Trade/PbrMetallicRoughnessMaterialData.cpp

@ -157,13 +157,13 @@ bool PbrMetallicRoughnessMaterialData::hasCommonTextureTransformation() const {
}
bool PbrMetallicRoughnessMaterialData::hasTextureCoordinates() const {
return hasAttribute(MaterialAttribute::TextureCoordinates) ||
hasAttribute(MaterialAttribute::BaseColorTextureCoordinates) ||
hasAttribute(MaterialAttribute::MetalnessTextureCoordinates) ||
hasAttribute(MaterialAttribute::RoughnessTextureCoordinates) ||
hasAttribute(MaterialAttribute::NormalTextureCoordinates) ||
hasAttribute(MaterialAttribute::OcclusionTextureCoordinates) ||
hasAttribute(MaterialAttribute::EmissiveTextureCoordinates);
return attributeOr(MaterialAttribute::TextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::BaseColorTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::MetalnessTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::RoughnessTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::NormalTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::OcclusionTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::EmissiveTextureCoordinates, 0u);
}
bool PbrMetallicRoughnessMaterialData::hasCommonTextureCoordinates() const {

14
src/Magnum/Trade/PbrSpecularGlossinessMaterialData.cpp

@ -91,13 +91,13 @@ bool PbrSpecularGlossinessMaterialData::hasCommonTextureTransformation() const {
}
bool PbrSpecularGlossinessMaterialData::hasTextureCoordinates() const {
return hasAttribute(MaterialAttribute::TextureCoordinates) ||
hasAttribute(MaterialAttribute::DiffuseTextureCoordinates) ||
hasAttribute(MaterialAttribute::SpecularTextureCoordinates) ||
hasAttribute(MaterialAttribute::GlossinessTextureCoordinates) ||
hasAttribute(MaterialAttribute::NormalTextureCoordinates) ||
hasAttribute(MaterialAttribute::OcclusionTextureCoordinates) ||
hasAttribute(MaterialAttribute::EmissiveTextureCoordinates);
return attributeOr(MaterialAttribute::TextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::DiffuseTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::SpecularTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::GlossinessTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::NormalTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::OcclusionTextureCoordinates, 0u) ||
attributeOr(MaterialAttribute::EmissiveTextureCoordinates, 0u);
}
bool PbrSpecularGlossinessMaterialData::hasCommonTextureCoordinates() const {

Loading…
Cancel
Save