我有以下程序
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上下文?
提前致谢
答案 0 :(得分:0)
答案在评论↑
中