首页 理论教育实时光线追踪技术:影视应用前景展望

实时光线追踪技术:影视应用前景展望

【摘要】:光线追踪技术对于多数人而言可能是个陌生的词汇。图9-1-3、9-1-4Project Sol视频画面发布会一结束,无论是影视爱好者,还是影视工作者,都对于实时光线追踪技术应用于影视工业的前景展开了热议。综上可见,事实上光线追踪技术对于影视工业中的视效工作者们而言属于家常便饭。实时成像的需求促使游戏界在过去二十多年的时间里,更多地发展了区别于光线追踪渲染技术的“光栅化渲染”。

许经捷

2018年8月,著名显卡供应商英伟达在德国科隆游戏展上发布了旗下基于Turing架构的新显卡Nvidia RTX2080/2080 Ti,与以往的GT/GTX系列的命名方式不同,新显卡的RTX命名直指Ray Tracing(光线追踪)的重要技术突破——实时光线追踪。

光线追踪技术对于多数人而言可能是个陌生的词汇。简单而言,数字时代的计算机图形需要不同的成像技术来“渲染”出艺术家们试图去描绘的三维场景,不同的成像技术所带来的画面效果也有所不同。光线追踪技术便是其中较为优秀的一种,通过光线追踪技术的计算呈现出来的画面具有细节饱满、阴影真实的特点,更加逼近我们肉眼所见的现实世界。

通常来说,第一时间对显卡发布投以巨大热情的往往是游戏行业,因为厂家越用心的技术升级往往能够带来越极致的游戏体验。但这一次英伟达在发布会现场所放出的几段演示视频,却引起了一批影视从业者的热议。

911 Speedster与Project Sol是由4代虚幻引擎所制作的实时光线追踪案例。其中,911 Speedster展示了细腻的保时捷跑车影像,在几个特写镜头中,流动的光线反射在光滑的车身表面,逼真的反射效果,细腻的材质,如同顶级汽车广告中的画面质感,顺着光线的演化,一辆动人的保时捷跑车由暗处旋转展现至观众面前。当“911 Speedster”字幕淡入时,如果没有提及这是实时光线追踪技术的展示,观众们会有一种看完了广告大片的错觉(见图9-1-1、9-1-2)。

图9-1-1 、9-1-2 911 Speedster 视频画面

在另一部Project Sol中,英伟达向我们展示了如同好莱坞大片《钢铁侠》中的情景。在未来科技感极强的装配车间内,一位未来士兵正在接受智能机械臂为其装上机械战甲,分镜切换间,我们看到场景中不同光源互相作用下的自然光线过渡,没有以往游戏大作中为了省时而运用低面多边形所带来的粗糙瑕疵感,取而代之的是真实科幻布景般的厚重质感(见图9-1-3、9-1-4)。

图9-1-3、9-1-4 Project Sol视频画面

发布会一结束,无论是影视爱好者,还是影视工作者,都对于实时光线追踪技术应用于影视工业的前景展开了热议。有爱好者认为该技术的大范围普及将极大地推动现有电视剧电影、广告的视觉特效水平,为观众带来更多的视觉享受;有影视工作者感慨越来越多的小规模工作室会得益于技术的突破,带来惊人的影像作品;有保守的视效工作者,从现有影视工业的渲染农场技术流程出发,表示实时光线追踪技术的成熟仍需要时间的酝酿……

但这一切真的有拥护者们所说的这么神乎其神吗?新型号的民用/商用显卡是否能对影视工业造成一定的冲击?保守从业者的观点又是否足够客观?这一切都需要回到3D计算机图形领域最根本的那个问题——如何创造“逼真”的影像画面?

要追求计算机成像的真实度,便需要尽可能地模拟现实的光线反射及阴影效果,即尽可能做到“全局照明”。早在20世纪70年代,为了实现“全局照明”的效果,有多种成像渲染技术被提出,光线追踪便是其中的一员。但因为计算资源有限,无法真正意义上去逼真地展现整个三维空间,所以现存的渲染技术,其实都是对于最终人眼所见画面上所有的像素点对应成像的渲染。例如,我们传统观影所常见的1080P画面,即1920×1080的画面大小,便需要渲染计算其长宽乘积共计2,073,600个像素点的成像。光线追踪便是在这种计算逻辑的基础上,将每个像素点视作一道光线,计算不同光线在三维空间物体表面的多次反射之后的最终结果,从而渲染生成逼真画面的一种渲染技术。

