Commit: 00a20aec074c3a10a2d2e1142c14cc533c90a6b3 Author: Lukas Stockner Date: Fri Jan 6 02:32:03 2023 +0100 Branches: master https://developer.blender.org/rB00a20aec074c3a10a2d2e1142c14cc533c90a6b3
Fix T103403: Lightgroup passes can contain lighting on shadow catchers =================================================================== M intern/cycles/kernel/film/light_passes.h =================================================================== diff --git a/intern/cycles/kernel/film/light_passes.h b/intern/cycles/kernel/film/light_passes.h index dbc527f2d5d..4cfd1aef43a 100644 --- a/intern/cycles/kernel/film/light_passes.h +++ b/intern/cycles/kernel/film/light_passes.h @@ -364,7 +364,9 @@ ccl_device_inline void film_write_emission_or_background_pass( } # endif /* __DENOISING_FEATURES__ */ - if (lightgroup != LIGHTGROUP_NONE && kernel_data.film.pass_lightgroup != PASS_UNUSED) { + const bool is_shadowcatcher = (path_flag & PATH_RAY_SHADOW_CATCHER_HIT) != 0; + if (!is_shadowcatcher && lightgroup != LIGHTGROUP_NONE && + kernel_data.film.pass_lightgroup != PASS_UNUSED) { film_write_pass_spectrum(buffer + kernel_data.film.pass_lightgroup + 3 * lightgroup, contribution); } @@ -373,13 +375,12 @@ ccl_device_inline void film_write_emission_or_background_pass( /* Directly visible, write to emission or background pass. */ pass_offset = pass; } - else if (kernel_data.kernel_features & KERNEL_FEATURE_LIGHT_PASSES) { + else if (is_shadowcatcher) { /* Don't write any light passes for shadow catcher, for easier * compositing back together of the combined pass. */ - if (path_flag & PATH_RAY_SHADOW_CATCHER_HIT) { - return; - } - + return; + } + else if (kernel_data.kernel_features & KERNEL_FEATURE_LIGHT_PASSES) { if (path_flag & PATH_RAY_SURFACE_PASS) { /* Indirectly visible through reflection. */ const Spectrum diffuse_weight = INTEGRATOR_STATE(state, path, pass_diffuse_weight); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs