0

Xcode で GLFW 2 を使用して OpenGL プロジェクトに取り組んできましたが、すべてが完全に正常に機能していました。3.2 OpenGL コンテキストを作成し、すべてをレンダリングすることができました。

ただし、昨日、GLFW3 lib をインストールし、提案された修正を行いました。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に変更

4

2 に答える 2

5

Brett Hale が提案したように、ウィンドウを作成する前に glfwWindowHints を指定することで解決しました。これは完全に理にかなっています。

于 2013-10-18T04:30:06.010 に答える