$\color{goldenrod}{d}$ Diffuse | |||
$\color{blue}{f_0}$ Specularity | |||
Alpha | |||
Roughness | Isotropic | ||
$\color{red}{m_x}$ X Roughness | |||
$\color{green}{m_y}$ Y roughness |
Light vector $\textbf{l}$ azimuth |
|
Light vector $\textbf{l}$ altitude |
|
Sun (right) | rotate by draging mouse |
Sun azimuth |
|
Sun altitude |
|
Exposure |
BRDF: | $ f(\textbf{l,v}) = \color{goldenrod}{d} (1-F(\langle \textbf{v,h} \rangle))+\frac{F(\langle \textbf{v,h} \rangle) \, D(\textbf{h})}{4 \langle \textbf{n,h} \rangle \, V(\textbf{l,v})} $ | |
Fresnel: | $ F(\langle \textbf{v,h} \rangle) = \color{blue}{f_0} + (1-\color{blue}{f_0}) (1-\cos(\textbf{v,h}))^5 $ | $ \qquad with \; \color{blue}{f_0} = \bigl(\frac{1-n}{1+n} \bigr)^2 $ |
Normal Distribution: | $ D(\textbf{h}) = \frac{1}{\pi \, \color{red}{m_x} \, \color{green}{m_y} \, \cos^4(\textbf{h,n})} * e^{ -tan^2(\textbf{h,n}) \Bigl(\frac{\cos^2 \phi_h}{\color{red}{m_x}^2} + \frac{sin^2 \phi_h}{\color{green}{m_y}^2} \Bigr) } $ | $ \qquad with\;\cos\phi_h = \langle \textbf{t,h} \rangle, \; \sin\phi_h = \langle \textbf{b,h} \rangle $ |
Viewable: | $ V(\textbf{l,v}) = (\cos(\textbf{l,v}) \, \cos(\textbf{v,n}) )^\alpha = \max{ (\langle \textbf{l,n} \rangle \langle \textbf{v,n} \rangle) } $ | |
Vectors: | $\textbf{v}$: view, $\textbf{l}$: light, $\textbf{n}$: normal, $\textbf{t}$ tangent, $\textbf{b}$: bitangent, $\textbf{h}$: half vector between $\textbf{v}$ and $\textbf{l}$ |
[1] | An Anisotropic BRDF Model for Fitting and Monte Carlo Rendering | BRDF, anisotropic Beckmann distribution |
[2] | An Inexpensive BRDF Model for Physically-based Rendering | Schlick's Fresnel approximation, Cook-Torrance model |
Everything has Fresnel | ||
Wikipedia - Bidirectional reflectance distribution function |