diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-02-14 14:20:12 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-02-25 13:44:47 +0300 |
commit | e0085bfd24da3dcfb30498ad8c579620042aa6c5 (patch) | |
tree | 5b0c9a9dab1b8cc72add4f3bf0f9a331f6a87df4 /intern/cycles/kernel/kernel_shader.h | |
parent | e6be2af061ba154ec633fcaf3e4caecacec521c6 (diff) |
Cycles: move sss and diffuse transmission into diffuse pass
This simplifies compositors setups and will be consistent with Eevee render
passes from D6331. There's a continuum between these passes and it's not clear
there is much advantage to having them available separately.
Differential Revision: https://developer.blender.org/D6848
Diffstat (limited to 'intern/cycles/kernel/kernel_shader.h')
-rw-r--r-- | intern/cycles/kernel/kernel_shader.h | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index d03faff4242..9120fa7c3f3 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -901,7 +901,8 @@ ccl_device float3 shader_bsdf_diffuse(KernelGlobals *kg, ShaderData *sd) for (int i = 0; i < sd->num_closure; i++) { ShaderClosure *sc = &sd->closure[i]; - if (CLOSURE_IS_BSDF_DIFFUSE(sc->type)) + if (CLOSURE_IS_BSDF_DIFFUSE(sc->type) || CLOSURE_IS_BSSRDF(sc->type) || + CLOSURE_IS_BSDF_BSSRDF(sc->type)) eval += sc->weight; } @@ -936,20 +937,6 @@ ccl_device float3 shader_bsdf_transmission(KernelGlobals *kg, ShaderData *sd) return eval; } -ccl_device float3 shader_bsdf_subsurface(KernelGlobals *kg, ShaderData *sd) -{ - float3 eval = make_float3(0.0f, 0.0f, 0.0f); - - for (int i = 0; i < sd->num_closure; i++) { - ShaderClosure *sc = &sd->closure[i]; - - if (CLOSURE_IS_BSSRDF(sc->type) || CLOSURE_IS_BSDF_BSSRDF(sc->type)) - eval += sc->weight; - } - - return eval; -} - ccl_device float3 shader_bsdf_average_normal(KernelGlobals *kg, ShaderData *sd) { float3 N = make_float3(0.0f, 0.0f, 0.0f); |