但光从上述的算法逻辑来看,我们就能清楚地明白,想要实现光线追踪效果需要极其强大的计算能力,且需要耗费大量的时间。所以对于单帧渲染时间充足的影视行业,光线追踪技术其实已经算是“老朋友”了,并不是什么“创新”。诸如皮克斯、梦工厂、工业光魔等视效巨头,都是影视级光线追踪技术的推进及改良者。电影中的每一帧画面,为了达到更好的效果以满足观众不断增长的观影体验需求,往往更愿意消耗大量的时间进行计算渲染,所以我们常在特效大片或顶级三维动画中看到。例如,在早期的皮克斯电影《玩具总动员》的制作中,有些单帧电影画面便需要四小时左右(单台主机)的渲染时间,到了《变形金刚3》中,甚至达到了单帧288小时的计算量。这也是为什么影视行业需要大规模计算机集群(渲染农场)来进行长时间渲染计算的原因。

综上可见,事实上光线追踪技术对于影视工业中的视效工作者们而言属于家常便饭。问题是,无论对于游戏还是影视,光线追踪都存在计算量过大、计算时间太长的问题。尤其是游戏,注重玩家主观操作体验的游戏在力图创造写实游戏空间的同时,还需要保证一定的帧数来确保玩家的操作体验。当实时运行帧数低于30帧时,玩家便会明显地感觉到“卡顿感”。也正是如此,相比于拥有充足渲染时间的影视行业,游戏行业其实更加急切地想要推进实时渲染技术的高速进步。实时成像的需求促使游戏界在过去二十多年的时间里,更多地发展了区别于光线追踪渲染技术的“光栅化渲染”。

光栅化渲染仅仅计算三维空间中物体棱角坐标反映在我们所见的二维平面成像上的结果,然后再对二维平面上像素点进行材质贴图等计算渲染出最后的成像。这样的算法逻辑大量减少了计算量,从而实现了实时渲染的可能。但其成像质量也是一直为人所诟病的,毕竟没有光线计算的过程,画面自然而然显得“假”。在这个过程中,烘焙贴图、环境光遮蔽、分层渲染等技术被开发出来,使实时画面离光线追踪的结果更进一步的同时,也使得市售显卡性能稳步提升。直至今日,才有了“实时渲染”与“逼真画面”的相交。

那么,英伟达是如何做到大幅缩短计算时间,达到实时光线追踪渲染效果的呢?从公布的性能数据来看,RTX 2080系列显卡性能相较于上一代旗舰GTX 1080系列显卡确实有一定的提升,尤其在显存容量、显存位宽、核心数量方面都有明显的突破。但要知道英伟达本质上是一个商业供应方,往往会在硬件的发布信息上有意地省略部分信息,以达到诱导用户购买的目的。

那么这次,他们省略了什么呢?事实是,我们可以看到硬件性能的提升,也可以看到实时光线追踪技术所带来的惊人效果,但对于现有硬件结果如何实现这样的效果,却仅仅是一笔带过。在Epic Games创始人,虚幻引擎之父Tim Sweeney的文章中提及,要实现实时光线追踪,至少需要25Tflops的计算能力,但以现阶段的高阶显卡计算能力来看,仅仅是该计算能力的一半。在这样的现实约束下,作为供应方的英伟达其实不得不通过一定的硬件及软件优化来实现实时光线追踪效果的“普及”。首先是核心GPU架构的设计上,除了用于光线追踪的RT core以外,此次还加入了用于人工智能计算优化的Tensor Core。以往我们对人工智能的了解一般停留在“优化体验”等辅助计算的情况。但这回英伟达新加入的人工智能核心其实在实现光线追踪的过程中起到了举足轻重的作用。

