gpt4 book ai didi

c++ - 无法为 Oculus Rift 创建 OpenGL 交换纹理

转载 作者:行者123 更新时间:2023-11-30 05:35:17 27 4
gpt4 key购买 nike

我正在尝试设置我的第一个 C/C++使用 Oculus SDK for Windows (8.0.0) 的 Oculus Rift 项目在OpenGL上下文,但我无法使其正常运行。

每当我尝试编译所提供的 DirectX 示例时,它都可以正常工作,但是当我尝试编译任何与 OpenGL 相关的东西时,它都会失败,并出现一些相同的纹理问题。

如果我尝试编译并运行提供的 OculusRommTiny(GL),它会返回“无法创建纹理”并退出。

而且,当我尝试编译自己的作品时,ovr_CreateSwapTextureSetGL函数总是返回 false .

这里有一些有用的信息(我猜):

  • 我使用的是 Windows 8.1
  • 我正在使用 Microsoft Visual Studio Community 2015
  • 我的项目返回返回 检测到 OpenGL 4.5(如果我让它切换到集成显卡,它返回 4.3。是的,它是一台带有独立显卡和集成显卡的笔记本电脑)
  • 我使用 8.0.0 Oculus C SDK (我尝试使用 7.0.0,结果相同)
  • 我使用 8.0.0 Oculus Runtime (但我还没有尝试过另一个)
  • 我使用调试 HMD 模式(我在运行时的配置服务部分尝试了所有调试设置,结果相同)因为我还没有访问我的 Oculus Rift 的权限。<

这里是我的相关问题代码的摘录:

if (OVR_SUCCESS(ovr_CreateSwapTextureSetGL(session, GL_SRGB8_ALPHA8, bufferSize.w, bufferSize.h, &pTextureSet)))
{
/*for (int i = 0; i < pTextureSet->TextureCount; ++i)
{ ... }*/
std::cout << "OK, keep going..." << std::endl;
} else {
std::cout << "ERROR: failed creating swap texture" << std::endl;
ovr_Destroy(session);
ovr_Shutdown();
return false;
}

你知道如何绕过这个问题吗?谢谢。

最佳答案

OculusRommTiny(GL) 应该可以工作。问题可能出在笔记本电脑的 GPU 上。这种带有两个 GPU 的配置,Nvidia 的“Optimus”和 AMD 的“可切换显卡”在笔记本电脑上很常见,并且不受支持,大多数时候都无法使用。

在某些特定的笔记本电脑上,可以在 BIOS 中禁用集成 GPU,所以如果可以的话请尝试一下。

引自 Oculus forum :

GPUs below Nvidia GTX 600 series or AMD Radeon HD 7000 series are not supported. In addition, laptops typically are not supported well or at all (especially if they include Nvidia Optimus or AMD Switchable Graphics).

关于c++ - 无法为 Oculus Rift 创建 OpenGL 交换纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33941994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com