【问题标题】:Can't create an OpenGL 3.2 context using GLFW3 on mac无法在 Mac 上使用 GLFW3 创建 OpenGL 3.2 上下文
【发布时间】:2013-10-17 14:50:49
【问题描述】:

我一直在 Xcode 中使用 GLFW 2 开发一个 OpenGL 项目,并且一切正常。我能够创建 3.2 OpenGL 上下文并渲染所有内容。

但是,昨天我安装了 GLFW3 库并进行了建议的更正。现在我根本无法创建 3.2 上下文,它总是返回 3.0.3 上下文。我做错了什么?

我在 glfw 之前包含 glew 标题

这是我的初始化代码:

if(!glfwInit()){
        std::cout << "ERROR IN glfwInit()" << std::endl;
        return;
    }

    mWindow = glfwCreateWindow(mWidth, mHeight, "GLFW Renderer", NULL, NULL);;

    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

    if(!mWindow){
        std::cout << "ERROR IN glfwOpenWindow" << std::endl;
        glfwTerminate();
        return;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(mWindow);

    int major, minor, rev;
    glfwGetVersion(&major, &minor, &rev);
    std::cout << "OpenGL " << major << "." << minor << "." << rev << std::endl;

    glewExperimental = GL_TRUE;
    if(glewInit() != GLEW_OK){
        std::cout << "ERROR INITIALIZING GLEW" << std::endl;
        return;
    }

    glViewport(0, 0, mWidth, mHeight);

编辑:将 GLFW_CONTEXT_VERSION_MINOR 更改为 2

【问题讨论】:

  • 如果您尝试创建 3.2 上下文,为什么要将 GLFW_CONTEXT_VERSION_MINOR 设置为 3
  • 抱歉,我在试验不同的值并复制了错误的代码。如果我将 GLFW_CONTEXT_VERSION_MINOR 设置为 2,结果是一样的。
  • 您需要在创建窗口之前指定glfwWindowHint 请求

标签: opengl glfw


【解决方案1】:

按照 Brett Hale 的建议,我通过在创建窗口之前指定 glfwWindowHints 解决了这个问题,这非常有意义。

【讨论】:

    【解决方案2】:

    当我放的时候

     glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    

    我的窗口无法创建,我在声明窗口并创建它之前放置了 windowHints。

    我只有:

    glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // We want OpenGL 3.3                                                   
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    

    【讨论】:

    • 这是一个问题还是一个答案?如果这是一个答案,你能澄清一下吗?
    猜你喜欢
    • 2015-05-11
    • 2013-08-10
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2016-10-03
    • 2014-07-13
    相关资源
    最近更新 更多