diff --git a/intern/cycles/kernel/osl/nodes/node_layer_weight.osl b/intern/cycles/kernel/osl/nodes/node_layer_weight.osl index dc3eb81d712..40b60fee7d3 100644 --- a/intern/cycles/kernel/osl/nodes/node_layer_weight.osl +++ b/intern/cycles/kernel/osl/nodes/node_layer_weight.osl @@ -36,7 +36,7 @@ shader node_layer_weight( Facing = abs(dot(I, Normal)); if (blend != 0.5) { - blend = clamp(blend, 0.0, 1.0); + blend = clamp(blend, 0.0, 1.0-1e-5); blend = (blend < 0.5) ? 2.0 * blend : 0.5 / (1.0 - blend); Facing = pow(Facing, blend); diff --git a/intern/cycles/kernel/svm/svm_fresnel.h b/intern/cycles/kernel/svm/svm_fresnel.h index 7684eabeecb..d5b415a87ce 100644 --- a/intern/cycles/kernel/svm/svm_fresnel.h +++ b/intern/cycles/kernel/svm/svm_fresnel.h @@ -54,7 +54,7 @@ __device void svm_node_layer_weight(ShaderData *sd, float *stack, uint4 node) f = fabsf(dot(sd->I, sd->N)); if(blend != 0.5f) { - blend = clamp(blend, 0.0f, 1.0f); + blend = clamp(blend, 0.0f, 1.0f-1e-5f); blend = (blend < 0.5f)? 2.0f*blend: 0.5f/(1.0f - blend); f = powf(f, blend);