DirectX 12 Ultimate公布,光追将可在PC、PS5及XBOX更大范围应用

今天,微软正式宣布了DirectX XII ULTIMATE API(DX12终极/极限版),也就是DX12_2。作为最高级的DX12 API,它带来了诸如光线追踪(DXR)、可变速率着色(VRS)、网状/网格着色器和采样器反馈等特性。
图片
微软提到,DXR 1.1版本中有NVIDIA不小的功劳,作为支撑游戏光追的最新底层,它为大量光追效果带来了性能和效率的双提升,开发人员的工作也变得更轻松。
图片
▲DX12几个级别对比,早先Intel曾承诺,Xe架构独显也将完整支持DX12,但此次未提及
此次公布的DirectX 12 Ultimate主要有两大特点,第一它是一个多平台的API接口,微软的次世代主机XBOX Series X也会用这个图形API,可以说是统一了PC以及XBOX的图形API接口,这可以让开发者在开发时更加得心应手,不用再为XBOX以及PC的不同API接口而烦恼,同时也可以拥有更大的用户群体。
而DirectX 12 Ultimate成为XBOX Series X的图形API也意味着它也可以支持光追这特性,使得玩家不止可以在PC上享受到光追,而且在XBOX Series X平台上的也能用上光追,而游戏开发者在.为XBOX主机加入光追效果时也会更容易。
第二则是加入了几个新特性,分别是DXR(DirectX Raytracing)1.1、Mesh着色器、Sampler feedback采样器反馈以及VRS可变速率着色。其中,前三者是之前微软已经表示会加入到DirectX 12 Ultimate中的,而VRS则是最新加入的。
此前,可变速率着色、网格着色器、采样器反馈等,都已经再NVIDIA的Turing架构显卡上得到了完善的支持,其核心理念非常相似,都是减轻负载,提高游戏帧率,其中VRS是对帧画面进行强度不同的分层渲染,比如赛车游戏中,画面中汽车、路面和正前方视野需要高强度、高优先级渲染,而两侧景象则不需要占用那么多绘图资源。
图片
▲可变刷新率智能分层级渲染演示
网格着色器则减轻了CPU负担,它由两个新的着色阶段组成。任务着色器执行对象剔除,以确定哪些元素的场景需要呈现。一旦确定了这点,网格着色器就会决定可见对象的细节级别。距离较远的物体需要较低层次的细节,而更近的对象则需要尽可能锐利。NVIDIA展示了宇宙飞船穿越30万颗小行星的画面,通过网格着色器技术,任意顶点的三角形绘制数量从3万亿降至13000,从而不牺牲名义画面还能维持50帧。
DXR 1.1
图片
DXR 1.1是基于目前的1.0版本的一个新层次,它的新特性包括在现有的光线追踪管线状态对象(Pipeline State Object)中可以加入额外的着色器(Shader)、支持GPU执行时间轴自行决定要处理的光线数量以及引入了新的内联式光线追踪,简单来说DXR 1.1可以给开发者赋予游戏更好的光追效果及性能。
目前已有30多款已上市以及即将上市的游戏都表示支持DXR 1.1,《我的世界》就是其中一款,微软更是把其中的Path tracing路径渲染来演示XBOX Series X支持光追。
Mesh Shader
图片
Mesh着色器也是本次DirectX 12 Ultimate的特性之一。Mesh着色器将原来流程中的各种着色器统一,形成一条新的渲染管线。这样可以使得开发者能够更精细地控制物体的细节级别(LOD),另外因为Mesh着色器也可以使生成三角形的工作从CPU移到GPU中,减轻CPU的负担,从而提升性能。
目前并没有游戏支持Mesh着色器,但是随着其加入到DirectX 12 Ultimate中,可以预见将来会有不少游戏开发者把Mesh着色器利用起来。
Sampler Feedback
图片
采样器反馈Sampler Feedback是这次DirectX 12 Ultimate更新后获得的新功能,它主要作用是记录下采样操作访问到的纹理区域,并在纹理空间阴影Texture-Space Shading、阴影复用Shading Reuse、纹理流Texture Streaming付诸应用。
简单来说,就是可以让着色器或者应用可以更加智能地加载数据诸如细节等级、何时加载、如何加载等,可以赋予游戏一个更加顺滑的画面,减少卡顿及对象模糊等。
Sampler feedback另一个用处就是纹理空间着色(Texture Space Shading),把着色值可以动态地存储在纹理空间内,让它们可以被游戏重用,减少不必要的重新着色(例如远处的不显着景物着色可以重用3-4帧等)。
采样器反馈可以帮助开发团队更有效避免冗余,提升内存对材质的利用率,并减少不必要的计算量,从而实现优化游戏的效果。
VRS(Variable Rate Shading)
图片
最后是VRS可变速率着色,它也是与着色相关的,简单来说VRS就是让开发者可以把画面上不影响玩家体验的对象透过降低着色率的方式来提升整体性能,例如把像素从1*1着色降低至2*2甚至4*4,而非把画面整体的着色率都降低。
这些对象可以是画面上不显眼的地方、动态模糊的细节,对于VR游戏来说更加可以是玩家眼睛并没有在注视的地方,从而大幅度提升VR游戏的帧数而不影响玩家注视的画面。目前已有几款游戏支持VRS可变速率着色。
图片
目前,NVIDIA的图灵显卡已经全面支持DirectX Ultimate的众多特点,例如其中的Sampler feedback这样需要硬件支持的功能,并且已经有适用于开发者的驱动可供使用,至于面向一般消费者的驱动则会在DirectX 12 Ultimate正式登场时一同发布。
对于普通玩家而言,正在使用的GeForce RTX显卡则直接成为体验下一波新游戏画面升级的免费门票,无需再对硬件有任何额外投入。
为了便于榨干DX12U的全部实力,微软还推荐了PIX和HLSL编译器两款工具。当然,DX12U API还是集成于Windows 10、Xbox Series X系统中的底层,微软也不忘吹捧一番。对于主机用户,PS5和XSX预置DX12U,微软还承诺未来数月内为Windows 10用户推送v2004更新,上线支持。
总的来看,DirectX 12 Ultimate整合GeForce RTX的许多创新技术(包括硬件加速光线跟踪,mesh shading,可变率着色和纹理空间着色)进行编码,并作为多平台下一代游戏的标准。它使开发者可以充分利用GeForce RTX技术,提高游戏的视觉保真度和性能,并为越来越多的游戏玩家带来乐趣。