我正在尝试理解Vive的VR平台堆栈,以及它的游戏是如何开发的。我正在努力理解openVR,steamVR和Unity在图片中的确切位置。
到目前为止我的理解是:
openVR - Hardware independent layer providing APIs for peripheral access.
That is it can provide access to either Oculus or Vive hardware via
a defined interface.
SteamVR - Provides access to hardw
我对directx和openvr都是新手,并且试图理解OpenVR compositor API是如何工作的。文档调用渲染每个眼睛,并通过Submit()将每个眼睛传递给合成器。但是我有点迷惑如何在这个流中加入Present()的因素。我本以为需要调用Present()来渲染每一只眼睛,但从检查一些现有的VR游戏来看,这并没有发生。Present被调用以在主(非VR)监视器上呈现任何视图,但对于合成器绘制的内容则根本不调用。
是否有人调用Present()或其他更低级别的函数?