我正在尝试在C/C++
上下文中使用Oculus SDK for Windows (8.0.0)
设置我的第一个OpenGL
Oculus Rift项目,但无法实现使其正常运行。
每当我尝试编译所提供的DirectX示例时,它就可以正常工作,但是当我尝试编译与OpenGL相关的任何内容时,它都会因相同的纹理问题而失败。
如果我尝试编译并运行提供的OculusRommTiny(GL),它将返回“无法创建纹理”并退出。
而且,当我尝试编译自己的作品时,ovr_CreateSwapTextureSetGL
函数始终返回false
。
以下是一些有用的信息(我想):
(如果我切换到集成显卡,它将返回4.3。是的,这是一台带有专用显卡和集成显卡的笔记本电脑)
这是我有关该问题的代码摘录:
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上为“Switchable graphics”,在笔记本电脑上非常常见,并且不被支持,并且在大多数情况下不起作用。
在某些特定的笔记本电脑上,可以禁用BIOS中的集成GPU,因此请尝试这样做。
引用来自Oculus forum: