支持动态注视点渲染,了解英伟达VRSS 2图像质量、工作原理、启用方式
帮助已经受益于初版VRSS的应用进一步提高可感知的图像质量
(映维网 2021年04月13日)为VR体验设计丰富的内容和图形意味着创建复杂的材质和高分辨率的纹理。但要以VR分辨率和帧速率渲染所有一切可能极具挑战,尤其是在以最高质量进行渲染时。
对于上述问题,你可以利用可变速率着色(Variable Rate Shading;VRS),将着色器资源集中到图像的特定位置(尤其是对场景影响最大的区域,比方说用户正在注视的位置或需要更高采样率的材质)。
但由于并非所有开发者都能集成完整的NVIDIA VRS API,所以英伟达开发了可变速率超级采样(Variable Rate Supersampling;VRSS)功能。它可以提高屏幕中心的图像质量(固定注视点渲染)。VRSS是一个零编码解决方案,不需要添加额外代码以实现。所有一切都是通过英伟达驱动程序完成,这使得用户能够在游戏和应用中轻松体验VRSS。
VRSS 1提供8X着色率的固定注视点区域
VRSS开启和关闭时的画面并排对比。
英伟达正在为社区带来包含注注视点渲染支持的VRSS 2。最初的VRSS是一种旨在提高图像中心质量,并实现固定注视点渲染的解决方案。至于最新版本VRSS 2,借助动态注视点渲染功能,其能够精确地对用户注视位置进行超级采样,从而帮助已经受益于初版VRSS的应用进一步提高可感知的图像质量。
1. 新VR功能
英伟达和Tobii进行了合作,通过眼动追踪技术Tobii Spotlight提供的动态注视点渲染来增强VRSS。这项技术能够以最小的延迟来为英伟达驱动程序提供最新的眼动追踪信息,以用于控制渲染帧的超级采样区域。惠普即将推出的Omnicept G2将是市场第一款利用所述集成的头显,同时利用Tobii的注视点追踪技术和英伟达VRSS 2。
VRSS 2提供8X着色率的动态注视点区域。蓝色注视点区域具有最高的图像质量和由眼动追踪确定的位置
视频示例是Downpour Interactive的《Onward VR》,其中绿色圈圈是动态注视点区域。通过对比,我们可以看到VRSS图像质量的提升。
2. 通过英伟达控制面板访问VRSS
你可以通过英伟达控制面板访问VRSS的两个模式:Adaptive(自适应)和Always On(始终开启)。
- 自适应模式:自适应模式会考虑性能限制,并尝试在不妨碍虚拟现实体验的情况下最大化超级采样区域的大小。注视点区域的大小将根据可用的GPU净空成比例地增长和收缩。
- 始终开启模式:固定大小的注视点区域将总是进行超采样,从而提供最大的图像质量改善。注视点区域的大小足以覆盖用户视场的中心区域。这种模式可以帮助用户通过VRSS感知给定内容提供的最大图像质量增益。但是,这可能会导致性能密集型应用出现丢帧情况。
自适应模式
3. 英伟达显示驱动
VRSS不需要开发者集成。完整的功能都是由英伟达显示驱动实现和处理(前提是应用兼容英伟达)。
英伟达显示驱动负责处理多个功能:
- 帧资源跟踪:驱动程序跟踪每帧遇到的资源,并建立一个启发式模型来标记可以调用VRS的场景。具体来说,它根据MSAA级别来配置VRS着色率:在图像中心使用的超级采样因子。它提供用于配置VRS遮罩的渲染目标参数。
- 帧渲染监视:这涉及到跨帧测量渲染负载、应用程序的当前帧速率、基于头显刷新率的目标帧速率等。它同时计算自适应模式所需的渲染统计信息。
- VRS启用:如前所述,VRS允许你能够在整个渲染曲面配置着色速率。这是通过着色速率遮罩和着色速率查找表完成。详细信息请参见Turing Variable Rate Shading in VRWorks in VRWorks。
另一,对于上面第3点的VRS启用,VRS infrastructure setup处理VRS遮罩和VRS着色率的配置。VRS框架根据性能统计信息配置:
- 根据可用净空配置中心区域遮罩的大小;
- 基于MSAA缓冲区采样计数配置的VRS着色速率;
- 对于VRSS 2,组件提供每帧最新的注视数据。这涉及到驱动程序和眼动追踪供应商平台之间的直接数据传输。相关数据用于配置VRS注视点遮罩。
VRSS 2的每帧流程图
4. 开发者指引
要想让应用程序利用VRSS,开发者必须将游戏或应用提交给英伟达进行VRSS验证。如果批准,游戏或应用将添加到英伟达驱动的批准列表。提交申请请点击这个页面。
以下是支持VRSS的好处:
- 注视点区域现在为动态:与Tobii眼动追踪软件集成。
- 零编码:不需要开发者集成。
- 改进的用户体验:增加清晰度。
- 易用性:可通过英伟达控制面板开启和关闭。
- 两个可选的性能模式:自适应或始终启用。
- 无维护:封装在驱动程序级别的技术。
目前已有30+款游戏支持VRSS
5. 游戏和应用兼容性
要使用VRSS,应用程序必须满足以下要求:
- 图灵架构
- DirectX 11 VR应用
- MSAA正向渲染
- 与VRSS集成的眼动追踪软件
超级采样需要MSAA缓冲区。超级采样级别基于MSAA缓冲区中使用的基本采样数。对于2x MSAA,注视点区域着色2x;对于4x MSAA,注视点区域着色4x,依此类推。应用于超级采样的最大着色速率为8x。MSAA级别越高,超级采样效果将越大。
6. 内容适用性
得益于超级采样的内容同样能够得益于VRSS。超级采样不仅可以减少锯齿,同时可以显示图像中的细节。质量提升的程度因内容而异。
VRSS关闭和开启的并排对比
超级采样尤其适用于以下类型的内容:
- 高分辨率纹理
- 高频材质
- 具有alpha通道的纹理,如菜单图标和文本等
相反,超级采样无法提升下面的情况:
- 平面着色几何图形
- 细节级别较低的纹理和材质
7. 马上上车
VRSS利用VRS技术提供选择性的超级采样,不需要应用集成。VRSS已经纳入至NVIDIA Driver R465。当然,应用程序需要支持DX11、正向渲染和MSAA。
要想让应用程序利用VRSS,开发者必须将游戏或应用提交给英伟达进行VRSS验证。如果批准,游戏或应用将添加到英伟达驱动的批准列表。提交申请请点击这个页面。
如果你希望对VRS的应用方式进行更细的控制,我们建议你使用VRWorks的显式编程API。通过访问VRS的全部功能,你可以实现各种着色器采样率优化,包括透镜匹配着色、内容自适应着色和注视点追踪着色。