diff options
Diffstat (limited to 'intern/cycles/kernel/closure/bsdf_refraction.h')
-rw-r--r-- | intern/cycles/kernel/closure/bsdf_refraction.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/intern/cycles/kernel/closure/bsdf_refraction.h b/intern/cycles/kernel/closure/bsdf_refraction.h index 88497525960..862e774da87 100644 --- a/intern/cycles/kernel/closure/bsdf_refraction.h +++ b/intern/cycles/kernel/closure/bsdf_refraction.h @@ -23,6 +23,7 @@ ccl_device float3 bsdf_refraction_eval_reflect(ccl_private const ShaderClosure * const float3 omega_in, ccl_private float *pdf) { + *pdf = 0.0f; return make_float3(0.0f, 0.0f, 0.0f); } @@ -31,6 +32,7 @@ ccl_device float3 bsdf_refraction_eval_transmit(ccl_private const ShaderClosure const float3 omega_in, ccl_private float *pdf) { + *pdf = 0.0f; return make_float3(0.0f, 0.0f, 0.0f); } @@ -82,6 +84,10 @@ ccl_device int bsdf_refraction_sample(ccl_private const ShaderClosure *sc, *domega_in_dy = dTdy; #endif } + else { + *pdf = 0.0f; + *eval = make_float3(0.0f, 0.0f, 0.0f); + } return LABEL_TRANSMIT | LABEL_SINGULAR; } |