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 @@
-
+