Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2014-02-13 01:50:31 +0400
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2014-02-13 01:50:31 +0400
commit8547d17739d1fc6eb2bd648af8dadae809865614 (patch)
treee61d517e8891a74e5b66920569adc9c066dd29c9 /intern/cycles/kernel/closure/bsdf_microfacet.h
parentf462e8a9c826a308a454f13bb867083e866b9877 (diff)
Fix T38615: cycles rendering beckmann/GGX refraction wrong with IOR equal to 1.
Diffstat (limited to 'intern/cycles/kernel/closure/bsdf_microfacet.h')
-rw-r--r--intern/cycles/kernel/closure/bsdf_microfacet.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/kernel/closure/bsdf_microfacet.h b/intern/cycles/kernel/closure/bsdf_microfacet.h
index 737cffb0f18..dfa8886c113 100644
--- a/intern/cycles/kernel/closure/bsdf_microfacet.h
+++ b/intern/cycles/kernel/closure/bsdf_microfacet.h
@@ -219,7 +219,7 @@ ccl_device int bsdf_microfacet_ggx_sample(const ShaderClosure *sc, float3 Ng, fl
*domega_in_dy = dTdy;
#endif
- if (m_ag <= 1e-4f) {
+ if (m_ag <= 1e-4f || fabsf(m_eta - 1.0f) < 1e-4f) {
// some high number for MIS
*pdf = 1e6f;
*eval = make_float3(1e6f, 1e6f, 1e6f);
@@ -450,7 +450,7 @@ ccl_device int bsdf_microfacet_beckmann_sample(const ShaderClosure *sc, float3 N
*domega_in_dx = dTdx;
*domega_in_dy = dTdy;
#endif
- if (m_ab <= 1e-4f) {
+ if (m_ab <= 1e-4f || fabsf(m_eta - 1.0f) < 1e-4f) {
// some high number for MIS
*pdf = 1e6f;
*eval = make_float3(1e6f, 1e6f, 1e6f);