Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2017-08-02 00:40:38 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2017-08-07 18:54:26 +0300
commitfc38276d74e1d451663c70f82e7f54293d24bbe4 (patch)
treedb1e8826e2ea74bab3a0029b4ffb078d38154e36 /intern/cycles/kernel/kernel_path_branched.h
parentdc4d850d109f64bc0c56b53b9a50a8e9c70951fa (diff)
Fix Cycles shadow catcher objects influencing each other.
Since all the shadow catchers are already assumed to be in the footage, the shadows they cast on each other are already in the footage too. So don't just let shadow catchers skip self, but all shadow catchers. Another justification is that it should not matter if the shadow catcher is modeled as one object or multiple separate objects, the resulting render should be the same. Differential Revision: https://developer.blender.org/D2763
Diffstat (limited to 'intern/cycles/kernel/kernel_path_branched.h')
-rw-r--r--intern/cycles/kernel/kernel_path_branched.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/intern/cycles/kernel/kernel_path_branched.h b/intern/cycles/kernel/kernel_path_branched.h
index 77d4f1df447..4ec37d225f7 100644
--- a/intern/cycles/kernel/kernel_path_branched.h
+++ b/intern/cycles/kernel/kernel_path_branched.h
@@ -502,7 +502,6 @@ ccl_device float kernel_branched_path_integrate(KernelGlobals *kg,
state.flag |= (PATH_RAY_SHADOW_CATCHER |
PATH_RAY_SHADOW_CATCHER_ONLY |
PATH_RAY_STORE_SHADOW_INFO);
- state.catcher_object = sd.object;
if(!kernel_data.background.transparent) {
L->shadow_background_color =
indirect_background(kg, &emission_sd, &state, &ray);
@@ -628,7 +627,7 @@ ccl_device float kernel_branched_path_integrate(KernelGlobals *kg,
}
#ifdef __SHADOW_TRICKS__
- *is_shadow_catcher = (state.flag & PATH_RAY_SHADOW_CATCHER);
+ *is_shadow_catcher = (state.flag & PATH_RAY_SHADOW_CATCHER) != 0;
#endif /* __SHADOW_TRICKS__ */
#ifdef __KERNEL_DEBUG__