随着苹果对Mac上VR的兴趣日益增加,该公司正在向其新的Metal 2图形API中添加必要的功能,以支持MacOS上的高性能VR。
由于VR对高功率图形和极低延迟的需求,特别调整GPU和头戴式显示设备之间的渲染流程对于保持舒适而高性能的VR体验至关重要。许多关键的VR渲染流程调整已在其他平台上确立,苹果正在将其中许多技术引入到更新的Metal 2 API中,该公司表示此API现在“为虚拟现实(VR)渲染提供了强大且专业的支持”。
另外,Apple和Valve合作了近一年的时间,旨在将VR引入MacOS操作系统。
在苹果于2017年WWDC开发者大会上的“使用Metal 2进行VR”专题会议上,苹果GPU软件团队成员Rav Dhiraj详细介绍了Metal 2在VR方面的新功能。
单次渲染
由于VR头戴式设备显示3D图像,它们需要为每个眼睛渲染一个单独的视图;你可能会认为这需要双倍的渲染工作,但通过一些智能的渲染技术,可以提高效率。单次渲染允许GPU通过一次绘制调用同时渲染左右眼,而不是为每个眼睛分别渲染。
现在,Metal 2通过被苹果称为Viewport Array的特性实现了这一点,该特性允许“在顶点着色器中进行每个图元视口选择”。开发人员定义一个分辨率与两只眼睛的图像相邻的纹理,然后在一个步骤中横跨整个纹理进行渲染,而不是先渲染左眼图像,然后再渲染右眼图像。通过告诉渲染器每个图元属于哪个眼睛,确保它在纹理的正确眼区域内以及正确的偏移进行渲染(由于双眼之间的距离导致的略微不同的视角)。
直接呈现
直接呈现(也称为直接模式)允许GPU通过绕过仅对传统显示器必需的部分渲染流程来更直接地访问VR头戴式设备。
如果没有直接呈现,操作系统将像对待其他显示器一样对待VR头戴式设备,并简单地将操作系统视图镜像或扩展到其上,包括使用任何操作系统引起的后处理修改渲染图像。通过使用直接呈现,操作系统不会将头戴式设备识别为显示器,从而保留现有的窗口布局和显示排列。这使得VR合成器(对最初渲染的图像进行扭曲,并准备将其显示到头戴式设备上)能够直接将渲染的图像呈现到头戴式设备的显示屏上,而不会由操作系统引入任何额外的延迟、性能损失或图像篡改。
直接呈现不仅减少了VR渲染流程的复杂性,而且使最终用户的体验更好,因为开发人员和用户无需在操作系统的桌面上纠结于VR应用程序的“位置” – 相反,它会自动确保渲染的图像与VR头戴式设备的显示完美对齐,而且不受操作系统的任何干扰。
Metal 2将与“High Sierra”版本的MacOS一同推出,该版本目前正在针对开发人员进行测试,并计划在今年晚些时候发布,支持与当前的“Sierra”版本兼容的所有Mac。
在2017年WWDC的舞台上,Valve的Nat Brown概述了在MacOS上的SteamVR渲染的内部工作方式。
Insider
0