【发布时间】:2014-01-15 19:40:59
【问题描述】:
如何使用 GLFW 和 OpenGL 创建核心配置文件?我目前正在运行 Mesa 10.0.2,它应该在核心配置文件中支持 OpenGL 3.3,在非核心配置文件中支持 3.0。
目前这是我正在尝试做的。
glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 4);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
// Create context
if( !glfwOpenWindow( 1024, 768, 0,0,0,0, 32,0, GLFW_WINDOW ) )
{
fprintf( stderr, "Failed to create context\n" );
glfwTerminate();
return -1;
}
【问题讨论】:
-
我认为您发布的代码中的
glfwOpenWindow()调用在您的系统上返回false?你为什么不使用 GLFW3? -
顺便说一下,如果您在创建上下文时遇到问题,通常您会从降低像素格式的复杂性开始。这意味着消除多重/超级采样并使用 16 位或 24 位深度缓冲区(您分别使用 4x 和 32 位)。所有的 GL 窗口系统 API(GLFW 位于它们之上)都提供了一个模式匹配系统,用于寻找合适的像素格式;您请求的参数要求越高,GLFW 找到有效像素格式的可能性就越小。
-
您也可以考虑迁移到GLFW3。