01_user_documentation:05_object:02_light:12_shaders:04_ggx
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| 01_user_documentation:05_object:02_light:12_shaders:04_ggx [2026/09/22 12:16] – created Tim | 01_user_documentation:05_object:02_light:12_shaders:04_ggx [2026/09/22 12:37] (current) – Tim | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== GGX ====== | ====== GGX ====== | ||
| + | A GGX (Trowbridge-Reitz) microfacet BRDF shader. | ||
| + | |||
| + | |||
| + | ===== ===== | ||
| + | |||
| + | The BRDF is: | ||
| + | |||
| + | $f_r = k_d / π + D(h) · F(l,h) · G(l,v) / (4 · cos θ_i · cos θ_o)$ | ||
| + | |||
| + | where: | ||
| + | |||
| + | D(h) := GGX normal distribution function: | ||
| + | | ||
| + | $D = α² / (π · (cos²θ_h · (α²−1) + 1)²)$ | ||
| + | |||
| + | F(l,h) := Schlick Fresnel approximation: | ||
| + | |||
| + | $F = F₀ + (1−F₀)(1−cos θ_{lh})⁵$ | ||
| + | |||
| + | , where F₀ = specular | ||
| + | |||
| + | G(l,v) := Smith height-correlated masking-shadowing: | ||
| + | |||
| + | $G = G₁(l) · G₁(v), | ||
| + | |||
| + | Importance sampling uses GGX NDF half-vector sampling: | ||
| + | |||
| + | $θ_h = atan(α √(ξ₁/ | ||
| + | |||
| + | Transmission is supported via the optional transparency, | ||
| + | which enables Fresnel-weighted straight-through (delta BTDF) in the | ||
| + | CPU light model only. | ||
01_user_documentation/05_object/02_light/12_shaders/04_ggx.1790079394.txt.gz · Last modified: (external edit)
