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>2019-06-04 19:26:36 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-06-04 19:42:50 +0300
commit942a748d5d5d3d03c09ae2b0b0767f1b1eb16147 (patch)
tree1bb83d9578806a72bc8715a1bdd5c845791adc52 /source/blender/draw/engines/eevee/shaders/lights_lib.glsl
parentff7401b02c4b9e111c0632f33bf5b51fc63026f6 (diff)
Eevee: Merge shadow map processing into one drawcall per light
This removes a lot of framebuffer configuration and binding.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/lights_lib.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/lights_lib.glsl16
1 files changed, 9 insertions, 7 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/lights_lib.glsl b/source/blender/draw/engines/eevee/shaders/lights_lib.glsl
index d01daecba9a..e0a273a9c2e 100644
--- a/source/blender/draw/engines/eevee/shaders/lights_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lights_lib.glsl
@@ -177,7 +177,7 @@ float light_visibility(LightData ld,
vec3 W,
#ifndef VOLUMETRICS
vec3 viewPosition,
- vec3 viewNormal,
+ vec3 vN,
#endif
vec4 l_vector)
{
@@ -227,15 +227,17 @@ float light_visibility(LightData ld,
vec3 ray_ori = viewPosition;
- if (dot(viewNormal, ray_dir) <= 0.0) {
- return vis;
- }
+ // vN = (gl_FrontFacing) ? vN : -vN;
+
+ // if (dot(vN, ray_dir) <= 0.0) {
+ // return vis;
+ // }
- float bias = 0.5; /* Constant Bias */
- bias += 1.0 - abs(dot(viewNormal, ray_dir)); /* Angle dependent bias */
+ float bias = 0.5; /* Constant Bias */
+ bias += 1.0 - abs(dot(vN, ray_dir)); /* Angle dependent bias */
bias *= gl_FrontFacing ? data.sh_contact_offset : -data.sh_contact_offset;
- vec3 nor_bias = viewNormal * bias;
+ vec3 nor_bias = vN * bias;
ray_ori += nor_bias;
ray_dir *= trace_distance;