Merge pull request #193 from Selmar/emissiveFactor_defaults

Emissive factor defaults
This commit is contained in:
Syoyo Fujita 2019-08-20 13:13:12 +09:00 committed by GitHub
commit 8b56c016ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3743,8 +3743,22 @@ static bool ParsePbrMetallicRoughness(PbrMetallicRoughness *pbr,
static bool ParseMaterial(Material *material, std::string *err, const json &o) {
ParseStringProperty(&material->name, err, o, "name", /* required */ false);
ParseNumberArrayProperty(&material->emissiveFactor, err, o, "emissiveFactor",
/* required */ false);
if(ParseNumberArrayProperty(&material->emissiveFactor, err, o, "emissiveFactor",
/* required */ false)) {
if (material->emissiveFactor.size() != 3) {
if (err) {
(*err) +=
"Array length of `emissiveFactor` parameter in "
"material must be 3, but got " +
std::to_string(material->emissiveFactor.size()) + "\n";
}
return false;
}
}
else {
// fill with default values
material->emissiveFactor = {0.0, 0.0, 0.0};
}
ParseStringProperty(&material->alphaMode, err, o, "alphaMode",
/* required */ false);