【问题标题】:Create OpenGL core profile under GLFW在 GLFW 下创建 OpenGL 核心配置文件
【发布时间】: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

标签: c opengl glfw


【解决方案1】:

正如 genpfault 和 Brett Hale 指出的那样,我发现这主要是 GLFW 版本问题。一旦我将有问题的代码移植到 GLFW 3,问题就消失了。我还更新了 GLM 库的更新版本。对于那些正在使用 opengl-tutorial.org 的人,我建议将其作为练习,使用更新的库重写代码,因为此时提供的库已经很旧了。

【讨论】:

    猜你喜欢
    • 2018-12-31
    • 2023-04-10
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    相关资源
    最近更新 更多