如图9-1-5所示,完整的光线追踪效果应有画面表现。以现阶段的计算能力,实际上只要有一定的时间,是能够计算出类似的画面的,但在“实时”这一苛刻的要求下,现有RTX系列显卡只能实现如同图9-1-6一般的“点阵图”效果,整体画面粗糙不齐,满满的噪点令人无法接受。人工智能核心的关键作用便是通过计算去弥补这些“瑕疵”。这又是如何做到的呢?

图9-1-5 实时光线追踪效果图

图9-1-6 “点阵图”效果

这一创举与英伟达基于深度学习的NGX平台技术密不可分。通过该平台强大的计算能力,在无数次迭代计算下令人工智能系统进行深度学习训练——基于已有的“点阵图”,将其导入人工智能的深度学习平台,使其计算出多个降噪修饰结果。在其中挑选出一个最接近完整光线追踪成像的结果,并以此为训练的“指导方向”,交由人工智能平台继续进行迭代训练,使其能够通过算法优化而在较少的计算量、最快的时间内进行合适的画面修饰,最后结果与实际需要花费更多时间的光线追踪成像无比接近。

经过这样反复迭代训练的人工智能算法,经由软件驱动推送训练及更新,传递至用户所拥有的显卡设备中,从而使现有显卡能够在计算量不足的情况下达到“实时光线追踪”的能力。

此外,为了使画面趋于精致,英伟达还调动该人工智能核心参与画面抗锯齿的优化,减少三维模型边缘的颗粒感,提升画面质量。和以往大量消耗计算资源的抗锯齿方法不同,英伟达所提供的DLSS(Deep Learning Super Sampling,基于深度学习的超级采样),同样也是通过人工智能的深度学习训练,针对不同目标进行高效优化的技术。可见,今后人工智能核心将在3D计算机图形发展中起到重要作用。

这样的功能运用在影视制作流程中,最大的优势便是提升渲染效率。以往需要大面积集群渲染才能进行高质量画面输出的情况,在英伟达的优化算法计算下只需要串联少数的几台电脑,便能达到类似的效果,不得不说是三维图形计算领域的重大突破。诸多的工作室、视效工作人员能够因此受益也是可以预见的。笔者的几位视效制作友人便在得知英伟达的发布会后,第一时间进行了适配RTX系列显卡的新主机搭配,同时将近期重心放在了虚幻引擎的学习上。但问题也就出现在这里。虽然功能强大,可RTX系列并非一个全能的三维动画开发平台,而仅仅是供应商所提供的硬件架构。在此基础上,除了已经公开支持的虚幻引擎、微软DirectX12及诸多游戏作品,其他方软件、平台推出相应适配更新的速度却较为缓慢。

以往显卡的更新很快就会得到各类生产力平台的软件支持,这次的节奏放缓又是因为什么呢?其实,问题同样出于英伟达的“创新”上。以往的视效往往基于优化的光栅渲染,或是基于GPU核心的长耗时光线追踪渲染,而英伟达所带来的巨大革新事实上需要诸多的软件供应商在软件内核层面进行大幅度的适配与调整。从现有的公布消息看来,对RTX显卡提出支持的应用多是使用新显卡所提供的部分内置功能,较少达到了完全支持以至于能够展示出“实时光线追踪”的能力。

著名的GPU渲染器REDSHIFT在测试过程中便出现了多次不稳定、崩溃的情况,官方讨论区中诸多用户叫苦不迭。同样,另一个GPU渲染器厂家OTOY,更是在测试中提及了RTX系列显卡的诸多问题。其一,英伟达市场部所提及的光线追踪性能,实际上只是个理论最大值而非实际现实中能够达到的性能。在实际的运用中,需要结合着色、逻辑控制及更多次的光线折射运算,现阶段显卡在实际工作中依然无法达到在理想时间中达到理想效果。其二,光效追踪并非一直都是必需的,在一些简单场景或许需要花费诸多时间在光线追踪上,但对于一些大型场景其实并不需要完全依赖于光线追踪技术,用原有的技术已经能够达到不错的效果。因此RTX系列显卡所带来的提升事实上取决于不同的运用场景。其三,RTX系列显卡的优化运算现阶段只限于三角形的模型体,对于现有影视视效中常用的体积物,如雾、云、液体等,还只能依靠以往的算法进行运算,这也是现阶段最需要英伟达与其他平台进行联手优化的地方。

