【cg】【pbr】基于物理的渲染实现篇之间接光照(下)
前言
书接前文,让我们来继续实现specular IBL
。上回书说到我们可以使用暴力的手段,在片段着色器里实时计算积分来求得最终的光强,只不过采样的时候通过一些数学方法(重要性采样)来提高效率。但是Epic提供了一个更高效的方案,虽然损失了一些精度,但是图形学的本质就是欺骗嘛。
此处列一下后面需要引用到的以前的文章里介绍过的方程。
\[ L_{specular}(p, \vec{v}) = \int_{\vec{l}_i \in \Omega} \color{red}{f_s}\color{black}{} \ast L(p, \vec{l}_i) \ast (\vec{n} \cdot \vec{l}_{i}) \ast d\vec{l}_i \tag{0.1} \]
重要性采样近似方程。
\[ L_{specular}(p, \vec{v}) \approx \frac{1}{N} \sum_{i = 0}^{i \lt N} \frac { f_s \ast L(p, \vec{l_i}) \ast (\vec{n} \cdot \vec{l_i}) } { p_{s}(p, \vec{l_i}, \vec{v}) } \tag{0.14} \]