[Bf-blender-cvs] [178c470c438] blender2.8: Eevee: Fix specular shadowing.

Clément Foucault noreply at git.blender.org
Fri Jun 30 14:00:00 CEST 2017


Commit: 178c470c43870adae4bfdcb6d03e1657a6f98f43
Author: Clément Foucault
Date:   Fri Jun 30 14:10:42 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB178c470c43870adae4bfdcb6d03e1657a6f98f43

Eevee: Fix specular shadowing.

Compute luminance approximation instead of using green channel.
This is to match cycles principled bsdf.

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

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

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

diff --git a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
index 0ccf2309bb4..0351fa4a861 100644
--- a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
@@ -266,16 +266,16 @@ vec3 F_area(vec3 f0, vec2 lut)
 	vec2 fac = normalize(lut.xy);
 
 	/* Unreal specular matching : if specular color is below 2% intensity,
-	 * (using green channel for intensity) treat as shadowning */
-	return saturate(50.0 * f0.g) * fac.y + fac.x * f0;
+	 * treat as shadowning */
+	return saturate(50.0 * dot(f0, vec3(0.3, 0.6, 0.1))) * fac.y + fac.x * f0;
 }
 
 /* Fresnel approximation for LTC area lights (not MRP) */
 vec3 F_ibl(vec3 f0, vec2 lut)
 {
 	/* Unreal specular matching : if specular color is below 2% intensity,
-	 * (using green channel for intensity) treat as shadowning */
-	return saturate(50.0 * f0.g) * lut.y + lut.x * f0;
+	 * treat as shadowning */
+	return saturate(50.0 * dot(f0, vec3(0.3, 0.6, 0.1))) * lut.y + lut.x * f0;
 }
 
 /* GGX */




More information about the Bf-blender-cvs mailing list