directx - 使用 Steam 的 OpenVR 时谁调用 Present()(如果有的话)?

标签 directx directx-11 virtual-reality openvr

我对 directx 和 openvr 都很陌生,并试图了解 OpenVR 合成器 API 的工作原理。文档要求渲染每只眼睛并通过 Submit() 将每只眼睛交给合成器。但我对 Present() 如何影响这个流程有点困惑。我预计需要调用 Present() 来渲染每只眼睛,但通过检查一些现有的 VR 游戏,这不会发生。调用 Present 来渲染主(非 VR)监视器上的任何 View ,但根本不会调用合成器绘制的内容。

是否有人调用 Present() 或更低级别的函数?

最佳答案

呈现是在屏幕上的窗口中以传统交换链的形式显示。因为使用 VR,您可以使用替代机制和 API 将图像呈现给 HMD,因此您根本不需要 Present。

如果您想在头显旁边的显示器上显示副本或其他任何内容,则只需要一个。

关于directx - 使用 Steam 的 OpenVR 时谁调用 Present()(如果有的话)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38664071/

相关文章:

directx-11 - 在directx 11中一次渲染到多个纹理

android - 在 Unity 上使用 Cardboard SDK 重新定位或重新定位 View

android - 如何为 unity 升级 google cardboard sdk?

c++ - 检索要通过网络发送的 ID3D11Texture2D 数据

c++ - Matrix Hell - 将 3D 纹理中的点转换为世界空间

c++ - Directx 11 内存管理

winapi - main 与 wWinMain

c# - Microsoft.DirectX.AudioVideoPlayback程序不起作用

c++ - DirectX 11 渲染到纹理

unity3d - 为什么我不能播放预览我的简单 Unity 场景?