diff options
Diffstat (limited to 'intern/cycles/kernel/shaders/node_anisotropic_bsdf.osl')
-rw-r--r-- | intern/cycles/kernel/shaders/node_anisotropic_bsdf.osl | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/intern/cycles/kernel/shaders/node_anisotropic_bsdf.osl b/intern/cycles/kernel/shaders/node_anisotropic_bsdf.osl index 3ecf5b46bef..da1e4f77107 100644 --- a/intern/cycles/kernel/shaders/node_anisotropic_bsdf.osl +++ b/intern/cycles/kernel/shaders/node_anisotropic_bsdf.osl @@ -18,7 +18,7 @@ shader node_anisotropic_bsdf( color Color = 0.0, - string distribution = "Ward", + string distribution = "GGX", float Roughness = 0.0, float Anisotropy = 0.0, float Rotation = 0.0, @@ -45,9 +45,13 @@ shader node_anisotropic_bsdf( RoughnessV = Roughness / (1.0 - aniso); } - if (distribution == "Ashikhmin-Shirley") - BSDF = Color * ashikhmin_shirley(Normal, T, RoughnessU, RoughnessV); + if (distribution == "Sharp") + BSDF = Color * reflection(Normal); + else if (distribution == "Beckmann") + BSDF = Color * microfacet_beckmann_aniso(Normal, T, RoughnessU, RoughnessV); + else if (distribution == "GGX") + BSDF = Color * microfacet_ggx_aniso(Normal, T, RoughnessU, RoughnessV); else - BSDF = Color * ward(Normal, T, RoughnessU, RoughnessV); + BSDF = Color * ashikhmin_shirley(Normal, T, RoughnessU, RoughnessV); } |