案例展示

当前位置:首页>案例展示

Nvidia 称实时路径追踪即将问世,但它到底是什么呢?

时间:2024-07-07   访问量:1100

Nvidia 表示,实时路径追踪,即游戏渲染的下一个阶段,即将问世。但等等——RTX 不是才刚刚出现吗?那么什么是路径追踪?它与光线追踪有何不同?它为什么如此重要?这一切都与光的工作方式有关——包括开发人员使用它的方式以及游戏玩家与它互动的方式——以及如何利用我们 PC 和游戏机中快速增长的图形处理能力将复杂的魔术变成简单的物理原理。

无论是二维还是三维,游戏都是一种幻觉。当你在《星际拓荒》中解谜或在《Elden Ring》中躲避玛吉特的巨锤时,背景中会运行着复杂的数学魔术,让你以为自己看到的是自然而有机的东西。在幕后,你的 GPU 每秒进行数十亿次计算,让一切动起来、运转起来。

虽然游戏的图像效果比以往任何时候都要出色,但回顾过去十年左右的游戏发展,很容易发现图像进步已经放缓——我们没有看到从 2D 到 3D 或从基本 3D 到更先进的渲染技术所带来的保真度的明显提升。但事实是,幕后正在发生重大变化,这将改变游戏的制作方式,甚至改变我们玩游戏的方式。

首先,让我们讨论一下将游戏呈现在屏幕上的主要不同渲染方法。

光栅化是目前游戏的渲染方式,也是几十年来游戏的渲染方式——它很可能永远不会完全消失。光栅化是将 3D 模型渲染为 2D 图像的行为。正如 Nvidia 所解释的那样,“屏幕上的对象是由虚拟三角形网格创建的……然后计算机将 3D 模型的三角形转换为 2D 屏幕上的像素。”然后对这些像素应用其他处理,例如抗锯齿,以向您显示最终产品。在 4K 显示屏上,您的 GPU 正在计算和显示 800 万像素的颜色信息,然后每秒刷新该数据 30、60 甚至 144 次。

这是计算密集型的,因此开发人员使用快捷方式来帮助加快速度,以便我们的显卡不会因像素过多而放弃。例如,许多游戏以较低的分辨率渲染,然后进行升级,或者以棋盘格图案在屏幕上渲染,以减少 GPU 需要担心的像素数量。

就光线而言,光线追踪和路径追踪是以不同方式追踪光线反射的方式,而光栅化则向您展示如果光线不反射而是在它击中的第一个物体上停下来,游戏世界会是什么样子。物体被照亮,但这种照亮不会影响您面前屏幕上的任何其他物体。

当我说游戏是一种幻觉时,光照就是最大的例子之一。在现实世界中,光照很复杂。如果你把一个鲜红的苹果放在一张白色的桌子上,从苹果上反射出来的光线会在下面的桌子上投射出红色的色调,而从桌子上反射出来的光线会在苹果上投射出白色的色调。如果房间里有两盏灯,苹果可能会在桌子上投射出两个略有不同的阴影。每个光源和物体都可以发射、反射、散射或吸收光线。

模拟所有这些在历史上一直超出了实时图形处理的范围。因此,这些信息中的大部分都是预先烘焙到场景中的。游戏开发者非常擅长伪造自然的灯光效果。如果你曾经看过日本电视台的那些视频,人们假装打乒乓球,而其他穿着黑色西装的人则在移动球员,游戏灯光就是这样的——背景中有很多手工制作的技巧。例如,为了确保你的 GPU 有足够的时间渲染显示器上的所有内容,你看不到的东西会被丢弃或“剔除”。在现实生活中,反射会反映你是否在看它们(尽管如果你愿意,我们绝对可以就此进行一些哲学讨论)。然而,在渲染游戏时,这些元素会被忽略,直到它们再次出现在屏幕上。这意味着动态光源或刚好在屏幕外的反射表面可能会被跳过——而不是渲染——直到它出现在屏幕上。当你稍微转动游戏镜头时,你会看到反射突然出现。如果你在几乎任何现代游戏中观察反射的水面,那通常是最容易发现这种效果的地方。

