gl调用在EXC_BAC_ACCESS中结束 - 坏的opengl上下文?

时间:2010-10-14 19:59:10

标签: opengl glut

我有以下程序

void allocVars(){
    m_window = new GLWindow(); //glGenTexture() is called //CRASH!
    m_window->Init(m_cam.w, m_cam.h, "Window Name"); 

}
void glInit()
{
    glutReshapeFunc(reshape);
    glutIdleFunc(idle);
    glutKeyboardFunc(keyboard);
    glutMouseFunc(mouse);
    glutDisplayFunc(display);

    glBlendFunc(GL_SRC_ALPHA, GL_ONE); //CRASH!
}

int main(int argc, char **argv)
{
    glutInit(&argc, argv);

    glInit(); // CRASH HERE
    camInit(); //ok
    allocVars(); // CRASH HERE

    trackingInit();

    glutMainLoop();


    return 0;

}

根据其他帖子,为了进行gl调用,我必须首先拥有一个有效的openGL上下文。 (由于Windows中的奇怪原因,即使上下文无效,它也能正常工作。) 这就是我在glutInit和glInit函数之后移动所有内容的原因,但是这个应用程序总是在gl函数中崩溃 allocVars()中的glGenTextures();在GLWindow();或者在 glBlendFunc()在glInit()

我想知道我在这里缺少什么和/或我如何检查我有一个有效的opengl上下文?

提前致谢

1 个答案:

答案 0 :(得分:0)

答案在评论↑