光线跟踪是什么?详细介绍

光线跟踪是一种真实地显示物体的方法,该方法由 Appel 在 1968 年提出。光线跟踪方法沿着到达视点的光线的反方向跟踪,经过屏幕上每一个象素,找出与视线相交的物体表面点 P0,并继续跟踪,找出影响 P0 点光强的所有光源,从而算出 P0 点上精确的光线强度,在材质编辑中经常用来表现镜面效果。

图片[1] - 光线跟踪是什么?详细介绍 - 乐享科讯网

光线跟踪或称光迹追踪是计算机图形学的核心算法之一。在算法中,光线从光源被抛射出来,当他们经过物体表面的时候,对他们应用种种符合物理光学定律的变换。最终,光线进入虚拟的摄像机底片中,图片被生成出来。

光线跟踪(Ray tracing),又称为光迹追踪或光线追迹,来自于几何光学的一项通用技术,它通过跟踪与光学表面发生交互作用的光线从而得到光线经过路径的模型。它用于光学系统设计,如照相机镜头、显微镜、望远镜以及双目镜等。这个术语也用于表示三维计算机图形学中的特殊渲染算法,跟踪从眼睛发出的光线而不是光源发出的光线,通过这样一项技术生成编排好的场景的数学模型显现出来。

这样得到的结果类似于光线投射与扫描线渲染方法的结果,但是这种方法有更好的光学效果,例如对于反射与折射有更准确的模拟效果,并且效率非常高,所以当追求这样高质量结果时候经常使用这种方法。

在物理学中,光线追迹可以用来计算光束在介质中传播的情况。在介质中传播时,光束可能会被介质吸收,改变传播方向或者射出介质表面等。我们通过计算理想化的窄光束(光线)通过介质中的情形来解决这种复杂的情况。

在实际应用中,可以将各种电磁波或者微小粒子看成理想化的窄波束(即光线),基于这种假设,人们利用光线追迹来计算光线在介质中传播的情况。光线追迹方法首先计算一条光线在被介质吸收,或者改变方向前,光线在介质中传播的距离,方向以及到达的新位置,然后从这个新的位置产生出一条新的光线,使用同样的处理方法,最终计算出一个完整的光线在介质中传播的路径。

为了生成在三维计算机图形环境中的可见图像,光线跟踪是一个比光线投射或者扫描线渲染更加逼真的实现方法。这种方法通过逆向跟踪与假象的照相机镜头相交的光路进行工作,由于大量的类似光线横穿场景,所以从照相机角度看到的场景可见信息以及软件特定的光照条件,就可以构建起来。

当光线与场景中的物体或者媒介相交的时候计算光线的反射、折射以及吸收。 光线跟踪的场景经常是由程序员用数学工具进行描述,也可以由视觉艺术家使用中间工具描述,也可以使用从数码相机等不同技术方法捕捉到的图像或者模型数据。

由于一个光源发射出的光线的绝大部分不会在观察者看到的光线中占很大比例,这些光线大部分经过多次反射逐渐消失或者至无限小,所以对于构建可见信息来说,逆向跟踪光线要比真实地模拟光线相互作用的效率要高很多倍。计算机模拟程序从光源发出的光线开始查询与观察点相交的光线从执行与获得正确的图像来说是不现实的。

这种方法的一个明显缺点就是需要假设光线在观察点处终止,然后进行逆向跟踪。在一定数量的最大反射之后,最后交点处的光线强度使用多种算法进行估计,这些算法可能包括经典的渲染算法,也可能包括如辐射着色这样的技术。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享