[Bf-blender-cvs] [61e4e3178d4] blender2.8: Eevee: Fix contact shadow creating to overshadowing

Clément Foucault noreply at git.blender.org
Sun Oct 28 21:40:59 CET 2018


Commit: 61e4e3178d4a496a416c360565afb8bbe7592422
Author: Clément Foucault
Date:   Sun Oct 28 19:24:56 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB61e4e3178d4a496a416c360565afb8bbe7592422

Eevee: Fix contact shadow creating to overshadowing

This was because the shadow rays could be generated below the geometric
normal.

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

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

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

diff --git a/source/blender/draw/engines/eevee/shaders/lamps_lib.glsl b/source/blender/draw/engines/eevee/shaders/lamps_lib.glsl
index 6f7a2f9bb09..b33f1a0572e 100644
--- a/source/blender/draw/engines/eevee/shaders/lamps_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lamps_lib.glsl
@@ -226,6 +226,10 @@ float light_visibility(LightData ld, vec3 W,
 
 			vec3 ray_ori = viewPosition;
 
+			if (dot(viewNormal, ray_dir) <= 0.0) {
+				return vis;
+			}
+
 			float bias = 0.5; /* Constant Bias */
 			bias += 1.0 - abs(dot(viewNormal, ray_dir)); /* Angle dependent bias */
 			bias *= gl_FrontFacing ? data.sh_contact_offset : -data.sh_contact_offset;



More information about the Bf-blender-cvs mailing list