代码之家  ›  专栏  ›  技术社区  ›  nacho4d

GL调用以exc-bac-access结尾-OpenGL上下文错误?

  •  0
  • nacho4d  · 技术社区  · 15 年前

    我有以下程序

    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函数中崩溃,比如 glgentextures()在allocvars()内;在glwindow()内;或在 glinit()内部的glblendfunc()。

    我想知道这里缺少什么和/或如何检查我是否有有效的OpenGL上下文?

    提前谢谢

    1 回复  |  直到 15 年前
        1
  •  0
  •   nacho4d    15 年前

    答案在评论中

    推荐文章