我有一个WPF+SharpDX Windows应用程序,通过屏幕上的一个全屏窗口(即HDK )向OSVR显示。此设置工作良好,但需要用户声明HDK是在哪个屏幕上。
我希望能自动检测到这一点,但在API中还没有看到任何屏幕上的耳机。
当前,我在窗口中呈现:
var bounds = dxgiDevice.Adapter.Outputs[_selectedOutput].Description.DesktopBounds;
form.DesktopBounds = new System.Drawing.Rectangle(
bounds.X, bounds.Y, bounds.Width, bounds.Height);_selectedOutput是我要找的东西。
我现在不支持直接模式,我使用的是托管-OSVR。该应用程序将在Windows 8/8.1/10上运行。
发布于 2016-11-08 13:40:41
我已经有一段时间没有为OSVR编写任何代码了,但以下是我记忆中的内容:如果您在扩展模式下运行,则将OSVR视为常规显示。您可以将其重新排列为任何其他屏幕。可以在OSVR配置文件中配置输出位置。我使用以下(Java)检索设置窗口的位置和大小:
osvrContext.getRenderManagerConfig().getXPosition()
osvrContext.getRenderManagerConfig().getYPosition()
osvrContext.getDisplayParameters().getResolution(0).getWidth()
osvrContext.getDisplayParameters().getResolution(0).getHeight()澄清:我不知道您是否可以在扩展模式下检索显示的id。据我所知,它只定义为桌面上的位置和大小。我希望它能对你有所帮助。
https://stackoverflow.com/questions/40483717
复制相似问题