光线追踪是一种多年来一直困扰游戏玩家和 GPU 制造商的光影技术。一些人认为它是下一代游戏内照明,它带来了以前不可能的视觉效果,而另一些人则认为它在支持硬件方面的成本太高,并且还批评它对帧速率的影响。但这并不是唯一的先进光影技术。路径追踪是处理动态光照的另一种方式,在 GPU 上看起来更漂亮,要求也更低。至少在理论上是这样。
实际上,光线追踪和路径追踪在游戏中都占有一席之地,您可能会发现自己在未来几年同时玩它们。以下是光线追踪和路径追踪的比较方式。
什么是光线追踪?光线追踪是在场景中对照明进行建模的一种真实方法。它最初构思于 1960 年代后期,直到最近才被引入实时游戏,因为它对计算的要求很高。
光线追踪的工作原理是通过玩家的视点将光线投射到场景中。每次光线与对象交互时,都会计算该对象对光线的影响,包括其颜色、透明度和方向。当光线在场景中反弹时,它会继续被跟踪,直到它与光源相交。该计算是针对场景中的每个像素进行的,从而形成了令人难以置信的逼真外观,但也要求极高的照明技术。
光线追踪在电影CGI中使用已有多年,渲染单个帧通常需要数小时甚至数天。然而,随着计算能力的提高,以及 Nvidia RTX 显卡的推出,光线追踪加速器使游戏中的实时光线追踪成为可能。虽然在第一个版本中仅限于阴影和反射,但此后它已扩展到某些游戏中的全局照明。
雷神之锤 2 在路径追踪照明下看起来令人惊叹。
什么是路径跟踪?路径追踪是一种对场景中的实时动态光照进行建模的更现代的方法。它开发于 1980 年代中期,它采用了不同的方法,一次从光源发出数百甚至数千条光线,然后在它们在场景中随机反弹时跟踪它们。这在表面上要复杂得多,但最终结果是更容易渲染,因为它不是跟踪从像素到源的每一条光线,而是仅根据光线最可能的路径跟踪这些光线的样本。
它是光线追踪和蒙特卡罗模拟的组合,允许游戏或应用程序使用可管理的路径数量来跟踪光源。这允许以更少的开销获得类似光线追踪的照明效果,但可以说,同样重要的是,它允许基于系统的功能和所选设置的更大粒度。更大的样本量意味着对渲染场景的 GPU 的需求更大,但细节也更多。较小的样本使路径追踪更易于管理,但会牺牲视觉质量。
但是,路径跟踪的最终结果并不完美。它们与去噪算法相结合,可以清理生成的图像,结果令人印象深刻。
在某些场景和某些物体上,例如反射和折射物体(例如一杯水),需要调整路径追踪算法,以避免在较小的样本中过度丢失信息。对于这些对象,算法可能会简单地暴力追踪它,以保证准确性。
不过,每种情况下的最终结果都是渲染场景看起来与光线追踪场景一样逼真,如果不是更多的话,但有可能降低开销——尤其是在细节设置较高的情况下。路径追踪也被认为对光线充足的场景更有效,因为它有更多的数据要处理,而光线追踪在渲染具有大量阴影的场景时更有效,因为它知道光线将采用的真实路径。
光线追踪与路径追踪:哪个更好?光线追踪是用于对实时光照进行建模的准确技术,因为它遵循光线在场景中传播的自然路径。然而,有效利用光线追踪所需的计算数量之多令人难以置信。即使是现代硬件,尽管其所有硬件加速,也可能在大量光线追踪游戏中挣扎。这就是为什么许多支持“光线追踪”的游戏实际上只对场景的某些部分使用光线追踪:通常是阴影或反射。
另一方面,路径跟踪可以产生同样强大甚至更好看的视觉效果,同时对渲染硬件的要求更低。这是迄今为止一些最令人印象深刻的“光线追踪”游戏中使用的模型,例如雷神之锤 IIRTX、传送门 RTX和赛博朋克 2077的超速模式更新。它也被修改到旧游戏中,比如《半条命2》,效果很好。
路径追踪提供了一种更好看、强度更低的动态照明形式,总的来说,可以说是更好的解决方案。然而,光线追踪仍然存在其位置,即有限的路径追踪样本量会导致视觉准确性问题。还有许多传统光栅化游戏的现代例子,其中光线追踪或路径追踪照明对体验几乎没有增加,同时完全降低了帧速率——比如霍格沃茨遗产。
很可能,直到显卡变得足够强大,光线追踪或路径追踪可以像光栅化一样容易渲染,否则我们将在未来的游戏中看到灯光效果的组合,因为每种技术都有其位置。