NVIDIA® 携手 Weta 共同为影片《阿凡达》加快视觉特效速度

 
 
See the official You Tube trailer

挑战:


由詹姆斯·卡梅隆 (James Cameron) 执导、二十世纪福克斯出品的突破性立体 3D 长片电影《阿凡达》已于 12 月 18 日在北美地区公开上映,公映首个周末即突破 7700 万美元票房收入,位居有史以来3D电影之首。自上映以来,该片在全球范围内已获得 10 亿美元票房总收入。影片中包含了丰富、精细的场景、虚拟人物的庞大阵容以及计算机生成 (CG) 的环境。

Weta Digital 公司总部位于新西兰惠灵顿,是影片《阿凡达》的主要视觉特效供应商。该公司是 NVIDIA 公司的长期客户,他们在其视觉特效 (VFX) 制作流水线中采用了Quadro 专业图形解决方案以及 Tesla 高性能计算解决方案。

Weta 的任务是在非常风格化的数字设置下打造出诸多连续镜头,其中包含多达 800 个完全由计算机生成 (CG) 的人物。处理《阿凡达》影片所需的计算动力是 Weta 迄今为止所面临的项目中最棘手的一个,因此他们的目光便转到了图形处理器 (GPU) 发明者 NVIDIA 公司身上。

Weta 研发部主管 Sebastian Sylwan 指出:“《阿凡达》这部影片的复杂程度让我们萌发了全新的想法,那就是不走寻常路,以非常规的方式进行渲染。我们使用 RenderMan 进行最终的漫射层 (Beauty-pass) 渲染,但是为了优化《阿凡达》巨大数据集的艺术迭代 (Artistic Iterations) ,我们将大多数计算放到了一个预计算的步骤中。我们需要解决的问题不在渲染上,而是在高性能计算方面。我们意识到,利用 GPU (图形处理器) 的大规模并行计算能力来解决问题是 NVIDIA 公司的专长。”

2009 年 3 月,Weta 渲染研发部主管 Luca Fascione、Weta 首席技术官 Paul Ryan 以及 NVIDIA 研究院资深设计师 Jacopo Pantaleoni 共同探讨了 Weta 所面临的困难。Pantaleoni 表示:“Paul 让我首次了解到,在 CG 视觉特效史上,所需多边形的数量将以十亿计算,而非百万。Luca 讲述了他们独特的光照方法,他指出,他们需要一款可扩展的解决方案,以便对其所创造的异常复杂的整个世界进行光线追踪。”

 

解决方案:


Weta研发部门联合 NVIDIA 研究院展开合作。Pantaleoni 远赴新西兰,常驻当地数月之久,开始开发光线追踪软件解决方案,以处理《阿凡达》复杂镜头所需的数以十亿计的多边形。

NVIDIA 携手 Weta,共同开发了一款叫做 PantaRay 的全新预计算引擎来为 Weta VFX 流水线赋予高性能计算能力。PantaRay 这个名字的灵感取自希腊格言"panta rhei”,意为“一切皆可流动“。这款强大的光线追踪系统专为加速场景遮挡信息的预计算而设计,这些信息在整个 Weta 渲染流水线中都要用到。如此一来,特效制作人员就能够对基于图像的照明进行快速而动态的重新计算。

这种创新的方法让 Weta 能够在更短的时间内渲染更复杂的场景,同时花费更少的成本、使用更少的处理器。因此,艺术家便能够更快地迭代以及执行更多更改,最终取得更高画质、照片般逼真的效果。凭借 NVIDIA 公司在共同开发方面所做的大量工作,Weta现已能够生成之前无法实现的场景,这些场景无论是在制作时间还是在成本上都是之前所不敢想象的。

与 NVIDIA 研究院 Pantaleoni 所共同开发的解决方案让 Weta 受益匪浅。这款方案促使 Weta 进一步运用 NVIDIA 技术、发掘大规模并行计算以及 GPU 的计算能力。NVIDIA 将 Weta PantaRay 引擎移植到基于 CUDA® 的 GPU 上来,这一移植实现了 25 倍速度提升,所使用的硬件是基于 NVIDIA® Tesla® S1070 GPU 的服务器而非基于 CPU 的服务器。

影响:


在这部电影宣传预告片中的镜头很好地说明了 Weta 运用 PantaRay 所实现的优势。其中一个镜头是从直升机向下看的,有一大群成百上千的紫色生物在水面上飞行。使用 PantaRay,我们仅用了一天半时间就对画面背景中一座长满树木的大山完成了预计算。Weta 的 Fascione 称:“如果使用之前的方法,这一镜头将需要一周时间才能完成。PantaRay 大幅的速度提升意味着,我们能够创造出更加美丽的镜头。你可以在每个灌木丛、每片树叶上都看到精细的画面细节。不同距离之间的色彩分离清晰可辨。PantaRay 的计算能力使事情变得大为不同。”

事实证明,当在 GPU 上运行时,PantaRay 的光线追踪进程最高比在 CPU 上运行时快 25 倍。Sylwan 表示:“以处理这种复杂度的任务为例,如果与使用传统方法时相比,那么速度提升可能接近 100 倍。”

在史蒂芬·斯皮尔伯格/皮特·杰克森的下一部电影《丁丁历险记》 (Tintin) 中,Weta Digital 打算在其制作流水线中加入运行于 NVIDIA Tesla GPU 的 PantaRay,探索 PantaRay 以及 GPU (图形处理器) 能够进一步加速其整体视觉特效流水线的全新方式。Weta Digital 着色部门总监 Martin Hill 表示:“因为在我们所做的每一个项目中,复杂度都不断提升,我们需要的渲染能力也不断增大。渲染越复杂,为场景照明的难度就越高。PantaRay 让复杂场景的照明能够变得和简单场景一样轻而易举。”

NVIDIA 数字电影技术经理 Dominick Spina 表示:“与 Weta 研发团队这类机构之间的合作关系让我们站在了制作技术的最前沿。与 Weta 在《阿凡达》这部电影上的合作是相当成功的。PantaRay 的开发工作中没有任何空想成份。所有开发都围绕特效的制作而展开。我们将继续走这种发展道路,不断与顶尖的视觉特效和动画公司展开广泛合作,将越来越多的 NVIDIA 专业技术应用到解决最复杂的制作技术难题上来,以解除艺术家身上的束缚,使其能够发挥更大的创造力。”