这部分蒙特卡罗路径跟踪算法的目的是什么



在所有使用大量蒙特卡罗样本进行路径跟踪的简单算法中,算法的路径跟踪部分随机选择返回当前表面的发射值和继续跟踪来自该表面半球的另一条射线(例如在这里的幻灯片中)。像这样:

TracePath(p, d) returns (r,g,b) [and calls itself recursively]:
    Trace ray (p, d) to find nearest intersection p’
    Select with probability (say) 50%:
        Emitted:
            return 2 * (Le_red, Le_green, Le_blue) // 2 = 1/(50%)
        Reflected: 
             generate ray in random direction d’
             return 2 * fr(d ->d’) * (n dot d’) * TracePath(p’, d’)
  1. 这只是一种使用俄罗斯轮盘赌终止路径而保持无偏的方式吗?当然,将所有光线路径的发射和反射特性一起计算并使用俄罗斯轮盘赌来决定是否继续跟踪会更有意义。

  2. 还有一个后续问题:为什么我看到的一些算法(比如在《基于物理的渲染技术》一书中)只计算一次发射,而不是考虑到物体上的所有发射属性?渲染方程基本上是

    L_o = L_e + integral of (light exiting other surfaces in to the hemisphere of this surface)

    似乎它计算了这个L_o和所有其他L_o的积分的发射特性,所以算法应该遵循

实际上,单一的发射与反射计算有点过于简单。为了回答第一个问题,掷硬币是用来终止射线的,但它会导致更大的偏差。第二个问题稍微复杂一点....

在Shirley, Wang和Zimmerman TOG 94的摘要中,作者简要总结了蒙特卡罗采样的优点和复杂性:

在分布光线追踪器中,直接照明的关键部分计算是阴影射线测试的采样策略。蒙特采用卡罗积分和重要抽样方法来实现计算。重要性抽样涉及的设计被积特定概率密度函数用于为数值积分生成样本点。概率密度函数的提出有助于直接照明从各种简单形状的灯具计算。的方法定义一组灯具的概率密度函数为提出了一种允许进行直接照明计算的方法一个样品,不管灯具的数量。

如果我们开始剖析这个摘要,这里有一些要点:

  1. 灯不是点:在现实生活中,我们几乎从不处理点光源(例如,单个LED)。
  2. 阴影通常是柔和的:这是非点光的结果。在现实生活中很难看到真正的硬边阴影。
  3. 噪音(尤其是明亮的采样伪影)不成比例地分散注意力:人类对事物应该是什么样子有很多直觉。请看OP链接演示中的幻灯片5(桌子上的玻璃球)。注意阴影中明亮的斑点。

在渲染时,为了获得更逼真的视觉效果,必须根据表面的双向反射率分布函数对反射的可见射线和照明计算射线集进行采样和加权。

请注意,这是一种引导抽样方法,与原问题的"随机方向生成射线"方法明显不同,因为它两者都是:

  1. 更准确:链接PDF中的图像受到PDF过程的影响。图10是原始图的一个合理的表示-注意,缺少您有时会看到的明亮的斑点伪影(如原始表示的图5)。

  2. 明显更快:正如最初的演示文稿所指出的,非引导蒙特卡罗采样可能需要相当长的时间才能收敛。更多的采样射线=更多的计算=更多的时间。

看完幻灯片后(谢谢你的发帖),我会尽我所能修改我的答案。

  1. 这只是一种使用俄罗斯轮盘赌来终止路径的方式吗同时保持公正?当然计数会更有意义所有光线路径的发射和反射特性并使用俄罗斯轮盘赌来决定是否继续追踪。

也许发射和反射的性质是不同的,因为反射路径依赖于入射路径,而发射路径不依赖于入射路径(至少对于光谱表面)。该算法是否采用贝叶斯方法并使用有关入射角的先验信息作为预测反射角的先验?或者这是一个所有路径上的费曼积分来得到一个概率?如果不深入研究这个理论的细节,很难得出结论。

我之前的黑体评论是非常不正确的。我看到幻灯片讲的是(R, G, B)分量;黑体发射率在所有波长上进行积分。

  1. 这是一个后续问题:为什么其中一些算法我看(就像在书中"基于物理的渲染技术")只计算一次排放量,而不是考虑所有的排放量物体的发射特性?渲染方程为基本上

    L_o = L_e +从其他表面射出的光的积分

表面的单一发射率将假设在波长或方向上没有函数关系。我不知道它对渲染逼真的图像有多重要。

张贴的那些确实令人印象深刻。我想知道,如果把你考虑的复杂性包括在内,它们看起来会有什么不同?

谢谢你贴了一个很好的问题-我要投票给它。我已经很久没有思考过这种问题了。我希望我能帮得上忙。

  1. 是的,这是俄罗斯轮盘赌的一个非常基本的实现,尽管通常终止的概率会考虑到光强度(即光越少意味着值对最终总和的贡献越小,因此使用更高的终止概率)。

最新更新