之后会添加其他效果。角色投射的阴影是独立于角色计算的,您可以在许多 PC 游戏中单独调高或调低此设置,从几乎无法辨别的块状阴影调整为看起来可信的高保真阴影。不过,此阴影不是根据光源和角色或物体的确切位置计算的;它更像是对阴影外观的估计,渲染为该物体下方地面上的二维图像。

与此同时,反射是完全不同的东西,它给游戏玩家带来了许多困惑和惊愕,有时甚至引发了阴谋论。一个例子是开发商 Insomniac 为 PlayStation 4 推出的《漫威蜘蛛侠》,游戏玩家将反射技术作为对 9/11 的致敬。蜘蛛侠的纽约市挤满了覆盖着玻璃板的高楼大厦,游戏玩家在靠近玻璃板时会看到反射。然而,使用当前的渲染技术,这些反射不会被计算出来。相反,它们是一种称为立方体贴图的东西——字面意思是模拟反射的立方体形状的图像——它们是由艺术家创建的。对于游戏的特定区域,艺术家可能会为街道窗户和高处的窗户、白天和夜晚等创建立方体贴图。

由于大多数建筑物只是高大的盒子,这种方法在大多数情况下都有效,但它也有局限性。在《蜘蛛侠》中,如果你沿着“归零地”(9/11 世贸中心袭击事件发生地)附近的某些建筑物爬行,你会看到两座建筑物的模糊图像。一些玩家最初认为这是对双子塔的无声致敬。但事实是,这是一个模拟反射的立方体贴图——嵌入反射物体的静态通用图像,而不是周围环境的真实反射。

这些是幻觉中可见接缝的地方:反射、灯光、可见游戏空间的边缘。你玩游戏越多,你就越能发现这些幻觉足以让游戏看起来逼真,但几乎不是实时计算出来的。

这就是光线追踪的用武之地。

光线追踪并非新鲜事物,甚至与新事物相去甚远。它实际上是渲染三维图形的最古老想法之一。光线追踪是一种通过模拟光线运动来照亮计算机生成的场景的方法。设计师不必手动估计场景在不同光线下的外观(尽管游戏开发人员在这方面已经非常擅长),只需放置灯光,然后追踪该物体发出的光线从相机(玩家)反射回光源。这在数学上优雅而直接,但需要大量的图形处理能力。在使用光线追踪的旧计算机动画电影中,单帧可能需要数小时才能渲染。直到最近几年,实时光线追踪才成为不可能。

皮克斯自 21 世纪初开始使用光线追踪技术,自 2013 年的《怪兽大学》开始,皮克斯就开始全面使用光线追踪技术制作场景。关于光线如何移动的概念最早出现于 16 世纪,计算机图形学中光线追踪的第一个方程式早在 1969 年就已出现,当时 Arthur Appel 在一篇名为《固体着色机渲染的一些技术》的论文中详细介绍了光线追踪技术。

在光栅化场景中,不同的三角形不会相互“对话”。相反,它们的阴影和反射都是事后添加的,如上所述。然而,在光线追踪场景中,这些三角形可以通过光介质相互对话,这意味着计算机不会单独渲染每个三角形,而是考虑一个三角形的颜色和材质将如何照亮另一个三角形。Nvidia 解释说,光线追踪“通过从我们的眼睛(或取景相机)反向工作来捕捉这些效果”,追踪光线穿过二维观看表面上每个像素的路径,进入 3D 建模场景。每次光线反射都会为光线添加信息(以及复杂性和计算时间),例如颜色信息(苹果的红色)、反射率(哑光桌面与镜面抛光桌面)和折射(光线还会去哪里?)等等。

