对于光线追踪,我应该如何处理穿过弯曲光线的 Material 的阴影光线(或者明确的光路)?我了解不会弯曲光线的透明和半透明屏障:我只需要减弱光线。但如果屏障实际上使光线弯曲,那么光线通常根本不会到达光源。
更一般地,从光源到该点的显式路径必须遵循不同的路径来解释弯曲:通常会改变入射光属性(角度、行进距离等)的路径。 。那么我是否需要找到该路径?如果需要,如何找到?
我正在考虑的一件事是强制显式路径继续到与光弯曲器相交的点,然后用新的显式光线弯曲并延伸路径到光源(如果它与另一个光相交,则继续前进-弯曲边界)。但我无法采用从光弯曲表面到光源的明确路径,因为它不会考虑弯曲。
我认为如果有一个折射表面,我可能可以根据它弯曲光线的方式来解决一个系统,并找到一条从光到表面的光线,以及另一条从点到表面的光线,其中每条光线都会弯曲到另一个。但是,如果有任意多个折射表面,我真的不知道它将穿过哪些表面,直到我知道它如何弯曲通过所有其他表面。
最佳答案
如果您只是从相机开始进行单向递归光线追踪,则没有已知的方法可以模拟您想要模拟的光路类型(从光到镜面反射或折射到“规则”表面(阅读“常规”为漫反射或光泽)到相机)。
您需要使用一种包括从光源开始追踪路径的技术,例如Bi-directional path tracing的双向方法。或Photon Mapping
下面是通过光子映射生成的焦散图像。如果仔细观察,您可以看到池分离器在池底部的焦散线中转换阴影。 (我将生成一个更好的演示图像并对其进行编辑,但这是我可以通过快速搜索找到的最好的图像)
关于raytracing - 阴影光线穿过光线弯曲的物体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13456738/