From 5465ef83cb16634de54f3aba0bd9d28cdc450590 Mon Sep 17 00:00:00 2001 From: William Deurwaarder Date: Sat, 16 Oct 2021 11:23:47 +0200 Subject: [PATCH] GPULightmapper: execute dilate also after denoise Dilate fills gaps that are caused by the rasterization. As dilate is based on the alpha-channel which is not part of denoise, dilate can be run after denoise as well. So that colors are not denoised/mixed over seams. --- modules/lightmapper_rd/lightmapper_rd.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/lightmapper_rd/lightmapper_rd.cpp b/modules/lightmapper_rd/lightmapper_rd.cpp index 61e68127e4..37e969db4d 100644 --- a/modules/lightmapper_rd/lightmapper_rd.cpp +++ b/modules/lightmapper_rd/lightmapper_rd.cpp @@ -1466,6 +1466,14 @@ LightmapperRD::BakeError LightmapperRD::bake(BakeQuality p_quality, bool p_use_d } } } + + { + SWAP(light_accum_tex, light_accum_tex2); + BakeError error = _dilate(rd, compute_shader, compute_base_uniform_set, push_constant, light_accum_tex2, light_accum_tex, atlas_size, atlas_slices * (p_bake_sh ? 4 : 1)); + if (unlikely(error != BAKE_OK)) { + return error; + } + } } #ifdef DEBUG_TEXTURES