[Bf-blender-cvs] [e982ebd6d4f] master: Fix T52152: allow zero roughness for Cycles principled BSDF, don't clamp.

Brecht Van Lommel noreply at git.blender.org
Sun Jul 23 00:49:20 CEST 2017


Commit: e982ebd6d4f121f7429831bf207fcdca0256ca6f
Author: Brecht Van Lommel
Date:   Sat Jul 22 21:38:44 2017 +0200
Branches: master
https://developer.blender.org/rBe982ebd6d4f121f7429831bf207fcdca0256ca6f

Fix T52152: allow zero roughness for Cycles principled BSDF, don't clamp.

===================================================================

M	intern/cycles/kernel/shaders/node_principled_bsdf.osl
M	intern/cycles/kernel/svm/svm_closure.h

===================================================================

diff --git a/intern/cycles/kernel/shaders/node_principled_bsdf.osl b/intern/cycles/kernel/shaders/node_principled_bsdf.osl
index 2bb981c3918..6870d479af3 100644
--- a/intern/cycles/kernel/shaders/node_principled_bsdf.osl
+++ b/intern/cycles/kernel/shaders/node_principled_bsdf.osl
@@ -76,8 +76,8 @@ shader node_principled_bsdf(
 		float aspect = sqrt(1.0 - Anisotropic * 0.9);
 		float r2 = Roughness * Roughness;
 
-		float alpha_x = max(0.001, r2 / aspect);
-		float alpha_y = max(0.001, r2 * aspect);
+		float alpha_x = r2 / aspect;
+		float alpha_y = r2 * aspect;
 
 		color tmp_col = color(1.0, 1.0, 1.0) * (1.0 - SpecularTint) + m_ctint * SpecularTint;
 
diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h
index 7704aa545c8..4268813b263 100644
--- a/intern/cycles/kernel/svm/svm_closure.h
+++ b/intern/cycles/kernel/svm/svm_closure.h
@@ -280,8 +280,8 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
 						float aspect = safe_sqrtf(1.0f - anisotropic * 0.9f);
 						float r2 = roughness * roughness;
 
-						bsdf->alpha_x = fmaxf(0.001f, r2 / aspect);
-						bsdf->alpha_y = fmaxf(0.001f, r2 * aspect);
+						bsdf->alpha_x = r2 / aspect;
+						bsdf->alpha_y = r2 * aspect;
 
 						float m_cdlum = 0.3f * base_color.x + 0.6f * base_color.y + 0.1f * base_color.z; // luminance approx.
 						float3 m_ctint = m_cdlum > 0.0f ? base_color / m_cdlum : make_float3(0.0f, 0.0f, 0.0f); // normalize lum. to isolate hue+sat




More information about the Bf-blender-cvs mailing list