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>2021-11-26 20:15:50 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-12-04 00:41:37 +0300
commit26335dfc57ec9a84e0e1e2fe42c41f9e74b7f0a4 (patch)
treeb20eccef021634f1f0112441b2a29e464a24e34d /source/blender/draw/engines/eevee/shaders
parent1b00ca35758dacf7ece7b95275ea3c41e53bec6c (diff)
EEVEE: Light: Merge ShadowData into LightData
This is because the light indices can now change because of the culling. So the shadow data needs to follow.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders')
-rw-r--r--source/blender/draw/engines/eevee/shaders/eevee_deferred_direct_frag.glsl5
-rw-r--r--source/blender/draw/engines/eevee/shaders/eevee_deferred_volume_frag.glsl5
-rw-r--r--source/blender/draw/engines/eevee/shaders/eevee_light_eval_lib.glsl5
-rw-r--r--source/blender/draw/engines/eevee/shaders/eevee_surface_forward_frag.glsl5
4 files changed, 2 insertions, 18 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/eevee_deferred_direct_frag.glsl b/source/blender/draw/engines/eevee/shaders/eevee_deferred_direct_frag.glsl
index 14e38d6f1d6..41c38efc4fd 100644
--- a/source/blender/draw/engines/eevee/shaders/eevee_deferred_direct_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/eevee_deferred_direct_frag.glsl
@@ -37,11 +37,6 @@ layout(std430, binding = 3) readonly restrict buffer lights_tile_buf
CullingWord lights_culling_words[];
};
-layout(std430, binding = 4) readonly restrict buffer shadows_buf
-{
- ShadowData shadows[];
-};
-
layout(std140) uniform grids_block
{
GridData grids[GRID_MAX];
diff --git a/source/blender/draw/engines/eevee/shaders/eevee_deferred_volume_frag.glsl b/source/blender/draw/engines/eevee/shaders/eevee_deferred_volume_frag.glsl
index 068db3e78fd..7e83ea356ca 100644
--- a/source/blender/draw/engines/eevee/shaders/eevee_deferred_volume_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/eevee_deferred_volume_frag.glsl
@@ -35,11 +35,6 @@ layout(std430, binding = 3) readonly restrict buffer lights_tile_buf
CullingWord lights_culling_words[];
};
-layout(std430, binding = 4) readonly restrict buffer shadows_buf
-{
- ShadowData shadows[];
-};
-
uniform sampler2D transparency_data_tx;
uniform usampler2D volume_data_tx;
uniform sampler2DArray utility_tx;
diff --git a/source/blender/draw/engines/eevee/shaders/eevee_light_eval_lib.glsl b/source/blender/draw/engines/eevee/shaders/eevee_light_eval_lib.glsl
index d3d5f859174..de2c7eaa34b 100644
--- a/source/blender/draw/engines/eevee/shaders/eevee_light_eval_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/eevee_light_eval_lib.glsl
@@ -8,7 +8,6 @@
* - lights_zbins
* - light_culling
* - lights_culling_words
- * - shadows
* - shadow_atlas_tx
* - shadow_tilemaps_tx
* - sss_transmittance_tx
@@ -46,7 +45,7 @@ void light_eval(ClosureDiffuse diffuse,
vec3 lL = light_world_to_local(light, -L) * dist;
float shadow_delta = shadow_delta_get(
- shadow_atlas_tx, shadow_tilemaps_tx, light, shadows[l_idx], lL, dist, P);
+ shadow_atlas_tx, shadow_tilemaps_tx, light, light.shadow_data, lL, dist, P);
/* Transmittance evaluation first to use initial visibility. */
if (diffuse.sss_id != 0u && light.diffuse_power > 0.0) {
@@ -59,7 +58,7 @@ void light_eval(ClosureDiffuse diffuse,
out_diffuse += light.color * intensity;
}
- visibility *= float(shadow_delta - shadows[l_idx].bias <= 0.0);
+ visibility *= float(shadow_delta - light.shadow_data.bias <= 0.0);
}
if (visibility < 1e-6) {
diff --git a/source/blender/draw/engines/eevee/shaders/eevee_surface_forward_frag.glsl b/source/blender/draw/engines/eevee/shaders/eevee_surface_forward_frag.glsl
index 152bfbeacec..2a4f0176a08 100644
--- a/source/blender/draw/engines/eevee/shaders/eevee_surface_forward_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/eevee_surface_forward_frag.glsl
@@ -45,11 +45,6 @@ layout(std430, binding = 3) readonly restrict buffer lights_tile_buf
CullingWord lights_culling_words[];
};
-layout(std430, binding = 4) readonly restrict buffer shadows_buf
-{
- ShadowData shadows[];
-};
-
layout(std140) uniform grids_block
{
GridData grids[GRID_MAX];