2

对于光线追踪,我应该如何处理穿过使光线弯曲的材质的阴影光线(或者,明确的光路)?我了解不会弯曲光线的透明和半透明屏障:我只需要衰减光线。但是,如果屏障实际上使光线弯曲,那么光线通常根本不会到达光源。

更一般地,从光源到点的明确路径必须遵循不同的路径来解释弯曲:一条通常会改变入射光属性(角度、行进距离等)的路径。那么我是否需要找到那条路径,如果需要,如何找到?

我正在考虑的一件事是强制显式路径继续到它与光弯曲器相交的点,然后用新的显式光线弯曲并延伸路径到光源(如果它与另一个光弯曲边界相交,则继续前进)。但是我不能从光弯曲表面到光源的明确路径,因为它不会考虑弯曲。

我认为如果有一个折射表面,我可能会根据它弯曲光线的方式来解决一个系统,并找到从光线到表面的光线,以及从点到表面的另一条光线,每条光线都会弯曲到其他。但是如果有任意多个折射面,我真的不知道它会通过哪些,直到我知道它是如何弯曲穿过所有其他的。

4

2 回答 2

1

除了@MikeMx7f 所说的之外,您实际需要做什么取决于您的特定光线追踪“技术”。请注意,以下所有要点都被严重简化了。

  • 在进行直接单向 whitted 式光线追踪时,通常的方法是假设光线在击中您的交点和光源之间的阴影投射对象时产生阴影。

  • 在进行(单向)路径追踪1时,您通常只需从交点对半球内的许多方向进行采样并追踪这些二次射线,直到满足某个标准(最大深度,命中“光源”——即发射材料)。

  • 在进行光子映射时,您会通过存储在场景几何体中的光子获得由折射物体引起的焦散。也就是说,您在附近收集一定数量的光子,以便近似交点处的入射光。然而,必须特别注意镜面反射表面。

路径追踪

于 2013-04-02T08:21:47.823 回答
1

如果您只是从相机开始进行单向递归光线追踪,则没有已知的方法可以模拟您想要模拟的光路类型(从光到镜面反射或折射到“常规”表面(阅读“常规”作为漫反射或光泽)到相机)。

您需要使用包括从光源开始的跟踪路径的技术,例如双向路径跟踪光子映射的双向方法

下面是通过光子映射生成焦散的图像。如果仔细观察,您会发现池分离器在池底部的焦散中投下阴影。(我将生成一个更好的演示图像并对其进行编辑,但这是我通过快速搜索可以找到的最好的图像) 焦散中的阴影

于 2013-04-01T18:57:56.560 回答