diff options
author | Pascal Schoen <pascal.schoen@adidas-group.com> | 2017-05-24 08:34:11 +0300 |
---|---|---|
committer | Pascal Schoen <pascal.schoen@adidas-group.com> | 2017-05-24 08:37:02 +0300 |
commit | e20a33b89d75897dd7aa5e296abd756ec4b25db3 (patch) | |
tree | 0c0a50d84c41e19067217139cccdfdf574cc113d /intern/cycles/kernel/svm | |
parent | 7b25ffb618dd7509d425f7a5891c64d4a3668743 (diff) |
Fix T51589: Principled Subsurface Scattering, wrong shadow color
Apply mix of subsurface and base color (wrt subsurface) for rays that
have transmitted the surface.
Diffstat (limited to 'intern/cycles/kernel/svm')
-rw-r--r-- | intern/cycles/kernel/svm/svm_closure.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index 0e1aedf2918..4a0bbb25c1d 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -150,6 +150,11 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float * * getting lower and lower */ if(path_flag & PATH_RAY_DIFFUSE_ANCESTOR) { subsurface = 0.0f; + + /* need to set the base color in this case such that the + * rays get the correctly mixed color after transmitting + * the object */ + base_color = albedo; } /* diffuse */ |