[Bf-blender-cvs] [b08fc83d1da] blender2.8: Eevee: Fix Lamp Roughness.

Clément Foucault noreply at git.blender.org
Wed May 3 12:09:08 CEST 2017


Commit: b08fc83d1da8cf51bacaec10a82dbc6cdef9db43
Author: Clément Foucault
Date:   Tue May 2 20:33:59 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBb08fc83d1da8cf51bacaec10a82dbc6cdef9db43

Eevee: Fix Lamp Roughness.

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

M	source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl

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

diff --git a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
index 0d96b7768dc..b0a99d8e72b 100644
--- a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
@@ -233,6 +233,8 @@ float light_common(inout LightData ld, inout ShadingData sd)
 
 vec3 eevee_surface_lit(vec3 world_normal, vec3 albedo, vec3 f0, float roughness, float ao)
 {
+	float roughnessSquared = roughness * roughness;
+
 	ShadingData sd;
 	sd.N = normalize(world_normal);
 	sd.V = (ProjectionMatrix[3][3] == 0.0) /* if perspective */
@@ -240,7 +242,7 @@ vec3 eevee_surface_lit(vec3 world_normal, vec3 albedo, vec3 f0, float roughness,
 	            : normalize(eye);
 	sd.W = worldPosition;
 	sd.R = reflect(-sd.V, sd.N);
-	sd.spec_dominant_dir = get_specular_dominant_dir(sd.N, sd.R, roughness);
+	sd.spec_dominant_dir = get_specular_dominant_dir(sd.N, sd.R, roughnessSquared);
 
 	vec3 radiance = vec3(0.0);
 	vec3 indirect_radiance = vec3(0.0);
@@ -255,7 +257,7 @@ vec3 eevee_surface_lit(vec3 world_normal, vec3 albedo, vec3 f0, float roughness,
 		light_common(ld, sd);
 
 		float vis = light_visibility(ld, sd);
-		vec3 spec = light_specular(ld, sd, roughness, f0);
+		vec3 spec = light_specular(ld, sd, roughnessSquared, f0);
 		vec3 diff = light_diffuse(ld, sd, albedo);
 
 		radiance += vis * (diff + spec) * ld.l_color;




More information about the Bf-blender-cvs mailing list