渲染方程及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}. \]

作者

Gehan Zheng

发布于

2023-02-10

更新于

2023-02-22

许可协议

评论