diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-12-02 13:59:12 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-12-02 14:00:01 +0300 |
commit | d0a9ec5efcebd66896b75010ee6093b505e99ad2 (patch) | |
tree | 652be7a8e9d6b69fa5382f1ecb0e71e9f8e09d74 /intern/cycles/kernel/kernel_accumulate.h | |
parent | 3cd36f85b0948f1e33e1aaef9f300fd9a0323026 (diff) |
Cycles: Fix SSS object not properly reflected in glossy object with indirect clamping
This fixes remained issues reported in T46908.
Diffstat (limited to 'intern/cycles/kernel/kernel_accumulate.h')
-rw-r--r-- | intern/cycles/kernel/kernel_accumulate.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel_accumulate.h b/intern/cycles/kernel/kernel_accumulate.h index 2dc87fffcbc..29eca865384 100644 --- a/intern/cycles/kernel/kernel_accumulate.h +++ b/intern/cycles/kernel/kernel_accumulate.h @@ -339,6 +339,23 @@ ccl_device_inline void path_radiance_reset_indirect(PathRadiance *L) #endif } +ccl_device_inline void path_radiance_copy_indirect(PathRadiance *L, + const PathRadiance *L_src) +{ +#ifdef __PASSES__ + if(L->use_light_pass) { + L->path_diffuse = L_src->path_diffuse; + L->path_glossy = L_src->path_glossy; + L->path_transmission = L_src->path_transmission; + L->path_subsurface = L_src->path_subsurface; + L->path_scatter = L_src->path_scatter; + + L->direct_emission = L_src->direct_emission; + L->indirect = L_src->indirect; + } +#endif +} + ccl_device_inline float3 path_radiance_clamp_and_sum(KernelGlobals *kg, PathRadiance *L) { float3 L_sum; |