在最新发布的一篇文章中,我曾提到维护虚拟现实系统“真实感”的重要性。而高帧率(60、90或120 hz,取决于头戴式显示器(hmd)的最大刷新率)的渲染应用程序与光子运动低延迟是实现“真实感”的重要部分
在本文中,我将阐述如何使用ovr_multiview扩展减少渲染vr应用程序所需的cpu和gpu功耗。
不使用ovr_multiview的渲染
在标准的优化vr应用程序中,场景将在帧缓冲区对象(fbo)中进行两次渲染——一次渲染左眼图像,另一次渲染右眼图像。要进行渲染,应用程序需进行以下操作:
?left eye 左眼图像
在fbo左边部分设置视口
使用左眼的摄像机投影矩阵在场景中绘制所有对象
?right eye 右眼图像
在fbo右边部分设置视口
使用右眼的摄像机投影矩阵在场景中绘制所有对象
渲染每个矩阵的场景时,由于hmd透镜,fbo对象会由桶形失真修正至枕形失真。
在这个方案中,应用程序必须提交两个几乎相同的gl call数据流,而两次渲染唯一的区别是应用到顶点时要进行矩阵转换。每矩阵都需提交调用实则浪费时间。同时,gpu驱动程序也需要花费时间来验证api调用并且每矩阵均生成gpu命令缓冲区,而一个简单的共享命令缓冲区便可以完成这些工作。
ovr_multiview
有了ovr_multiview扩展(及分层的ovr_multiview2和ovr_multiview_multisampled_render_to_texture扩展),应用程序可以绑定一个结构数组至fbo,并对每个元素进行实例绘制。这样,图像驱动程序便会准备一个gpu命令缓冲区,并在每次实例渲染时重新启用该缓冲区。当扩展程序处于激活状态时,则可以在顶点着色器中访问gl_viewid_ovr内置来确定需要渲染的元素。
由于是基于拼贴的gpu架构,每实例中必须进行拼贴。拼贴过程完成后便执行每元素的像素渲染任务。
ovr_multiview:优化绘图提交过程
使用ovr_multiview一个较为简单的例子是创建一个结构数组,该数组由两个分别代表左眼图像和右眼图像的元素组成。对于每一帧,应用程序可以通过以下步骤完成渲染:
?绑定fbo(附上结构数组)
?将变换矩阵数组统一传输至着色器中
数组包含两个元素——两个变换矩阵分别用于左眼图像和右眼图像
?在场景中绘制对象
?在顶点着色程序执行时,使用gl_viewid_ovr确定哪些矩阵用于转换
通过这个简单的转换,应用程序可以减少一半需要提交给驱动的opengl调用。
ovr_multiview:减少片段处理
用于拓宽用户视野的透镜是沉浸式vr系统的重要组成部分。为解决透镜引起的枕形失真,必须在图形显示之前应用桶形失真。
不过,现代gpu设计的初衷并不仅是渲染桶失真图像。vr应用程序必须在第一层时渲染非失真图像,然后在第二层进行桶形失真。但这样,第一层渲染便过多消耗了gpu周期及带宽的纹素色素,而可供桶形图像外部区域使用的则非常少,在第二层渲染中桶形图像外部区域的纹素和像素密度则非常高。
如上图中所示,可以使用ovr_multiview将渲染细分为可以更好地表示桶形图像像素密度的区域。实现该方法一个简单的例子是,每矩阵在桶形图像中间渲染一个高分辨率且窄视野的图像,在桶形图像外部区域渲染一个分辨率较低且宽视野的图像。桶形失真传输期间,片段着色器可以在桶形图像内基于像素坐标将高分辨率和低分辨率图像混合在一起。
在视野狭窄的渲染中,全分辨率图像占整个场景的25%,而宽视野渲染的分辨率则为一半(全分辨率的25%),gpu只需要对全分辨率渲染一半的像素进行着色——极大减少了片段着色器的计算量和相关带宽。当然,具体的节省量取决于没有伪影的情况下视野到底有多窄。
总结
通过ovr_multiview扩展及对一些简单的应用程序进行更改,vr应用程序便可以更有效地将处理任务传输至图像驱动器,并通过减少所需渲染的像素从而降低gpu的功耗。想了解更多imagination如何优化vr渲染的资讯,我强烈推荐克里斯汀·波茨赫所写的有关使用带渲染减少异步时间弯曲延迟的文章。
原文链接:
https://imgtec.com/blog/optimizing-vr-renderers-with-ovr_multiview/
为什么华为一直是推动5G应用的重要因素?
苹果称iOS 12超过了一半的设备已经运行了最新的操作系统
三星GalaxyA80上手 炫酷又实用高调又务实
Diodes公司推出了AP22913单信道负载切换器
用可控硅控制的功放动态电源
使用OVR_multiview优化VR渲染器
基于SOPC技术的嵌入式处理器PowerPC硬核测试实例详解
无线模块还是SoC?物联网设计中的成本考虑
太阳能板储能电池和户外太阳能板搭配使用会更好
poe供电模块原理图
人类的终极就是软件定义世界
PIXI MAX11300 4-20mA电流控制环路变送器
泓格科技推出了新一代整合边缘运算的工业物联网云平台
最多节省50%能源的智能恒温器
紫光集团重整尘埃落定,董事长李滨的这封信透露哪些信息?
智能配电网规划的主要内容
高通首款5nm 5G芯片登场
喜报!度亘核芯获评苏州市知识产权强企培育工程优势型企业
万用表相关问题解答
Linux信号处理机制