Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在mac上使用GLFW3创建OpenGL 3.2上下文_Opengl_Glfw - Fatal编程技术网

Can';t在mac上使用GLFW3创建OpenGL 3.2上下文

Can';t在mac上使用GLFW3创建OpenGL 3.2上下文,opengl,glfw,Opengl,Glfw,我一直在使用Xcode中的GLFW2进行OpenGL项目,一切都很好。我能够创建一个3.2 OpenGL上下文,并渲染所有内容 然而,昨天我安装了GLFW3库并进行了建议的更正。现在我无法创建3.2上下文,它总是返回3.0.3上下文。我会做错什么 我在glfw头之前包含glew头 这是我的初始化代码: if(!glfwInit()){ std::cout << "ERROR IN glfwInit()" << std::endl; retu

我一直在使用Xcode中的GLFW2进行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);
if(!glfwInit()){

std::cout正如Brett Hale所建议的,我通过在创建窗口之前指定GLFWWindowHits来解决它,这非常有意义。

正如Brett Hale所建议的,我通过在创建窗口之前指定GLFWWindowHits来解决它,这非常有意义。

当我放置

 glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
无法创建我的窗口,我在声明窗口并创建它之前放置了窗口提示

我只有:

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

 glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
无法创建我的窗口,我在声明窗口并创建它之前放置了窗口提示

我只有:

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

如果您试图创建3.2上下文,为什么要将
GLFW\u context\u VERSION\u MINOR
设置为3?抱歉,我尝试了不同的值并复制了错误的代码。如果我将GLFW\u context\u VERSION\u MINOR设置为2,结果相同。您需要在创建窗口之前指定
glfwWindowHint
请求。如果您尝试ing要创建3.2上下文为什么要将
GLFW_context_VERSION_MINOR
设置为3?抱歉,我尝试了不同的值并复制了错误的代码。如果我将GLFW_context_VERSION_MINOR设置为2,结果相同。在创建窗口之前,您需要指定
glfwWindowHint
请求。这是问题还是问题回答?如果这是一个答案,你能澄清一下吗?这是一个问题还是一个答案?如果这是一个答案,你能澄清一下吗?