今天我们要说的是,光线跟踪技术,具体一点,就是实时光线跟踪。从游戏画面的角度来看,光线跟踪是最近非常流行的一个词。当然,它之所以这么火,也是理所当然的,因为光线跟踪就是未来的大势所趋。
这种技术以前主要用于好莱坞大片的制作,通过这项技术,电脑可以生成动画图像和某些视觉效果,这种技术还可以用于将电脑生成的图像与实景镜头无缝衔接。现在,我们已经明确知道,PS5 和 Project Scarlett 都将支持实时光线跟踪。毋庸置疑,实时光线跟踪将成为下一代游戏画面的重要元素之一。
不过,为什么光线跟踪对游戏如此重要呢?它跟几十年前游戏制作们制作游戏的方式有何不同?下面让我们一同探讨这个问题,不过请大家放心,我们的讲解会尽可能地接地气,易于大家理解。
首先,什么是光线跟踪?它的原理又是什么?
现实生活中,我们之所以能看见一切事物,主要是因为光线照射在物体上。光线被物体吸收、反射和折射的不同角度后到达我们眼睛中,就会决定我们看到什么样的图像。
光线跟踪则刚好相反。正如其名字所言,光线跟踪指通过跟踪从玩家的眼睛或者镜头出发后到达图像物体的光路来生成图像的方法。这种方法比直接跟踪光源发射的所有光线要高效得多,毕竟,去处理那些没有进入人眼的光线是非常浪费算力的。
光线跟踪的算法会考虑到材料和光源等元素。例如,两个相同形状的橘色篮球,如果其中一个篮球是用皮革做的,另一个的材质是橡胶,那这两个篮球会产生不一样的视觉效果,因为光线跟这两个篮球发生了截然不同的交互作用。金属和硬塑料等反光物体会产生反射,并间接照亮附近的物体,处于光路中的物体就会产生阴影。气体和水等透明或者半透明的物体会使光线发生折射(弯曲),就如同吸管在水中因为折射,看上去就像断了一样。
因为光线跟踪是基于模拟现实世界中光线运动,以及模拟其与不同介质和材料发生交互作用的方式实现的,换言之,光线跟踪是遵循物理定律的。因此,通过光线跟踪制作出来的画面将会非常真实。这也就解释了为什么光线跟踪经常运用于电影制作之中。不过,光线跟踪的缺点在于,它需要高强度的运算能力,所以在过去这种方法无法应用于实时渲染游戏画面,直到最近,这种构想才成为可能。
为了解释其原因,我们接下来将进一步探讨光线跟踪实际运作方式的一些具体细节。我们先把上面图片中的网格看作是计算机显示屏。为了渲染现代电子游戏中的某处场景,计算机需要将游戏中 3D 的虚拟世界投射到 2D 的网格(也就是计算机显示屏)上。这样,计算机就必须得决定显示屏上每一像素点的颜色,而 1080p 的画面就拥有超过 200 万个像素点。
首先,把来自镜头的一条或者多条光线投射过每一像素点,然后观察观光线是否同任何三角相交(电脑图像中的虚拟物品由多边形组成,它们有时由成千,甚至上百万个三角构成)。如果有一条光线照射到了某个三角上面,电脑算法就会利用三角的颜色以及其与镜头的距离等数据来进一步决定像素的颜色。
此外,光线有可能在三角上发生反射,或者是穿过三角,从而产生更多的光线。仅仅跟踪单一光线并不足以制作出逼真图像。光线越多,图像质量就越高,当然,制作成本也就越高。
维塔数码(Weta Digital)和皮克斯(Pixar)等公司都有「渲染农场(render farms)」,这种超级计算机通过让数万个处理器核心协同运作,能够在数小时内生成 CG 动画电影的场景,或是一帧特定的视觉特效。
但游戏的每一帧所涉及的所有 CPU 和 GPU 运算都必须瞬间完成,因为主机必须在一秒内渲染三十帧图像,才能给玩家带来流畅的游戏体验。这就是为什么预先渲染好的过场动画会比实时游戏画面的画质更高,因为制作者们能够提前渲染好图像,同时他们也能够往画面中添加更多内容。
相反,几十年来,实时电脑画面的渲染都是通过「光栅化(rasterization)」这一过程来实现的。虽然这个过程也需要消耗大量算力,但现代 GPU 已经能很好地利用这一技术来快速绘制多边形,并把绘制出的多边形转变成像素,随后在上面添加阴影或者光效。
但是,在制作实时画面的过程中,尤其是在光效方面,光栅化技术有一定局限性。近几年,游戏制作们也想出了一些巧妙的方法来制作反射、阴影以及间接照明等光影特效,但是很多方法最终都无法得以实施,由于那时光线跟踪技术还没有得到应用,他们需要想出另一种解决方法。
最新的渲染图像技术就是同时利用光栅化和光线跟踪,让这两种技术分别承担最适宜的渲染任务。去年秋天,英伟达首次通过发行新的 RTX 系列显卡,将光线跟踪技术推向消费者,显卡内有专门用来进行光线跟踪运算的硬件。四月,英伟达推出了新的驱动程序,让公司旗下的某些 GTX 显卡也能支持光线跟踪,虽然画面效果比新显卡稍微逊色。
EA 旗下工作室 DICE 在《战地 5》中的光线反射上运用了光线跟踪,水晶动力工作室(Crystal Dynamics)把该项技术重点用到了《古墓丽影:暗影》的阴影渲染上,而 4A Games 在《地铁:离去》中则借此实现了全局光照和环境光遮蔽效果。现在支持光线跟踪的游戏还非常有限,但这种局势在未来很有可能发生转变。
为什么说光线跟踪是未来游戏大势所趋呢?
现在,游戏实时光线跟踪还处于发展初期。虽然英伟达的 RTX 系列显卡的确能给光线跟踪技术提供硬件支持,但也是唯一面向消费者的光线追踪显卡,这也是为什么现在很少有游戏利用这一技术的原因。但是,随着投资的不断增加,光线跟踪的前景也会变得愈发光明。
DX 12 是支持 Windows 和 Xbox One 游戏运行的关键软件。去年秋天,微软已让 DX 12 支持光线跟踪技术。在 2019 年 3 月召开的游戏开发者大会上,Epic Games 和 Unity Technologies 都宣布,他们各自的 Unreal 引擎和 Unity 引擎(现代游戏开发最流行两款引擎)都已支持光线跟踪技术。Crytek 很快也将为 CryEngine 引擎引入软件端的光线跟踪技术。这就意味着,CryEngine 引擎制作的游戏将不需要借助英伟达 RTX 显卡等特定硬件来实现光线跟踪。
在光线跟踪技术方面,英伟达的主要竞争对手 AMD 并没有坐在一旁观望。AMD 目前还没有推出能为光线跟踪技术提供硬件支持的 GPU。在当地时间 6 月 10 日,AMD 在 E3 展会上公布了两款基于下一代 Navi 架构的新显卡 Radeon RX 5700 XT 和更为实惠的 RX 5700,然而,AMD 并没有提及光线跟踪技术。不过,Project Scarlett 和下一代 PS 主机都将使用 AMD 的处理器,包括基于 Navi 打造的定制 GPU。所以看起来,基于 Navi 架构的 PC 显卡支持光线追踪也是理所应当。
AMD 有望在一年内像英伟达一样,公布支持光线跟踪的显卡。到那时,可能距 PS5 和 Scarlett 发售已经不远了。此举将会为光线追踪的广泛使用打下坚实的基础,并且会让越来越多的游戏开发者愿意使用这一技术。同时也会推动游戏画质的进一步发展,让游戏画面达到前所未有的新高度。
翻译:小权 编辑:Tiger
2022-02-25
2022-02-25
2022-03-13
2020-11-12
2020-12-10
2020-12-10
2021-09-26
2021-05-07
2021-02-05
2020-11-13
2020-07-17
2020-11-04
2020-04-25
2020-12-10
2019-09-11
2020-04-25
2020-04-23
2020-06-19
2019-11-06
2022-01-28