不得不说的是,虽然存在诸多问题,但在OTOY旗下的Octane渲染器内部测试的版本中,针对同一张三维影像,相较于GTX 1080 34秒的渲染时间,RTX 2080 Ti还是达到了7.8秒的优秀突破。不过,这仅限于未公开的内部测试版本,在业内常用的3.0、4.0版本的渲染器中,RTX系列显卡因为没有足够的软件支持,渲染性能提升并不明显。

在笔者看来,现阶段的RTX系列显卡在多方面起到了“风向标”的作用,为我们掀开了未来的一角,但对于其在影视工业流程中的应用,或许在如下几个方面仍需要有所强化。

首先是兼容性,要知道对于影视创作者们而言,所谓的显卡技术、渲染技术永远都是“工具”,不顺手、不好用的工具往往是不受欢迎的。现阶段诸如Cinema 4D、Blender、Maya、Houdini等视效软件层出不穷,且多次迭代升级后已经极大地降低了三维影像制作的门槛,并有很多配套插件与模型材质库。这些软件拥有大量的用户,这些用户习惯于它们的创作流程,产生了很强的黏性。因而英伟达的新显卡技术需要尽可能地对于不同生产力软件进行兼容,进而成为创作者们得力的生产工具。

其次是渲染效率,从上述内容可以看出,RTX系列显卡现阶段的实时光线追踪效果取决于深度学习平台的针对性优化,除了针对性优化过的小部分游戏大作,其余的诸如各类常用渲染器都无法实现所说的“实时”效果。同时,对三角形网络模型的渲染偏向也将影响其在面对其他模型体时的渲染质量。这也只能期待英伟达在未来的版本更新中做出针对性的优化。

最后是拓展性,画面渲染效率是分场景的,毕竟计算量不同。游戏中往往会针对实时显示特性进行优化,大幅减少计算量,但电影场景中有时候会涉及大场景及人物群集的模拟。有人可能会说可以使用诸如虚幻引擎进行场景搭建,但要知道该引擎本质上并非为影视创作所设计,所以这种时候还是需要显卡拥有较好的拓展性,能够进行多卡串联进行性能提升优化。现阶段英伟达有提供NVLink技术来延展该系列显卡的拓展性,但实际拓展性仍待后续的具体测验。

正如OTOY公司的CEO Jules Urbach表示,“英伟达RTX光线追踪硬件就是未来”,新系列的RTX系列显卡的诞生确实对计算机图形领域而言是一个重大的突破。这一突破我们或许在游戏领域能更快地察觉到,在影视应用领域仍需要多方的后续努力与合作,但希望在不远的未来,计算机图形的技术革新能为影视创作者们带来更为强大的创作利器。

参考文献

[1] PATTERSON B. Ray tracing is no new thing[EB/OL].(2018-08-31).https://www.bytecellar.com/2018/08/31/ray-tracing-is-no-new-thing/.

[2]NVIDIA turing provides OTOY OctaneRender with unprecedented Speed[EB/OL]. (2018-08-17). https://www.youtube.com/watch?v=IJ 77a0erU4w.

[3]ESTES G.World’s top graphics software companies are already adopting NVIDIA RTX capabilities. Here’s Why. [EB/OL]. (2018-08-13).https://blogs.nvidia.com/blog/2018/08/13/turing-industry-support/.

[4]OctaneRender 3.08: NVIDIA GeForce RTX 2080 & 2080 Ti GPU Rendering Performance[EB/OL]. (2018-09-28).https://www.pugetsystems.com/labs/articles/OctaneRender-3-08-NVIDIA-GeForce-RTX-2080-2080-Ti-GPU-Rendering-Performance-1241/.