2013-06-25 2 views
2

방금 ​​GLFW 2.7에서 3.0.1로 업그레이드했습니다. 그것이 작동하도록하기 위해 그것을 만지작 거리다가 glGenVertexArrays() 호출시 액세스 위반이 발생했습니다.GLFW 2에서 3으로 업그레이드하면 버텍스 배열 생성시 충돌이 발생합니다.

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); 
} 

나는이합니다 (세대를 제외하고는 전화를 결합) 코드 있지만, 전에 근무로, 무엇이 잘못되었는지 확실치는 않지만, (GLFW 이제 멀티 윈도우 지원이로 초기화 기능보다는 생성자에 있었다 나는 하나만 사용하려고 계획하고있다.)

+0

나는 여기서 무슨 일이 일어나고 있는지 추측하려고 노력하고 있으므로 나와 함께 견뎌주십시오. 'GLFW_CONTEXT_VERSION_MINOR'을'0'으로 설정하려고 했습니까? 또한 '창'이 문제없이 만들어 졌는지 확인 했습니까? –

답변

4

좋아요. 문제는 여기에 있습니다. GLFW 3에서는 컨텍스트를 최신으로 설정해야합니다. 이것은 glfwMakeContextCurrent()를 사용하여 수행됩니다.