我有一台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。
答案 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(...);
/* ... */