[Bf-blender-cvs] [b50916d] master: OpenSubdiv: forgot this in the previous commit

Sergey Sharybin noreply at git.blender.org
Tue Aug 4 11:07:27 CEST 2015


Commit: b50916d172522c5911cc02eff0857057dfaee2a9
Author: Sergey Sharybin
Date:   Tue Aug 4 11:04:27 2015 +0200
Branches: master
https://developer.blender.org/rBb50916d172522c5911cc02eff0857057dfaee2a9

OpenSubdiv: forgot this in the previous commit

Need to find better approach for dealing with shadeless materials.

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

M	intern/opensubdiv/gpu_shader_opensubd_display.glsl

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

diff --git a/intern/opensubdiv/gpu_shader_opensubd_display.glsl b/intern/opensubdiv/gpu_shader_opensubd_display.glsl
index e343c95..7acde19 100644
--- a/intern/opensubdiv/gpu_shader_opensubd_display.glsl
+++ b/intern/opensubdiv/gpu_shader_opensubd_display.glsl
@@ -248,7 +248,7 @@ void main()
 #endif  /* USE_DIRECTIONAL_LIGHT */
 		vec3 h = normalize(l + vec3(0, 0, 1));
 		float d = max(0.0, dot(N, l));
-		float s = pow(max(0.0, dot(N, h)), 500.0f);
+		float s = pow(max(0.0, dot(N, h)), shininess);
 		L_diffuse += d * lightSource[i].diffuse;
 		L_specular += s * lightSource[i].specular;
 	}
@@ -313,7 +313,10 @@ void main()
 #endif
 
 	/* Sum lighting. */
-	vec3 L = L_diffuse + L_specular * specular.rgb;
+	vec3 L = L_diffuse;
+	if (shininess != 0) {
+		L += L_specular * specular.rgb;
+	}
 
 	/* Write out fragment color. */
 	gl_FragColor = vec4(L, diffuse.a);




More information about the Bf-blender-cvs mailing list