[Bf-blender-cvs] [f806bd82610] master: Fix T91861: Black environment behind shadow catcher

Sergey Sharybin noreply at git.blender.org
Mon Oct 4 15:14:50 CEST 2021


Commit: f806bd8261092334035e9cf1aaf0174285c3344f
Author: Sergey Sharybin
Date:   Mon Oct 4 12:57:21 2021 +0200
Branches: master
https://developer.blender.org/rBf806bd8261092334035e9cf1aaf0174285c3344f

Fix T91861: Black environment behind shadow catcher

Always sample background pass behind shadow catcher (if the pass
exists, of course), regardless of whether shadow catcher will be
used as approximate or accurate.

Allows to combine accurate shadows into an environment map.

Differential Revision: https://developer.blender.org/D12747

===================================================================

M	intern/cycles/kernel/integrator/integrator_intersect_closest.h

===================================================================

diff --git a/intern/cycles/kernel/integrator/integrator_intersect_closest.h b/intern/cycles/kernel/integrator/integrator_intersect_closest.h
index 34ca6814534..4e581df1870 100644
--- a/intern/cycles/kernel/integrator/integrator_intersect_closest.h
+++ b/intern/cycles/kernel/integrator/integrator_intersect_closest.h
@@ -123,7 +123,7 @@ ccl_device_forceinline void integrator_intersect_shader_next_kernel(
 #ifdef __SHADOW_CATCHER__
   const int object_flags = intersection_get_object_flags(kg, isect);
   if (kernel_shadow_catcher_split(INTEGRATOR_STATE_PASS, object_flags)) {
-    if (kernel_data.film.use_approximate_shadow_catcher && !kernel_data.background.transparent) {
+    if (kernel_data.film.pass_background != PASS_UNUSED && !kernel_data.background.transparent) {
       INTEGRATOR_STATE_WRITE(path, flag) |= PATH_RAY_SHADOW_CATCHER_BACKGROUND;
 
       if (use_raytrace_kernel) {



More information about the Bf-blender-cvs mailing list