在2014年谷歌I / O大会上大放异彩的纸板耳机是IOS或Android手机进行VR体验的绝佳方式。
在今年的I / O大会上,谷歌发布了Daydream。这是一款建立在Android N顶端的高性能移动VR平台,用Android VR模式进行了优化。Daydream为Android系统带来了高性能的VR体验。本文中,我将介绍一些可以为Android用户提供高质量VR体验的PowerVR Rogue GPU优化设计。
“存在”的重要性
两年前,Oculus Rift Crescent Bay原型发布以后,该公司的首席科学家迈克尔·亚伯拉什提出五个在虚拟现实环境中实现“存在”的五大要素,即跟踪、延迟、持久性、分辨率和光学因素。
“存在”是非常重要的,因为它创建了一个情感纽带,将人们与VR设备创造的世界联系起来。“存在感”被定义为个人在介质(通常虚拟介质)描绘场景中的主观感觉。在TechCrunch一篇标题为“VR的第一准则:不要打破存在感”文章中,莎莎·马林考维科也阐述了在VR应用程序中保持存在感的重要性。
由于计算机处理能力、图像、视频及显示技术取得了飞跃的发展,因此使用VR技术实现逼真的用户体验已成为一种可能。然而,我们不仅要实现并且还要维护虚拟现实存在的真实性,即“不要破坏存在感”。
上面提到的五大要素,,我将着重讲两个与图形处理器有直接关系的要素——延迟和分辨率,并阐述一些我们目前正在从事的旨在PowerVR GPU的解决方案。
这些技术对桌面VR和移动VR都行之有效,尤其是移动VR。它们可以确保在移动和嵌入式设备中更有效地利用有限的资源(内存带宽、热空间、显示分辨率等)。
减少光子运动的延迟
在VR中,延迟将直接影响“存在”。如果渲染图像与用户的头部动作不完全同步,存在感便会瞬间消失。因此,不惜一切代价避免延迟将至关重要。
用户输入(如头部动作)到相应图片更新之间的时间间隔可以来测量延迟。为创造出一种完全的沉浸感,时间间隔需要低于20毫秒。
值得庆幸的是,大多数GPU是多线程功能、多核架构的优化设计,可以处理延迟。不过我们还要向开发人员推荐一些额外的算法来减少延迟。
一个例子便是异步时间弯曲——这里可不是在上演《星际迷航》(曲速前进),不过实际上其设计是为了降低可感知的光子运动的延迟。这里有一点忠告:尽管异步时间弯曲的确可以减少延迟,但其也降低了随之生成的弯曲图像的整体质量。这是因为弯曲仅在三维空间移动了图像,并没有真正创建一个新的视角。此外,场景中的任何动画将不得不停止,由此可能产生问题。
下图详细展示了异步时间弯曲序列。渲染当前的场景时,我们要看着顶部位置数据,然后基于追踪的信息来弯曲图像。
减少延迟更先进的技术是前置缓冲带渲染,这部分我的同事,即来自PowerVR图像团队的克里斯汀··波茨赫进行了阐述。
移动VR的高分辨率渲染
Oculus建议所有的耳机都应该以1000 x 1000像素的最小分辨率实现恰当的立体渲染 (除了最终输出至智能手机显示屏的渲染)。在移动VR的情况下,以60 fps (或更高)驱动2K显示频将会给GPU带来过多的压力,并对电池寿命和功耗产生很大的影响。
解决这一问题还有很多方法。例如,以下考虑的方式是光通过透镜系统进行传输。相比VR耳机屏幕,透镜位置的视角要更加宽大。除了更广泛的视角,透镜还使用户得以轻松地看着与他们眼睛近距离的屏幕。不过,透镜会产生枕形状失真,需要GPU使用相应的负畸变进行纠正。
使用负畸变时,图像的边缘会严重扭曲但却对中心部分几乎没有影响。我们可以充分把握这一点。由于很多纹理元素在严重扭曲的区域被压扁,开发人员可以侥幸渲染最初位置的少量纹理。如果使用得当,即使用户盯着透镜的边缘,他们也不会注意到这种方法与渲染完整分辨率的区别。
使用GPU的结果是将明显降低片段的开销,且没有损失用户可感知的质量。
若您是VR空间开发人员,请继续关注我们的博客。我将提供我们PowerVR图像团队的同事编写的文章,他进一步提出了优化现有移动设备渲染代码的方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)