一:Whitted-style 光线追踪#

  • 流程:

    • 从相机发出主光线
    • 命中物体之后根据材质种类继续发射:
      • 反射光线
      • 折射光线
      • 阴影光线
    • 最后通过递归计算所有光线对像素的贡献值
  • 主要用于模拟直接光照与理想情况下的反射、折射现象,对于真实世界的漫反射、全局光照、颜色渗透等并不擅长,因为它的路径通常是确定的:遇到镜面就反射,遇到玻璃就折射。

二:Monte Carlo 路径追踪#

  • 流程:

    • 从相机发出射线
    • 命中物体后根据 BRDF 随机选择次级射线发射方向
      • 漫反射方向
      • 高光方向
      • 透射方向
      • ……
    • 经过多次采样之后求得平均值
  • 因为光线传播方向的多样性,路径追踪可以很好地模拟诸如漫反射间接光、软阴影、全局光照等现象。

三:简单对比#

项目递归式光线追踪路径追踪
代表算法Whitted Ray TracingMonte Carlo Path Tracing
光线传播反射、折射递归分支随机采样一条或多条路径
主要效果镜面、玻璃、阴影全局光照、软阴影、间接光
漫反射间接光通常不自然支持天然支持
结果比较干净有噪声,需要采样收敛
成本相对低通常更高
物理真实性有限更接近物理真实