Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-10-07 00:43:36 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-10-07 00:44:22 +0300
commitdfcdec914ce918adf6c47d3c1e278b5a5c22fb4d (patch)
treee134600202707818d4aa1f7e6887a0fcd1fe836d /source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
parent9ab18d14f6f1cfe510a2b06ee477498502d1c887 (diff)
Eevee: Shadows: Add Contact Shadows
This add the possibility to add screen space raytraced shadows to fix light leaking cause by shadows maps. Theses inherit of the same artifacts as other screenspace methods.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl10
1 files changed, 5 insertions, 5 deletions
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 5f4a4c9f89f..f63a9665810 100644
--- a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
@@ -66,7 +66,7 @@ vec3 eevee_surface_lit(vec3 N, vec3 albedo, vec3 f0, float roughness, float ao,
l_vector.xyz = ld.l_position - worldPosition;
l_vector.w = length(l_vector.xyz);
- vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, l_vector);
+ vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, viewPosition, viewNormal, l_vector);
#ifdef HAIR_SHADER
vec3 norm_lamp, view_vec;
@@ -224,7 +224,7 @@ vec3 eevee_surface_clearcoat_lit(
l_vector.xyz = ld.l_position - worldPosition;
l_vector.w = length(l_vector.xyz);
- vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, l_vector);
+ vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, viewPosition, viewNormal, l_vector);
#ifdef HAIR_SHADER
vec3 norm_lamp, view_vec;
@@ -388,7 +388,7 @@ vec3 eevee_surface_diffuse_lit(vec3 N, vec3 albedo, float ao)
l_vector.xyz = ld.l_position - worldPosition;
l_vector.w = length(l_vector.xyz);
- vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, l_vector);
+ vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, viewPosition, viewNormal, l_vector);
#ifdef HAIR_SHADER
vec3 norm_lamp, view_vec;
@@ -480,7 +480,7 @@ vec3 eevee_surface_glossy_lit(vec3 N, vec3 f0, float roughness, float ao, int ss
l_vector.xyz = ld.l_position - worldPosition;
l_vector.w = length(l_vector.xyz);
- vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, l_vector);
+ vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, viewPosition, viewNormal, l_vector);
#ifdef HAIR_SHADER
vec3 norm_lamp, view_vec;
@@ -681,7 +681,7 @@ vec3 eevee_surface_glass(vec3 N, vec3 transmission_col, float roughness, float i
l_vector.xyz = ld.l_position - worldPosition;
l_vector.w = length(l_vector.xyz);
- vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, l_vector);
+ vec3 l_color_vis = ld.l_color * light_visibility(ld, worldPosition, viewPosition, viewNormal, l_vector);
#ifdef HAIR_SHADER
vec3 norm_lamp, view_vec;