diff options
| author | Brian Semrau <brian.semrau@gmail.com> | 2021-10-12 19:16:23 -0400 |
|---|---|---|
| committer | Brian Semrau <brian.semrau@gmail.com> | 2021-10-14 11:44:32 -0400 |
| commit | 4fefd7cddd8b733a19291ceb1d05991471940c93 (patch) | |
| tree | e04883da449ad0855be9691380081653c0f963c8 /servers/rendering/renderer_rd/renderer_scene_render_rd.cpp | |
| parent | 004b44e91519626e847c981c9f91ae3c4e36282c (diff) | |
| download | redot-engine-4fefd7cddd8b733a19291ceb1d05991471940c93.tar.gz | |
Fix several issues with directional shadows
- Internally disable blend splits in orthogonal directional shadow mode
- Fix soft shadows ignoring fade and blend_splits
- Fix soft shadow edge stability
Diffstat (limited to 'servers/rendering/renderer_rd/renderer_scene_render_rd.cpp')
| -rw-r--r-- | servers/rendering/renderer_rd/renderer_scene_render_rd.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp index bd8e950e70..d7c0ae1151 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp @@ -3026,7 +3026,7 @@ void RendererSceneRenderRD::_setup_lights(const PagedArray<RID> &p_lights, const RS::LightDirectionalShadowMode smode = storage->light_directional_get_shadow_mode(base); int limit = smode == RS::LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL ? 0 : (smode == RS::LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS ? 1 : 3); - light_data.blend_splits = storage->light_directional_get_blend_splits(base); + light_data.blend_splits = (smode != RS::LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL) && storage->light_directional_get_blend_splits(base); for (int j = 0; j < 4; j++) { Rect2 atlas_rect = li->shadow_transform[j].atlas_rect; CameraMatrix matrix = li->shadow_transform[j].camera; |
