光线追踪 vs. 路径追踪 —— 动态光照方法对比 | ENBLE

光线追踪 vs. 路径追踪 —— 动态光照方法对比 | ENBLE

光线追踪是一种效果,多年来一直在玩家和GPU制造商之间产生分歧。有些人认为它是游戏内照明的下一代,引入了以前不可能的视觉效果,而其他人则认为它在支持硬件方面的成本过高,并且对帧率的影响也很大。但这不是唯一的先进照明技术。路径追踪是一种处理动态照明的替代方法,可以在视觉上更美观,对GPU的要求也更低。至少在理论上是这样。

实际上,光线追踪和路径追踪都在游戏中有其作用,并且在未来几年中您可能会发现自己同时使用它们。以下是光线追踪和路径追踪的比较。

什么是光线追踪?

光线追踪是一种逼真的场景照明建模方法。它最早是在上世纪60年代末提出的,由于计算的复杂性,直到最近才被应用于实时游戏。

光线追踪通过从玩家视点向场景投射一条光线来工作。每次光线与物体相交时,都会计算物体对光线的影响,包括颜色、透明度和方向。光线在场景中弹射,直到与光源相交为止。该计算对场景中的每个像素进行,使得照明技术看起来非常逼真,但同时也要求计算能力非常强大。

光线追踪多年来一直用于电影CGI中,通常需要几小时甚至几天来渲染单个帧。然而,随着计算能力的提高,以及Nvidia的RTX显卡的推出,光线追踪加速器使得实时光线追踪在游戏中成为可能。虽然最初只限于阴影和反射,但现在已经扩展到一些游戏中的全局光照。

带有路径追踪照明的Quake 2看起来令人惊艳。Nvidia

什么是路径追踪?

路径追踪是一种更现代的实时动态照明建模方法。它是在上世纪80年代中期开发的,采用了不同的方法,通过从光源发送出数百甚至数千条光线,并跟踪它们在场景中的随机弹射。这在表面上更加复杂,但结果是更容易渲染,因为它不需要跟踪每条光线从像素到光源的路径,而是根据光线最可能的路径跟踪其中的一部分样本光线。

路径追踪是光线追踪和蒙特卡洛模拟的结合,它允许游戏或应用程序使用可管理的路径样本数来跟踪到光源。这样可以实现类似于光线追踪的照明效果,减少了计算负担,但同样重要的是,它可以根据系统和所选择的设置提供更大的细节粒度。更大的样本大小意味着在渲染场景时对GPU的要求更高,但也意味着更高的细节。较小的样本使路径追踪更易于管理,但会降低视觉质量。

路径追踪的最终结果并不完美。它们与去噪算法结合使用,以清理生成的图像,结果令人印象深刻。

对于某些场景和某些物体,例如反射和折射物体(例如玻璃杯),需要调整路径追踪算法,以避免在较小的样本中丢失过多信息。在这种情况下,算法可能会采用暴力光线追踪,以确保准确性。

无论哪种情况,最终结果都是渲染出的场景看起来像光线追踪一样逼真,甚至更加逼真,但潜在的开销要低得多 – 尤其是在更高的细节设置下。路径追踪也被认为在光照充足的场景中更有效,因为它具有更多的数据,而光线追踪在渲染有很多阴影的场景时可能更有效,因为它知道光线的真实路径。

一些光线追踪照明效果并不值得代价。DigitalTrends

光线追踪与路径追踪:哪个更好?

光线追踪是一种准确的实时照明建模技术,因为它遵循光线在场景中传播的自然路径。然而,为了有效利用光线追踪,需要进行大量的计算。即使是现代硬件,即使具有所有硬件加速功能,也可能在强烈的光线追踪游戏中遇到困难。这就是为什么许多支持“光线追踪”的游戏实际上只在场景的某些部分使用光线追踪:通常是阴影或反射。

相比之下,路径追踪可以在对渲染硬件需求较低的情况下产生同样强大甚至更好看的视觉效果。迄今为止,一些最令人印象深刻的“光线追踪”游戏,如《雷神之锤II RTX》、《传送门 RTX》和《赛博朋克2077》的超频模式更新,都采用了这种模型。它还被用于修改旧游戏,比如《半条命2》,效果非常好。

路径追踪提供了一种更好看且不那么强烈的动态光照形式,总体上可以说是更好的解决方案。然而,光线追踪仍然有其适用场景,其中路径追踪样本量有限会导致视觉准确性问题。同时,也有许多现代传统光栅化游戏的例子,光线追踪或路径追踪光照对游戏体验几乎没有贡献,反而大幅降低帧率,比如《霍格沃茨传奇》。

很可能在图形卡变得足够强大,光线追踪或路径追踪能够像光栅化一样轻松渲染之前,我们会在未来的游戏中看到多种光照效果的组合,因为每种技术都有其适用场景。