Path tracing (路径跟踪)
Path tracing 是指从一个像素中发出multiple random rays, 相当于从眼睛到像素这一个方向打出很多条ray,然后在同一个交点上发出secondary ray, 有多少条primary ray就有多少条secondary ray,然后secondary的方向任意,不一定要是发射光线的方向。到secondary就停止tracing,这是其与ray tracing的区别。
因为secondary ray的方向任意,所以就出现了各种采样的方法来确定secondary ray的方向,使得能够更好的模拟真实场景。因为如果采到比较强的镜面反射,这样的反射光贡献更大,也更接近现实,也就是说,如果确定的反射方向的光强越大,其实是更准确的模拟了现实的,因为低光强采到与没有采到对真实情况的影响不大。最终将多条的primary ray 和secondary ray利用phong局部光照模型进行计算,并将所有结果累加在一起就是这一个交点的光强。
所以采用重要性采样能够较好的模拟真实场景。但是有时候也会出现很多noise,原因是我们对场景面的反射不了解,可能没有采到高度镜面反射的光,从而导致noise。