Merge pull request #174 from Ybalrid/pr_material_param_tex_info

Add Parameter::TextureStrength(). Precise default values.
This commit is contained in:
Syoyo Fujita 2019-07-05 14:11:15 +09:00 committed by GitHub
commit 80faac5238
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -390,6 +390,7 @@ struct Parameter {
if (it != std::end(json_double_value)) {
return int(it->second);
}
// As per the spec, if texCoord is ommited, this parameter is 0
return 0;
}
@ -401,7 +402,20 @@ struct Parameter {
if (it != std::end(json_double_value)) {
return it->second;
}
return -1;
// As per the spec, if scale is ommited, this paramter is 1
return 1;
}
/// Return the strength of a texture if this Parameter is a an occlusion map.
/// Returned value is only valid if the parameter represent an occlusion map
/// from a material
double TextureStrength() const {
const auto it = json_double_value.find("strength");
if (it != std::end(json_double_value)) {
return it->second;
}
// As per the spec, if strenghth is ommited, this parameter is 1
return 1;
}
/// Material factor, like the roughness or metalness of a material
@ -448,7 +462,8 @@ struct AnimationChannel {
struct AnimationSampler {
int input; // required
int output; // required
std::string interpolation; // "LINEAR", "STEP","CUBICSPLINE" or user defined string. default "LINEAR"
std::string interpolation; // "LINEAR", "STEP","CUBICSPLINE" or user defined
// string. default "LINEAR"
Value extras;
AnimationSampler() : input(-1), output(-1), interpolation("LINEAR") {}