近日,微软正式发布了全新的API DX12终极版(DirectX 12 Ultimate),在DirectX 12_1的基础上位玩家们带来了全新的光线追踪(DirectX Raytracing 1.1)、可变速率着色(VRS)、网状/网格着色器(Mesh)和采样器反馈(Sampler Feedback)等新特性。
按照惯例,每一代DX都会预制在新一代Windows版本上:DX9对应Windows XP、DX12对应Windows10等,每一代DX的应用都会对推动各种多媒体应用的新特性发挥重要作用,尤其是对于PC游戏来说,每一代DX的特性都是未来数年内主流游戏技术发展的风向标。
在DX被应用在Xbox平台后,开始打破PC平台和游戏主机平台之间的界限,除了降低开发人员的移植成本外,可以更加有效地促进各种游戏效果新特性的普及,DX12终极版也将应用在XBox Seires X上,而作为最高最高的核心技术光线追踪,也将随着新一世代游戏主机的发布而插上快速普及的翅膀。
下面,我们就一起来看看光线追踪的现状和DX12终极版对光追技术大规模普及的意义。
光线追踪:从质疑到真香
英伟达(NVIDIA)在Gamescom2018大会上公布图灵(Turing)架构显卡后,原本在电影后期大规模使用的光线追踪就成为游戏领域最受关注的新技术,但由于需要专门的RT Core单元支持,只有英伟达的RTX系列显卡可以实现实时光线追踪渲染,加上初期支持光追的游戏数量不多,光追技术的发展曾经不被人看好。
实时光线追踪技术的最大意义是明显提高游戏中的光影效果,从而提供更佳的游戏画质,部分玩家一度认为光线追踪其实只是一个传统光效换个马甲的“营销套路”。
但实际上,RT光追比传统提前渲染好的光线效果更为复杂,由于是根据光源位置进行实时物理渲染,玩家可以在游戏中获得更接近真实世界的交互体验,举个简单的例子,在使用GPU光栅化技术时,我们在镜面或者水面看到的镜像都是提前渲染好的,但如果能使用光线追踪,你可以看到与现实世界一致的光线反射,看到的都是该场景下各个物体实时反射的画面,除了画面效果外也提供了更大的交互可能。
与光线追踪技术在电影工业届二十多年前就开始发展的道路相似,随着硬件的跟进,特别是RTX2060这种“实惠”产品的出现,加上前期优化不足的3A大作纷纷通过补丁大幅度提高运算效能,配合DLSS(深度学习超级采样)抗锯齿的使用,光线追踪进入到一个真正“能玩”的阶段,肉眼可见的画面提升加上入门门槛的降低,已经有越来越多人选择升级硬件来体验这项新技术。
DirectX 12 终极版:让开发商的开发门槛降低
踏入2020年,光线追踪的硬件价格门槛已经被RTX2060拉到接近2000元,在英伟达的鸡血驱动和各个游戏的优化补丁加持下,现在的RTX2060已经可以获得接近初期RTX2080的光追游戏体验,加上XBox Seires X和PS5两款次时代主机先后官宣支持光线追踪技术,虽然还有一定门槛,但硬件显然已经不是制约光追技术普及的最大门槛。
相较之下,游戏数量不足才是制约光线追踪普及的最大因素,能用上该技术的游戏基本出自大型开发商之手,虽然保证了最终呈现效果的质量,但由于游戏类型和数量的限制,加上不开启光追的前提下这些游戏本身也有相当不俗的画质表现,光线追踪自然还无法成为玩家们的刚需。
而对于开发商来说,由于现在市面上支持光线追踪的游戏平台只有使用RTX显卡的Windows主机,如今Steam上最热门的显卡还是GTX1060,在游戏开发中加入对光追的支持边际收益并不高,除此之外,光追在开发技术上的优化不足也提高了开发成本。
目前能完整支持DX12终极版的显卡:RTX全系列
NVIDIA GeForce RTX 2060 参考价格暂无报价
恭喜RTX显卡用户,目前在售显卡中只有图灵架构的RTX显卡能够完整支持DX12终极版的全部新特性,因为RTX GPU本身就是围绕着新API的技术指标而设计的。AMD则很可能需要到RDN2架构的显卡才能完全支持。
当前的光追技术是微软在2018年为DirectX 12引入的DirectX Raytracing(DXR1.0),该版本的DXR在软件特性上的支持还比较基础,它更多是围绕着英伟达图灵架构的硬件特性来设计,并没有从游戏开发者角度去考虑如何实现光追,软件设计上也不够成熟,这也导致了开发者们目前仍需不断通过补丁来优化游戏体验。
微软在DirectX 12 Ultimate上的DXR1.1版本,加入了允许GPU直接调用光追、按需加载光线追踪着色器和内联光线追踪这三个重大改进,在提高光追效果的运行效率的同时也降低了开发者的开发难度。
允许GPU直接调用光追:跑在GPU上面的着色器在DXR1.1中可以直接调用光线追踪,而无需通过CPU来调用,这项功能有效提高自适应光线追踪场景的硬件运行效率,尤其是在需要利用着色器实现剔除、排序、分类和细化等操作的复杂场景中,今后的光线追踪工作可以直接在GPU内部完成,这也简化了开发者们调用光追效果所需要完成的流程。
按需加载光线追踪着色器:当玩家在游戏场景中移动自身位置、游戏内物件改变位置状态的过程中,流动引擎可以根据此时的实际场景需求来加载新的光线追踪着色器,减少不必要的渲染资源,从而提高处理过程的效率。
内联光线追踪(Inline Raytracing):作为目前基于动态着色器实现光线追踪的一种替代形式,大致可以理解为是一种经过简化的光线追踪,开发者在内联光线追踪过程中将拥有有更大的控制权,并且可以在包括计算着色和像素着色阶段的任意着色阶段调用它,搭配基于动态着色器的传统光线追踪进行混合使用,可以更好地平衡性能表现与运行效果。
这三项技术由微软、英伟达和AMD一同研发完成,经过一年多的打磨,DXR1.1在软硬件结合和技术成熟度上相较DXR1.0都有了较大的进步,除此之外,DX12终极版还拥有可变速率着色(VRS)、网状/网格着色器(Mesh)和采样器反馈(Sampler Feedback)等新特性,游戏开发者将可以利用这些新特性更好地开发支持光追的游戏。
DX12终极版的优化方向是提高开发者对硬件的控制力和提高总体计算效率,将首发搭载在Windows 10Version2004当中,也将集成在Xbox Series X这款次世代主机的系统底层,英伟达现有的RTX系列显卡和AMD年底推出的RDNA2架构将完整支持这些新特性,这对游戏开发者来说无疑是个好消息。
从本世代(PS4、Xbox One)开始,微软和索尼在硬件层面(均采用x86架构)与PC已经变得非常类似,这种趋势降低了主机和PC游戏的跨平台成本,软件技术上的应用也更加同步,游戏开发者们可以同时为多个平台开发游戏,在新技术上的应用成本也变得更低,这也是这次DX12 Ultimate发布对光线追踪技术普及最重要的意义。
主机游戏是绝大部分游戏开发商们利润空间最大的市场,也引领着游戏技术的发展,它或许不是新技术最早的采用者,但优化更佳的软硬件可以让它更好地使用各种新技术,DX12终极版在软件层面上对光追的优化和以此让主机加入对光追技术的支持,给使用该技术的游戏开发商们吃下了一颗定心丸:支持光线追踪的游戏硬件将会大幅增加,开发难度也大幅降低。
软件开发层面上的优化除了可以降低大型开发商们的开发成本,也为独立开发者使用这项新技术提供更多可能,不一定要3A大作才需要光追,《我的世界》使用光追效果后画面脱胎换骨的惊艳效果证明了光追技术拥有非常广阔的应用前景,虽然光追技术肯定需要EA、暴雪和育碧等大厂来推动,但是数量更多的小型开发商更能推动该技术的大规模普及。
DX12终极版会加速光线追踪的普及
参考历代DirectX的普及过程,光线追踪技术在硬件层面上的大规模普及几乎是板上钉钉的事情,而DX12终极版在软件层面上实打实的优化,让开发者可以更轻易地通过光追技术获得立竿见影的游戏品质提高,肯定有更多游戏开发者愿意在自己的作品中加入对光线追踪的支持,这个软件底层的更新最终将转化为游戏数量的大提升,也将大大加快光追技术从硬件到游戏内容全面普的速度。
微软XBOX会否借光线追踪弯道超车?
DX12是微软自家的API,而且XBOX与PC的互通性也是有目共睹的了,本次DX12终极版的大改动无疑会给XBOX平台增加不少优势,至少移植/开发光线追踪新游戏的成本和难度都将远低于PS平台,微软的这一杀手锏,会否动摇索尼PS的地位呢?
走慢一步的A卡还能追赶吗?
在英伟达力推RTX之后不久,在一次媒体沟通会中,AMD的技术事业部工程研发高级副总裁David Wang表示过,AMD也是有做光线追踪的技术部署的,但目前的技术未够成熟、体验也还不足够好(当时N卡确实掉帧厉害,但目前已经好很多了),成熟之后也会马上跟进。
目前来看,英伟达貌似已经在逐步克服光追里的难题了,但不知道是否已经到了AMD认为足够成熟的时间节点呢?但如果现在还不交卷的话,AMD会不会继续被拉大差距呢?这个可能要等RDNA2架构的新卡出来,我们才知道答案了。