diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-11-26 20:15:50 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-12-04 00:41:37 +0300 |
commit | 26335dfc57ec9a84e0e1e2fe42c41f9e74b7f0a4 (patch) | |
tree | b20eccef021634f1f0112441b2a29e464a24e34d /source/blender/draw/engines/eevee/shaders | |
parent | 1b00ca35758dacf7ece7b95275ea3c41e53bec6c (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')
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]; |