BRDF

Common Cook-Torrance microfacet specular BRDF (0)

$$ f(l, v) = \frac{D(h) F(v, h) G(l, v, h)}{4(n\cdot l)(n\cdot v)} $$

  • l – light direction
  • v – view direction
  • f (l,v)– brdf
  • D(h) – normal distribution function
  • F(v,h) – fresnel function
  • G(l,v,h) – geometric shadowing term

For D I like Trowbridge-Reitz GGX

$$ D_{GGX}(v) = \frac{\alpha^2}{\pi((n \cdot m)^2 (\alpha^2 – 1) + 1)^2} $$

$$ \alpha = roughness^2 $$ Unreal alpha, matches Burley’s remapping(1) $$ \alpha = (1 – smoothness * 0.7)^6 $$ Ryse alpha, matches (2) $$(1-smoothness)^4$$

Ff

For G best Smith-Schlick

$$ G(l, v, h) = G_{1}(l) G_{1}(v) $$

$$ G_{Schlick}(v) = \frac{n\cdot v}{(n\cdot v)(1 – k) + k } $$

$$ G_{Schlick}(l) = \frac{n\cdot l}{(n\cdot l)(1 – k) + k } $$

$$ k = \frac{(0.8 + 0.5*\alpha)^2}{2} $$

Crytek Ryse – avoid highlights getting too hot on smooth surfaces and reduce gain on rough materials at grazing angles

$$ k = 0.5*\alpha \text{ – fit for me} $$

Fresnel function Schlick (3)

$$ F_{Schlick}(\mathbf{v}, \mathbf{h}) = F_0 + (1 – F_0) ( 1 – (v \cdot h) )^5 $$

ff2

Leave a Reply

Your email address will not be published. Required fields are marked *