diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-09-22 17:28:12 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-09-22 17:28:12 +0300 |
commit | b63e6ab8d252a7424272f56d2e5a5b778191f987 (patch) | |
tree | ffa8beebd5dd5fdfddba85a44c9e6df3cf96f614 /intern/cycles/kernel/closure | |
parent | 3873a0f4908a9fe4770013bc8db0c2762e638015 (diff) |
Fix Cycles SSS incorrect rendering of zero radius in green channel
Thanks to pembem22 for finding the problem.
Ref D8949
Diffstat (limited to 'intern/cycles/kernel/closure')
-rw-r--r-- | intern/cycles/kernel/closure/bssrdf.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/intern/cycles/kernel/closure/bssrdf.h b/intern/cycles/kernel/closure/bssrdf.h index 4d88a822821..de65451d82c 100644 --- a/intern/cycles/kernel/closure/bssrdf.h +++ b/intern/cycles/kernel/closure/bssrdf.h @@ -438,7 +438,8 @@ ccl_device void bssrdf_sample(const ShaderClosure *sc, float xi, float *r, float } else if (xi < 2.0f) { xi -= 1.0f; - radius = (bssrdf->radius.x > 0.0f) ? bssrdf->radius.y : bssrdf->radius.z; + radius = (bssrdf->radius.x > 0.0f && bssrdf->radius.y > 0.0f) ? bssrdf->radius.y : + bssrdf->radius.z; } else { xi -= 2.0f; |