diff options
Diffstat (limited to 'intern/cycles/kernel/shaders/node_glass_bsdf.osl')
-rw-r--r-- | intern/cycles/kernel/shaders/node_glass_bsdf.osl | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/intern/cycles/kernel/shaders/node_glass_bsdf.osl b/intern/cycles/kernel/shaders/node_glass_bsdf.osl index 68bc107cc5e..a9723a8300a 100644 --- a/intern/cycles/kernel/shaders/node_glass_bsdf.osl +++ b/intern/cycles/kernel/shaders/node_glass_bsdf.osl @@ -19,7 +19,7 @@ shader node_glass_bsdf( color Color = 0.8, - string distribution = "Sharp", + string distribution = "sharp", float Roughness = 0.2, float IOR = 1.45, normal Normal = N, @@ -30,11 +30,13 @@ shader node_glass_bsdf( float cosi = dot(I, Normal); float Fr = fresnel_dielectric_cos(cosi, eta); - if (distribution == "Sharp") + if (distribution == "sharp") BSDF = Color * (Fr * reflection(Normal) + (1.0 - Fr) * refraction(Normal, eta)); - else if (distribution == "Beckmann") + else if (distribution == "beckmann") BSDF = Color * (Fr * microfacet_beckmann(Normal, Roughness) + (1.0 - Fr) * microfacet_beckmann_refraction(Normal, Roughness, eta)); + else if (distribution == "Multiscatter GGX") + BSDF = Color * microfacet_multi_ggx_glass(Normal, Roughness, eta, Color); else if (distribution == "GGX") BSDF = Color * (Fr * microfacet_ggx(Normal, Roughness) + (1.0 - Fr) * microfacet_ggx_refraction(Normal, Roughness, eta)); |