From 26a220bd312ae42b4b1b1833ed01242963ebcaf5 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Thu, 7 Mar 2024 17:40:19 +0100 Subject: Make Overdraw, Lighting and Shadow Splits debug draw modes ignore decals This also makes the Overdraw and Shadow Splits debug draw modes ignore fog. The Lighting debug draw mode still displays fog as that debug draw mode is intended to preview scene lighting, and fog has an impact on how lighting is perceived. --- servers/rendering/renderer_rd/renderer_scene_render_rd.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'servers/rendering/renderer_rd/renderer_scene_render_rd.cpp') diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp index 62ecec3991..e61bb9eae8 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp @@ -1153,12 +1153,19 @@ void RendererSceneRenderRD::render_scene(const Ref &p_render PagedArray empty; - if (get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_UNSHADED) { + if (get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_UNSHADED || get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_OVERDRAW) { render_data.lights = ∅ render_data.reflection_probes = ∅ render_data.voxel_gi_instances = ∅ } + if (get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_UNSHADED || + get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_OVERDRAW || + get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_LIGHTING || + get_debug_draw_mode() == RS::VIEWPORT_DEBUG_DRAW_PSSM_SPLITS) { + render_data.decals = ∅ + } + Color clear_color; if (p_render_buffers.is_valid() && p_reflection_probe.is_null()) { clear_color = texture_storage->render_target_get_clear_request_color(rb->get_render_target()); -- cgit v1.2.3