🎯 目的

逼真模拟真实世界中光的传播路径,计算每个像素点的辐射亮度(radiance)。


🔁 基本原理

利用Random Sampling(随机路径)来近似求解渲染方程中的高维积分。因此不可微分(输入变量轻微变化(如位置或材质参数),所选的随机路径可能会完全不同。不可导)

🌟 渲染方程(简写):

  • 自发光项
     → 如果 是一个灯泡表面,这一项就是它直接发出的光。

  • 反射光项:积分部分
     → 收集来自各方向 的光 ,根据材质的反射特性 、角度余弦 ,加权累加形成出射光。

符号含义
出射辐射亮度:点 向方向 发出的光(最终看到的光)
自发光:如果点 本身是光源,它自己往 发的光
半球空间(法线方向上方的所有方向)
BRDF(双向反射分布函数):描述光从 进来、被表面反射到 的比例
入射辐射亮度:来自方向 的光,照射到点
余弦项:光照与法线夹角越小,贡献越大(光线更正面打在表面上)

⚙️ 工作流程

  1. 视角光线发射
    从摄像机出发,穿过像素,进入场景。

  2. 光线与场景交互
    碰撞检测:与物体表面相交,获取位置 、法线 、材质参数。

  3. 采样光照贡献(Monte Carlo 积分)
    在单位半球 中随机采样若干入射方向 ,计算各方向的光照贡献:

    其中 是该方向的采样概率(importance sampling)。

  4. 路径追踪
    若材质是反射/折射,继续从当前交点向反射/折射方向发射新光线,直到:

    • 命中光源(返回亮度)
    • 超过最大追踪深度
    • 被 Russian Roulette 终止(控制计算量)
  5. 像素颜色输出
    多个采样平均后得到像素最终颜色。


💡 特点

优点缺点
物理真实感高,可逼真模拟全局光照、软阴影、镜面反射等复杂效果噪声大,收敛慢,需要大量采样才能清晰
简洁、通用对低频区域采样浪费,需用重要性采样提升效率