渲染方程及BSDFs
光传播方程(The Light Transport Equation, LTE)
\[ L_o(p,\omega_o)=L_e(p,\omega_o)+\int_{s^2}f(p,\omega_o,\omega_i)|\cos\theta_i|d\omega_i \]
漫反射
上一篇文章提到,立体角与球面坐标的微分有如下转换关系:
\[ d\omega=\sin\theta d\theta d\phi. \]
漫反射的BSDF应该是一个常数函数,假设为\(f_{lambert}\),因为反照率的定义为:
\[ albedo(p)=\frac{L_o(p,w_o)}{L_i(p,w_i)} \]
根据只考虑漫反射时的渲染方程:
\[ \begin{align*} L_o(p,w_o)&=\int_H f \cos\theta L_i(p,w_i) d\omega\\ &=f_{lambert}\int_H \cos\theta L_i(p,w_i) d\omega\\ &=f_{lambert} L_i(p,w_i)\int_H \cos\theta d\omega \end{align*} \]
所以:
\[ f_{lambert}=\frac{albedo(p)}{\int_H \cos\theta d\omega} \]
上一篇文章的最后一节计算过:
\[ \begin{align*} \int_H \cos\theta d\omega&= \oiint_H cos\theta\sin\theta d\theta d\phi\\ &=\int_0^{2\pi}d\phi\int_0^{\frac{\pi}{2}}cos\theta\sin\theta d\theta \\ &=\pi. \end{align*} \]
因此漫反射的BSDF为:
\[ f_{lambert}=\frac{albedo(p)}{\pi}. \]