首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路径跟踪中点灯和精确反射的处理

路径跟踪中点灯和精确反射的处理
EN

Stack Overflow用户
提问于 2012-05-16 04:59:37
回答 1查看 2.5K关注 0票数 5

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

通常情况下,程序如下:

  • 跟踪光线从相机开始(或从前一点),直到到达表面点。
  • 一旦到达表面点,就在场景中的光源上随机生成一个点。
  • 计算几何项,描述光是否能达到表面上的当前点(这个项要么是0,要么是1)。
  • 如果这个几何项是1,则通过乘以衰减因子(光的距离)和材料的BRDF来计算光的贡献。

我遗漏了一些关于事物是如何随机选择的细节,但暂时不要介意。“分布光线追踪中的灯具抽样”)。

问题是,在我看来,BRDF和光源中的光分布都不是实际的函数,而是测量值。

例如,完美反射镜的BRDF对于每一个入射角,在反射方向上是一个diracδ“函数”(即在一点上支持的一种度量,该点的质量为1)。类似地,点光(相对于区域光)是由diracδ建模的,而不是密度函数。

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

  • 用相应的反射分布“函数”对所有输出方向进行均匀采样,并进行缩放,
  • 直接按BRDF抽样,后不按刻度。

两者之间的任何东西也是可能的,也是重要的,因为对于复杂的BRDF来说,完美的重要性抽样是不可能的。

现在,在BRDF实际上是一个dirac三角洲的情况下,我们看到根据BRDF抽样变得非常重要:随机抽样,我们必须用概率1(因为BRDF在一个点上得到支持,当采样方向一致时概率为0),但是如果我们命中幸运,得到反射方向(在这个方向上有质量),那么我们就必须将贡献无限大!如果我们根据BRDF采样,我们总是生成反射方向,并且不需要缩放任何东西(特别是不要遇到任何无穷大)。

我的问题是:在光既是一般度量又不仅仅是函数的情况下,如何用光的贡献来“乘”?当考虑到BRDF的重要抽样和场景中灯光的分布时,如何在这一步骤中适当地进行“重要样本”?(光的取样过程应同时考虑光的分布和BRDF,以避免无穷大。)

理想情况下,一个人需要的采样过程永远不会产生无穷大,无穷大应该仅仅是糟糕的采样机制的产物(如上面所述)。因此,对于随后的四种情况,计算的贡献应该总是有限的:

  • 连续BRDF (例如Lambertian漫射材料),带有区域灯
  • 连续BRDF点灯
  • 带区域灯的离散BRDF (如完美镜)
  • 点灯离散BRDF

当然,理想的情况下,这将适用于BRDF和灯的任何措施,但它似乎能够得到上述4种情况下,大部分的工作是正确的。

EN

回答 1

Stack Overflow用户

发布于 2012-08-03 21:58:46

如果你有一个狄拉克三角洲,从一个完全的镜面路径到一个点光源,你仍然可以评估三角洲的整体贡献。(如果您的BRDF不是纯镜面的Dirac增量,那么您可以而且很可能应该使用普通的射线跟踪.)

请注意,这个“增量路径”将与普通射线路径不同。具体来说,普通射线的颜色表示亮度 (单位: lumens/steradian/m^2),它相对于距离是不变的,并且-- BRDF抽样--只乘以反射系数和透射系数。

然而,“δ射线”的颜色表示照度 (单位: lumens/m^2),它与距离无关(以1/r^2的形式脱落)。另外,与亮度不同的是,三角路径将受到沿路径反射镜和折射体的曲率的影响。

为了考虑曲面的傍轴行为,你需要评估射线源相对于另一端的观察角的导数。这应该可以用2x2Jacobian矩阵来表示,在每个反射时,这个矩阵乘以一个Jacobian矩阵,它表示曲面的局部曲率。你的距离计算也将修改这个矩阵-例如,考虑一个完美的透镜可能产生一个照度,随着距离的增加,当你接近焦点。这也意味着你需要处理可能的奇点,其中焦散聚焦点光源.

因为您的帧缓冲区具有有限的分辨率,所以呈现一个增量通常应该(在焦散奇点之外)产生有限的(尽管可能很高)的亮度。为了简单起见,假设每个样本都贡献了一个像素:上面的单位建议您必须将“增量路径”的照度除以像素的实心角,以使其与普通光线的亮度相当。(请注意,每个像素的立体角度都会有所不同--对于标准相机,必须包括一个cos(theta)因子)

你应该能够做一些类似的事情来终止非镜面上的纯镜面路径。我猜想,“δ射线”的统计数据也可能与常规射线的统计数据不同;你需要弄清楚它们是如何适合你的蒙特卡罗框架的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10612262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档