查看
Unreal引擎光追功能的演变及未来发展方向
(EpicGames通过“Reflections”演示内容首次在GDC2018大会展示了实时光追功能,并且以《星球大战:最后的绝地武士》中的人物作为主角。
这个演示内容展示了纹理区域照明,光追区域光影,光追反射,光追环境遮蔽,影视级景深以及NVIDIAGameWorks光追去噪,而且所有这一切都是实时进行。由于Unreal引擎采用了混合方法,无法受益于光追的通道能够继续进行光栅化,从而提高了整体性能。
这只是早期阶段。原型代码尚未向用户开放,而实时运行演示所需的硬件包括一台搭载四枚TeslaV100显卡的NVIDIADGX工作站(每枚显卡售价约71万人民币),所以软件和硬件都不适用于普通用户。
3.普及实时光追
五个月之后,EpicGames与英伟达和保时捷在SIGGRAPH2018亮相了一款实时影视体验:基于保时捷911Speedster概念车型的“TheSpeedofLight”。得益于摩尔定律的起效,这个演示内容只需要两枚NVIDIAQuadroRTX显卡。在当时每枚显卡依然需要43万人民币+的投资,但成本已经低于先前的设置。
除了先前演示的功能,“TheSpeedofLight”同时展示了光追半透明和透明涂层着色模型,以及漫射全局照明。除了制作影视内容外,团队另外创建了一个交互式内容来演示场景的实时性。
快进到今年3月举行的GDC,EpicGames已经准备好以beta功能的形式为Unreal4.22提供光追支持。为了展示这项技术在12个月内的进展,其合作伙伴GoodbyeKansas和DeepForestFilms创建了一个以数字人类作为主角的实时影视内容“Troll”。
“Troll”的复杂程度要比“Reflections”高一个量级。尽管两者都以24fps运行,但“Troll”的三角形数量是6200万,16个光照,而“Reflections”只有500万个三级奥星,4个光照。另外,“Troll”是的光追通道是以完整的1080p分辨率渲染,而“Reflections”只以半分辨率渲染,然后按比例放大。“Troll”同时需要对粒子进行光追踪,以及与其他基本组件的互操作性,包括Alembic几何缓存,毛发和皮肤。尽管复杂程度有所增加,但“Troll”只需一枚售价约8500元人民币的NVIDIARTX2080Ti。
4.Unreal4.23中的光追
当EpicGames开始在Unreal引擎初步实现光追功能时,微软正对DXR框架进行最后的调整,而英伟达则在开发新的硬件和驱动。另外,为了支持光追,EpicGames重构了渲染管道。在SIGGRAPH2019大会预览的Unreal4.23已经能够解决由这两个因素引起的不稳定性。
多个方面的性能同样得到了改善,包括天空通道,全局照明和去噪。去噪对于实时光追至关重要,因为对于能够追踪的光线数量而言,预算非常有限。
EpicGames同时实现了交叉点着色器,允许你支持自己的原语类型并渲染复杂的几何体,如毛发或分形。这家公司已经开始提供多GPU支持。Unreal4.23中增加的Low-Level支持可允许你控制哪个GPU渲染哪个通道。EpicGames将继续支持其他材质和几何类型,包括地形几何,实例静态网格,程序化网格和Niagarasprite粒子。
映维网。