【问题标题】:Upgrade of GLFW 2 to 3 causing crash on vertex array generationGLFW 2 到 3 的升级导致顶点数组生成崩溃
【发布时间】:2013-06-25 16:56:54
【问题描述】:

我刚刚从 GLFW 2.7 升级到 3.0.1。在摆弄它以使其工作后,我在调用 glGenVertexArrays(); 时遇到了访问冲突;

Graphics::Graphics():camera(*this){
    glfwInit();

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

    glfwWindowHint( GLFW_RESIZABLE, GL_FALSE );
    window = glfwCreateWindow(800, 600, "OpenGL Window", 0, 0);

    // Initialize GLEW
    glewExperimental = GL_TRUE;
    glewInit();

    // Create Vertex Array Object
    glGenVertexArrays(1, &vao);
    glBindVertexArray(vao);
}

我不确定出了什么问题,因为这在以前有效,尽管代码(除了 gen 和 bind 调用)是在初始化函数中而不是在构造函数中(因为 GLFW 现在支持多窗口,尽管我只计划使用一个)。

【问题讨论】:

  • 我试图猜测这里发生了什么,所以请多多包涵。您是否尝试将GLFW_CONTEXT_VERSION_MINOR 设置为0?另外,确保window 的创建没有任何问题?

标签: c++ opengl glew glfw


【解决方案1】:

好的,我意识到这里的问题。在 GLFW 3 中,您需要使上下文成为当前的。这是通过 glfwMakeContextCurrent() 完成的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-24
    • 2021-02-23
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多