OpenGL glfwOpenWindow不适用于Optimus视频卡

时间:2014-01-23 21:40:58

标签: opengl intel optimus

我有一台Geforce GT 540M,我的笔记本电脑使用Optimus,因此它将根据应用程序/设置等在英特尔GPU和Geforce GPU之间“切换”。

据我在线上打开一个窗口,它返回false:

if( !glfwOpenWindow( 1024, 768, 0,0,0,0, 32,0, GLFW_WINDOW ) )
{
    fprintf( stderr, "Failed to open GLFW window. If you have an Intel GPU, they are not 3.3 compatible. Try the 2.1 version of the     tutorials.\n" );
    system("pause");
    glfwTerminate();
    return -1;
}

系统命令只是为了确认收到的错误信息。

有没有办法强制编译器识别我的显卡?我的假设是它只能发现我的英特尔GPU。

1 个答案:

答案 0 :(得分:2)

你要求32个深度位。这是一种相当不寻常的格式。典型的选择是24位深度位和8位模板位,采用32位深度模板组合格式。您也可以使用glfwOpenWindowHint来请求OpenGL-3上下文,它可以为您提供NVidia GPU的上下文。

glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 0);

err = glfwOpenWindow(...);
/* ... */