diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-04-09 19:24:20 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-04-09 19:24:20 +0400 |
commit | e802efb7afa0f3bb0d5d4fad37abce4148bb9ea4 (patch) | |
tree | 37013972ad4773ee1be37c9a77481fa67b4f46d8 /intern/cycles/kernel/closure/bsdf_refraction.h | |
parent | 64d1714586a5ee6b7e0f8b4d8e66dc6abf355316 (diff) |
Fix #34740: cycles rendering issue mixing glossy/glass BSDF's with zero or very
low roughness and same index of refraction.
Problem was bad float precision due to low roughness, which caused the pdf for
the different closures to not match properly.
Diffstat (limited to 'intern/cycles/kernel/closure/bsdf_refraction.h')
-rw-r--r-- | intern/cycles/kernel/closure/bsdf_refraction.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/intern/cycles/kernel/closure/bsdf_refraction.h b/intern/cycles/kernel/closure/bsdf_refraction.h index ef79d6cc259..8565c99d04e 100644 --- a/intern/cycles/kernel/closure/bsdf_refraction.h +++ b/intern/cycles/kernel/closure/bsdf_refraction.h @@ -74,7 +74,7 @@ __device int bsdf_refraction_sample(const ShaderClosure *sc, float3 Ng, float3 I &inside); if(!inside) { - *pdf = 1; + *pdf = 1.0f; *eval = make_float3(1.0f, 1.0f, 1.0f); *omega_in = T; #ifdef __RAY_DIFFERENTIALS__ |