为了在栅格化场景中照亮房间,开发人员可能需要放置许多不同的光源来模拟光线追踪光线的反射方式。想象一个简单的立方体形状的房间,里面有一盏天花板灯,阳光从窗户照进来。房间中间有一张桌子,桌子上放着一个透明的玻璃水罐。天花板灯和窗外的阳光都发光,然后房间里的不同物体会将光线反射到桌子上和墙壁上。一块弯曲的玻璃器皿会将光线折射到桌子上和墙壁上。在传统的栅格化场景中,计算机无法计算光线如何穿过房间,因此开发人员必须手动模拟。他们可能会在房间的角落放置不可见的光源,以解释阳光从水罐上折射的情况;然后他们可以应用立方体贴图来显示桌子、窗户和天花板灯如何从玻璃上反射。

在光线追踪场景中,许多手动配置都消失了,因为计算机会计算出光线应如何与场景交互。每个物体和光源都有明确确定的属性——发射性、反射性、折射性、扩散性等等——这些属性可以简单地协同工作,构建出你面前的场景。水罐上的反射性可以准确地模拟桌子和窗户的反射,而不是立方体贴图;将之前的红苹果添加到场景中,它会自然反射,而艺术家无需重新创建立方体贴图。水罐弯曲光线并将其溅到桌子上的方式是经过计算的,而不是由艺术家绘制的。你放入发射光源,计算机会计算出它们如何照亮房间。艺术家现在可以自由地从事创造性的工作——角色设计、艺术指导等——而不是花大量时间表演魔术让我们觉得房间是真实的。那些事情都是自然发生的。

然而,虽然光线追踪比光栅化更接近自然的光线计算(在光栅化中,艺术家负责想象并模拟所有可见效果),但它仍然是一种捷径,或者说是路径追踪的一个子集。可以将其视为“反向路径追踪”。

让我们来谈谈光线追踪和路径追踪之间的区别。正如我们之前所讨论的,光线追踪从你的相机开始,即玩家的视角。从那里,它会查看相机周围的物体,将光线从相机引向这些物体,然后环顾四周寻找需要采样的光源。从那里,根据可用的处理能力,开发人员可以添加额外的光线反射以添加更多信息和清晰度。路径追踪是光线追踪的更全面版本,它从光源开始,通过多次反射随机光线来创建更精确的预期图像版本,而不是像我们现在看到的光线追踪那样只反射几次。

在路径追踪中,光线由其原始光源投射,然后光线进入我们的眼睛/游戏的相机。这种技术最大的好处之一是景深和间接照明等光学效果不需要额外的算法。

这在视频游戏中的意义稍微复杂一些;因为这项技术需要专用硬件,这意味着人们必须购买新的显卡和游戏机才能使用它,而这需要时间。在硬件得到更广泛采用之前,开发人员在游戏中使用该技术的动力较小。话虽如此,光线追踪并不是 GPU 制造商首次推出新的硬件绑定技术;可编程着色器是当今游戏开发不可或缺的一部分,但当该技术首次开发时,它们仅在 Nvidia GeForce 3 一张显卡上可用。随着该技术变得更便宜、更易于实施,预计它会变得更加普遍。

尽管路径追踪可能即将出现,但我们仍处于光线追踪日益普及的阶段。Nvidia 的 RTX 显卡是光线追踪的一大进步,但仍然非常有限。当游戏确实使用光线追踪时,通常只是为了反射或阴影,而游戏的其他方面则通过传统方法渲染。现代 GPU 旨在尽可能高效地渲染光栅化场景,游戏开发人员习惯于在该领域工作。即使在第一款光线追踪 GPU 发布四年后,开发人员仍然主要使用光栅化,并使用光线追踪来推动事情的发展。

这就是为什么当你进入 PC 游戏的图形设置时,有几十个开关可以关闭。对于完全路径追踪的游戏(随着每一代 GPU 的出现,这种功能将越来越有可能实现),这些设置都不是必需的。遮光物体投射的阴影、反射光线扩散的颜色以及近距离和远距离物体之间的景深差异都是追踪该路径的自然组成部分,打开或关闭它们不会影响完全追踪路径的效率。

