0

我已经在 windows xp virtualbox 上重新安装了 devcpp 4.9.9.2 并安装了 glut 和 glew。

我最初的程序只是使用了 glut,并显示了一些球体在房间里弹跳。我的问题是,一旦我添加了该行

glGenFramebuffers(1, &myBuffer);

我的程序无法运行。它编译得很好。但是当我运行它时说“Ass1.exe遇到问题需要关闭。对于给您带来的不便,我们深表歉意。”。

如果我注释掉这条线,那么它工作得很好,球会四处弹跳。glGenFramebuffers 位于我的设置方法的底部。

这是我的代码的链接。https://dl.dropboxusercontent.com/u/13330596/Exercise1.cpp


这是我现在调用 glewInit() 之前的代码;

// Initialize GLUT.
glutInit(&argc, argv);

// Set display mode with an RGB colour buffer, double buffering and a depth buffer..
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH ); 

// Set OpenGL window size
glutInitWindowSize(1000, 1000);

// Set position of OpenGL window upper-left corner
glutInitWindowPosition(100, 100); 

// Create OpenGL window with title
glutCreateWindow("Dissertation");


glewInit();
4

1 回答 1

3

您必须先调用glewInit();,然后才能使用扩展功能。可能你没有,所以函数指针仍然是空指针。glewInit必须在创建和绑定上下文后调用。在使用 GLUT 的情况下,这是紧随其后glutCreateWindow(…);

于 2013-04-28T11:02:14.270 回答