diff --git a/libraries/pbrlib/genglsl/mx_hair_bsdf.glsl b/libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl similarity index 97% rename from libraries/pbrlib/genglsl/mx_hair_bsdf.glsl rename to libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl index 8ac6222714..22b2226ab3 100644 --- a/libraries/pbrlib/genglsl/mx_hair_bsdf.glsl +++ b/libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl @@ -49,10 +49,10 @@ void mx_chiang_hair_roughness( float ar = clamp(azimuthal, 0.001, 1.0); // longitudinal variance - float v = 0.726 * lr + 0.812 * lr * lr + 3.7 * pow(lr, 20); + float v = 0.726 * lr + 0.812 * lr * lr + 3.7 * pow(lr, 20.0); v = v * v; - float s = 0.265 * ar + 1.194 * ar * ar + 5.372 * pow(ar, 22); + float s = 0.265 * ar + 1.194 * ar * ar + 5.372 * pow(ar, 22.0); roughness_R = vec2(v, s); roughness_TT = vec2(v * scale_TT * scale_TT, s); @@ -111,7 +111,8 @@ float mx_hair_trimmed_logistic(float x, float s, float a, float b) float mx_hair_phi(int p, float gammaO, float gammaT) { - return 2.0 * p * gammaT - 2.0 * gammaO + p * M_PI; + float fP = float(p); + return 2.0 * fP * gammaT - 2.0 * gammaO + fP * M_PI; } float mx_hair_longitudinal_scattering( // Mp @@ -260,9 +261,7 @@ vec3 mx_chiang_hair_bsdf( vec3 F = vec3(0.0); for (int i = 0; i <= 3; ++i) { - if (all(lessThanEqual(tint[i], vec3(0.0)))) - continue; - + tint[i] = max(tint[i], vec3(0.0)); float Mp = mx_hair_longitudinal_scattering(angles[i].x, angles[i].y, sinThetaO, cosThetaO, vs[i].x); float Np = (i == 3) ? (1.0 / 2.0 * M_PI) : mx_hair_azimuthal_scattering(phi, i, vs[i].y, gammaO, gammaT); F += Mp * Np * tint[i] * Ap[i]; diff --git a/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx b/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx index 1c495cb4bd..4b3be10faf 100644 --- a/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx +++ b/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx @@ -26,7 +26,7 @@ - + @@ -78,12 +78,12 @@ - + - + - + diff --git a/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx b/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx index 754594620b..0737ca82ab 100644 --- a/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx +++ b/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx @@ -100,6 +100,6 @@ - +