Nvidia 称实时路径追踪即将问世,但它到底是什么呢?

完整的路径追踪仍然遥遥无期——处理能力和算法还有很长的路要走——我们可能永远无法达到真正有机的路径追踪图形的水平;即使是一个灯泡也会投射数十亿条反射、反射和散射的光线,这对硬件来说仍然太多了。这里的前进之路是双重的。专用硬件只是方程式的一部分。同样至关重要的是弥合模拟光的固有复杂性与在有限的计算能力范围内工作之间的差距的算法。例如,优化使用蒙特卡罗光线追踪(使用称为蒙特卡罗方法的随机采样方程)已经发挥了重要作用,并将继续发挥重要作用。然后必须对随机采样进行去噪,以给观看者提供清晰的图像。如果您曾经使用过光线追踪或观看过有关其在游戏中使用的视频,并注意到图像角落周围有静电,那就是 GPU 实时对光线追踪进行去噪。目前这与灯光模拟本身一样重要。

实时光线和路径追踪都取得了长足进步,从事计算机图形学工作的人们已经可以使用它们来渲染场景的基本外观,但完整渲染仍可能需要几分钟、几小时甚至几天的时间。但在实时游戏中使用路径追踪已经越来越近了。

一路上会有一些坎坷。我们已经目睹了其中最大的一个,那就是,至少现在,光线追踪场景看起来与光栅化场景没有太大区别,但它们的性能更差。这使得实施光线追踪看起来是一种毫无好处的牺牲,而现在,这是因为在技术的早期阶段,它确实如此。同样,现代显卡经过优化,可以以令人难以置信的效率处理光栅化渲染,而光线和路径追踪虽然是相当古老的想法,但在这个领域却非常新颖。但随着 GPU 变得越来越强大,路径追踪算法变得越来越高效,牺牲将开始让位于更多的好处。计算能力的提高和算法的优化,以及开发人员的增加和消费者的采用,将使这项技术从前沿技术变成日常技术。虽然支持光线追踪的显卡在市场上仍然只占较小份额,但它们正在迅速增长。根据 Steam 硬件调查,从 2021 年 11 月到 2022 年 3 月,具有光线追踪功能的显卡比例跃升了近 4%。

对于开发人员来说,这意味着场景更简单,编程更少。他们不必放置不可见的灯光并创建立方体贴图等,只需将灯光放入场景中,设置对象材料(甚至可以从材料信息数据库或类似数据库中提取),然后让路径跟踪完成其余工作。这应该可以让开发人员花更多时间创建有趣的视觉效果,而不是让视觉效果的数学运算发挥作用,这直接转化为我们制作更有趣游戏的潜力。

对于我们游戏玩家来说,这也意味着我们最终可以花更少的时间来调整游戏设置以获得可接受的游戏性能。它还提供了新机制的可能性。想象一下《异形:隔离》,但你可以看到身后隐约可见的异形的影子,或者在空间站的拉丝金属墙上看到它的模糊倒影。或者在《生化危机》或《古墓丽影》等游戏中,涉及精确反射和混合光线的谜题。这些事情需要一段时间才能实现,但随着光线追踪卡的比例每季度增长,以及 Xbox Series S 和 X 和 PlayStation 5 中的相同功能,这一天很快就会到来。

路径追踪是模拟光线的最后阶段,从这里开始,我们要做的就是利用改进的算法和 GPU 上的一些专用芯片,让它发挥出最佳效果。即使进入光线追踪时代已经几年了,开发人员仍在学习如何使用它来改善游戏,目前进展似乎很慢,但事实是,这些东西正在快速发展,我们才刚刚开始看到路径追踪将如何改变游戏。

图片来源:Wikimedia Commons、Qutorial

有新闻提示或想直接联系我们?请发送电子邮件至 news@gamespot.com

上一篇:Activision Blizzard 接受 Raven Software QA 的加盟,准备开始谈判

下一篇:《命运 2》武器和上升合金掉落率即将增加

返回顶部