Graphics 路径跟踪中点光源和精确反射的处理

Graphics 路径跟踪中点光源和精确反射的处理,graphics,3d,raytracing,montecarlo,Graphics,3d,Raytracing,Montecarlo,试图实现蒙特卡罗路径跟踪,我在光线采样过程中遇到了一个障碍 通常,程序如下: 从摄影机(或上一点)开始跟踪光线,直到到达曲面点 到达曲面点后,在场景中的光源上随机生成点 计算几何体项,描述该灯光是否可以到达曲面上的当前点(该项为0或1) 如果该几何项为1,则通过乘以衰减因子(光的距离)和材质的BRDF来计算该光的贡献 我省略了一些关于如何随机选择事物的细节,但暂时不要介意(例如,请参见“分布光线跟踪中的灯具采样”) 在我看来,问题在于BRDF和光源中的光分布都不是实际的功能,而是测量。 例如

试图实现蒙特卡罗路径跟踪,我在光线采样过程中遇到了一个障碍

通常,程序如下:

  • 从摄影机(或上一点)开始跟踪光线,直到到达曲面点
  • 到达曲面点后,在场景中的光源上随机生成点
  • 计算几何体项,描述该灯光是否可以到达曲面上的当前点(该项为0或1)
  • 如果该几何项为1,则通过乘以衰减因子(光的距离)和材质的BRDF来计算该光的贡献
我省略了一些关于如何随机选择事物的细节,但暂时不要介意(例如,请参见“分布光线跟踪中的灯具采样”)

在我看来,问题在于BRDF和光源中的光分布都不是实际的功能,而是测量。
例如,对于每个入射角,完美反射镜的BRDF是反射方向上的dirac delta“函数”(即,在一个点上支撑的测量,该点的质量为1)。类似地,点光源(与区域光源相反)由狄拉克增量建模,而不是密度函数

把区别弄清楚似乎很重要,因为它允许适当的重要性抽样。例如,对BRDF进行采样时,可以:

  • 均匀采样所有输出方向,并按相应的反射分布“函数”缩放
  • 直接根据BRDF进行取样,而不是事后称重
介于两者之间的任何内容都是可能的,而且很重要,因为对于复杂的BRDF,完美重要性抽样是不可能的。
现在,在BRDF实际上是dirac delta的情况下,我们看到根据BRDF进行采样变得非常重要:随机采样,我们必须以概率1排除贡献(因为BRDF在单个点上受支持,当采样方向一致时,我们可以选择概率0),但是如果我们真的击中了lucky并得到了反射方向(质量所在的方向),那么我们必须将贡献比例调整为无穷大!如果我们根据BRDF进行采样,我们总是生成反射方向,并且不必缩放任何东西(特别是不必达到任何无穷大)

我的问题是:如果BRDF是一般测量值,而不仅仅是功能,那么如何将BRDF与光的贡献“相乘”?在考虑BRDF的重要性采样和场景中的灯光分布时,如何在此步骤中正确地进行“重要性采样”?(灯光采样程序应同时考虑灯光分布和BRDF,以避免无穷大。)

理想情况下,我们需要的采样过程永远不会产生无穷大,而无穷大应该只是坏采样机制的产物(如上所述)。因此,对于随后的四种情况,计算出的贡献应始终是有限的:

  • 带区域光的连续BRDF(例如,朗伯漫反射材质)
  • 带点光源的连续BRDF
  • 带区域灯的离散BRDF(如完美后视镜)
  • 带点光源的离散BRDF

当然,理想情况下,这将适用于BRDF和灯光的任何测量,但似乎能够正确处理上述4种情况,这是大部分工作的地方。

如果你有一个从完全镜面反射路径到点光源的狄拉克增量,你仍然可以评估增量的总综合贡献。(如果您的BRDF不是纯粹的镜面反射Dirac delta,您可以而且可能应该使用普通光线跟踪来处理它…)

请注意,此“增量路径”的作用与普通光线路径不同。具体地说,普通光线的颜色表示(单位:流明/斯特拉迪安/平方米),它对距离是不变的,并且——BRDF采样除外——仅乘以反射系数和透射系数

但是,“delta ray”的颜色表示(单位:流明/m^2),它对于距离不是不变的(它以1/r^2的形式衰减)。此外,与亮度不同,三角形路径将受到沿路径的镜面反射镜和折射镜曲率的影响

要考虑弯曲镜面反射曲面的近轴行为,需要计算光线源相对于另一端视角的导数。这应该由2x2雅可比矩阵表示,该矩阵在每次反射时乘以表示曲面局部曲率的雅可比矩阵。你的距离计算也会改变这个矩阵——例如,当你接近焦点时,一个完美的透镜可能会产生一个随距离增加的照度。这也意味着你需要处理可能的奇点,焦散聚焦在点光源上

因为帧缓冲区的分辨率有限,所以渲染增量通常(在焦散奇点之外)会产生有限(尽管可能相当高)的亮度。为简单起见,假设每个采样只贡献一个像素:上面的单位表明,必须将“增量路径”的照度除以像素的立体角,使其与普通光线的亮度相当。(请注意,立体角会因像素而异——对于标准相机,必须包含
cos(θ)
因子)

您应该能够执行类似的操作,以在非镜面反射曲面上终止纯镜面反射路径。我想,“三角洲射线”的统计数据也可能不同于常规射线