set default values for baseColorFactor so that it has correct values when parsing a material without a pbrMetallicRoughness struct

This commit is contained in:
Selmar Kok 2019-10-18 18:22:35 +02:00
parent 81b672bcc2
commit c3353e1acd

View File

@ -739,7 +739,7 @@ struct PbrMetallicRoughness {
Value extras; Value extras;
ExtensionMap extensions; ExtensionMap extensions;
PbrMetallicRoughness() : metallicFactor(1.0), roughnessFactor(1.0) {} PbrMetallicRoughness() : baseColorFactor(std::vector<double>{ 1.0,1.0,1.0,1.0 }), metallicFactor(1.0), roughnessFactor(1.0) {}
PbrMetallicRoughness(const PbrMetallicRoughness &) = default; PbrMetallicRoughness(const PbrMetallicRoughness &) = default;
PbrMetallicRoughness &operator=(const PbrMetallicRoughness &) = default; PbrMetallicRoughness &operator=(const PbrMetallicRoughness &) = default;
PbrMetallicRoughness(PbrMetallicRoughness &&rhs) noexcept PbrMetallicRoughness(PbrMetallicRoughness &&rhs) noexcept
@ -4412,11 +4412,8 @@ static bool ParsePbrMetallicRoughness(PbrMetallicRoughness *pbr,
} }
return false; return false;
} }
} else { pbr->baseColorFactor = baseColorFactor;
// fill with default values
baseColorFactor = {1.0, 1.0, 1.0, 1.0};
} }
pbr->baseColorFactor = baseColorFactor;
{ {
json_const_iterator it; json_const_iterator it;