路径追踪
路径追踪
路径追踪是光线追踪的扩展,它模拟全局光照,即光线在场景中反弹并间接照亮表面的方式。基本光线追踪只处理来自光源的直接光和用于反射的少量反弹,而路径追踪会持续反弹光线,直到它们最终到达光源。这产生了更逼真的照明,因为它考虑了光在现实世界中传播的所有方式。
路径追踪算法的工作原理是从相机通过每个像素发射一条光线。当光线击中表面时,算法会根据表面的材质属性随机选择一个方向进行反弹。它继续反弹,直到光线击中光源或飞向无穷远。这样就创建了一条从相机到光源的路径。像素的颜色就是沿着该路径累积的光。
由于反弹方向是随机的,单条路径噪声很大。要获得干净的图像,需要为每个像素发射多条路径并求平均值。这称为蒙特卡洛积分。发射的路径越多,图像就越干净。噪声以与样本数的平方根成比例的速度减少,这意味着清除最后一点噪声需要很长时间。
路径追踪自然会产生其他技术难以实现的效果。颜色溢出(红色墙壁在附近的白色墙壁上投射出红色色调)会自动发生,因为光线从红色墙壁上反弹并携带其颜色。焦散(透过一杯水看到的聚焦光线图案)的产生是因为光线通过玻璃折射并汇聚在表面上。
几乎所有现代 VFX 渲染器都使用路径追踪。Arnold、RenderMan、Cycles、Redshift 和 V-Ray 核心都是路径追踪器。它们之间的区别在于如何优化路径追踪过程、使用什么采样策略以及如何处理非常明亮的光源或高反射表面等困难情况。路径追踪已成为标准,因为它能以最少的手动设置产生最真实的结果。
