路径追踪之重要性采样
困扰路径追踪的最大问题就在于–采样.
重要性采样就是把宝贵的算力资源投入在收益更高的地方–好钢用在刀刃上.
本文默认读者对路径追踪有基本了解,下文会介绍各种重要性采样.
光源重要性采样(Sampling Light)
对于p点来说,如果有一片区域是直接照亮p点的,那么可以通过将积分区域分为紫色和黄色两部分.
令整个区域为$\Omega_+$紫色区域为$M$黄色区域为$\Omega_-$
那么我们就可以改写渲染方程:
$L = \int_{\Omega^-} L_i(p, \omega_i) f_r(p, \omega_i, \omega_o) (n \cdot \omega_i) \mathrm{d}\omega_i +
\int_M L_i(p, \omega_i) f_r(p, \omega_i, \omega_o) (n \cdot \omega_i) \mathrm{d}\omega_i
$
光源重要性采样是无偏的.
$\cos\theta$重要性采样(Cosine-Weighted Sampling)
路径追踪中我们使用蒙特卡洛方法进行积分.积分效率最高(收敛最快)的情况为:pdf(x)和被积函数f(x)相等时.
对于BRDF的漫反射部分,我们知道:
$L_o(p, \omega_o) =\int_{H^2} L_i(p, \omega_i) \frac{\rho}{\pi} \cos \theta , \mathrm{d}\omega_i
$
其中$L_i$我们操作不了,但是$\frac{\rho}{\pi} \cos \theta$可以.
如果可以让$pdf(\omega) \propto \frac{\rho}{\pi} \cos \theta$,就可以提升积分效率.
即$pdf(\omega) \propto \cos \theta$,这也是这种方法称为余弦重要性采样的原因.
那么我们令
$pdf(\omega) = c \cdot \cos \theta$
由于pdf的积分为1
$\int_{H^2} pdf(\omega) , \mathrm{d}\omega = 1$
就可以得出:
$c = \frac{1}{\pi}$
那么:
$pdf(\omega) = \frac{\cos \theta}{\pi}$
我们还可以将其转换为极坐标的形式:
$pdf(\theta, \phi) = \frac{\cos \theta \sin \theta}{\pi}$
这样对就实现了对brdf漫反射部分的余弦重要性采样.