Cycles: glossy and anisotropic BSDF changes

* Anisotropic BSDF now supports GGX and Beckmann distributions, Ward has been
  removed because other distributions are superior.
* GGX is now the default distribution for all glossy and anisotropic nodes,
  since it looks good, has low noise and is fast to evaluate.
* Ashikhmin-Shirley is now available in the Glossy BSDF.
This commit is contained in:
Brecht Van Lommel
2014-06-08 12:46:12 +02:00
parent ceb68e809e
commit b12151eceb
20 changed files with 149 additions and 274 deletions

View File

@@ -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);
}