当谈到Varjo头显时,它们总是与超高分辨率显示器和有凹渲染联系在一起,从而能够高效地渲染到高像素的显示器上。
本篇博文的主题是分享一些可用于OpenXR应用程序的新设置,但在此之前,让我们先了解关于有凹渲染的一些背景。有凹渲染的主题本身确实需要一些讲解,因为这项技术并不是广为人知的,所以让我们现为大家科普一下什么是有凹渲染。
了解有凹渲染
有凹渲染的基本思想可以追溯到人类视觉系统和眼睛的解剖学。需要理解的一个关键点是,人眼没有能力以最高的灵敏度看到整个视野中的所有东西,甚至没有能力感知整个视野中的颜色。眼睛能够感知最高敏锐度的区域被称为视网膜中央凹,外部的区域我们非正式地统称其为周边。以理想的分辨率渲染图形的技术称为有凹渲染,这种分辨率与眼睛感知的细节水平相匹配。有凹渲染将高分辨率渲染集中在视网膜中央凹上,并减少外围区域的细节。当与眼球跟踪结合时,即成为眼球跟踪有凹渲染。
如今我们有许多技术来帮助游戏引擎实现有凹渲染,但最受欢迎的技术是基于一种将显示分为两个不同视图的方案,也称为四视图。然后我们将它们组合在一起。这有两种风格,一种是不跟随你的眼睛的静态版本,另一种是由眼睛控制的版本。它们非常相似,你会在本篇文章的后半部分看到它的重要性。
视网膜中央凹进的好处是显而易见的
有凹渲染的优势是多方面的:
增强沉浸感。随着高分辨率渲染聚焦在用户观看的地方,细节和真实感水平得到了提高,从而增强了XR体验的沉浸感。
性能提升。在不太需要的地方渲染较少的像素有助于保持较高的帧速率。
硬件效率。降低对硬件的需求允许更低的GPU规格。
这些优势是普遍的,但对于高端显卡尤为重要,因为在高端显卡中,增强的沉浸感和稳定的性能提升是最受欢迎的。
四视图、有凹渲染和OpenXR——完美匹配
回顾OpenXR的历史,Varjo早在2019年就在OpenXR 1.0规范XR_VARJO_quad_views中添加了第一个固定视野扩展,从那以后,通过与几个合作伙伴合作,在游戏引擎中实现了对这一功能的支持。这一技术我们称之为静态的有凹渲染,其中高分辨率插图不跟随眼睛运动。
后来,随着技术的进步Varjo引入了XR_VARJO_foveated_rendering扩展来为该扩展添加眼睛运动,并且该技术已经被合并到引擎插件中。
几年后,有更多的内容支持这两种扩展。但我们已经看到,静态凹视在应用中得到了更广泛的采用。然而,事实证明,一些已经完成了基本XR_VARJO_quad_view集成工作的应用程序,实际上可以很好地处理XR_VARJO_foveated_rendering中指定的附加行为。
意识到这一点,并听取了一些用户社区的反馈,Varjo决定在OpenXRruntime公开一些设置,以帮助高级用户在应用程序使用任何foveated视图配置时有机会改变其使用方式。
Varjo Base 4.3中全新的OpenXR runtime设置
有趣的是,只要游戏或游戏引擎选择了Varjo的runtime视图配置,那么该功能就可以在不同的视图配置之间移动。
这对于最近用虚幻引擎开发的应用程序尤其有趣,例如Vail VR。对于飞行模拟器DCS来说,这也是非常有趣的,它也支持四视图(但不支持有凹渲染)。
事实证明,如果我们通过Varjo Base中的系统设置对这些应用程序强制进行有凹渲染,屏幕的有凹部分将开始跟随眼睛的运动,应用程序实际上处理得很好。这绝不是一个新的发现,例如,有开源项目在runtime注入代码来实现这一点,但现在没有插件也可以做到。
另一方面,有一些已经开发出来的应用程序不会正确处理foveation或quad view,且尚未使用runtime和HMDs进行测试。
对于这些程序,Varjo还增加了一个兼容性设置,它将与那些应该使用常规非凹立体渲染的应用程序进行通信。这是最近在电子艺界WRC虚拟现实测试版中发现的。
因此,Varjo在Varjo Base 4.3中添加了Windows注册表设置,通过在key下创建以下Windows注册表设置,实验性地启用更多的最终用户控制。
HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Varjo \ open xr
这些注册表设置实际上允许最终用户在表中的所有配置之间移动,只要应用程序支持带凹入的立体渲染(以前称为Varjo四视图)。
注册表项可以用regedit.exe内置于Windows中的工具。请注意,这是一个Windows power工具,如果使用不当,可能会产生灾难性的影响,因此请小心创建这些密钥,并注意只更改上面指定路径下的项目。
一些注意事项:
一个常见的误解是,XR_VARJO_quad_views和XR _ VARJO _ foveated _ rednering只会让像我们的XR-3和VR-3这样有四个物理显示器的设备受益,但这并不准确。它在Varjo Aero和XR-4上确实有好处,因为每只眼睛有一个物理显示器,因为四视图和中心凹渲染是在Varjo的OpenXRruntime中实现的一种通用软件技术,它对物理显示器进行逻辑分区,无论它们是两个还是四个。
除了Varjo混合现实头戴式显示器之外还有一些开源项目支持四视图渲染,这也有助于展示这种为一般VR头戴设备实现有凹渲染的特定方式的价值。
我们之前在博客中列出的设置是实验性的,这意味着它们将在每次Varjo Base更新时被重置为默认值。我们测试了一些应用程序,并且已知可以与这些设置一起工作,这些程序包含DCS,Pavlov VR,Vail VR和7th Guest VR。