我试图在C/C++
上下文中使用Oculus SDK for Windows (8.0.0)
设置我的第一个OpenGL
Oculus Rift项目,但我无法实现其正常运行
每当我尝试编译提供的DirectX示例时,它都可以完全正常工作,但是当我尝试编译相对于OpenGL的任何内容时,它会因为某些纹理问题而失败。
如果我尝试编译并运行提供的OculusRommTiny(GL),它将返回"无法创建纹理"并退出。
而且,当我尝试编译自己的作品时,ovr_CreateSwapTextureSetGL
函数始终返回false
。
这里有一些有用的信息(我猜):
以下是我的代码相对于问题的摘录:
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;
}
您对如何绕过此问题有任何线索吗? 谢谢。
答案 0 :(得分:1)
OculusRommTiny(GL)应该有效。问题可能是笔记本电脑GPU。这种具有两个GPU的配置,用于Nvidia的“Optimus”和用于AMD的“可切换图形”在笔记本电脑上非常常见,并且不受支持且大部分时间都不起作用。
在某些特定的笔记本电脑上,可以在BIOS中禁用集成GPU,如果可以,请尝试使用。
引自Oculus forum:
Nvidia GTX 600系列或AMD Radeon HD 7000系列以下的GPU不是 支持的。此外,笔记本电脑通常不受支持 所有(特别是如果它们包括Nvidia Optimus或AMD Switchable) 图形)。