Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl glGenFramebuffers使程序无法运行_Opengl_Framebuffer_Fbo - Fatal编程技术网

Opengl glGenFramebuffers使程序无法运行

Opengl glGenFramebuffers使程序无法运行,opengl,framebuffer,fbo,Opengl,Framebuffer,Fbo,我已经在windows xp virtualbox上重新安装了devcpp 4.9.9.2,并安装了glut和glew 我的原始程序只是使用了glut,并显示了一些球体在房间内反弹。我的问题是,一旦我添加到行中 glGenFramebuffers(1, &myBuffer); 我的程序无法运行。它编译得很好。但当我运行它时,它会显示“Ass1.exe遇到问题,需要关闭。对于给您带来的不便,我们深表歉意。” 如果我把这行注释掉,那么它就可以正常工作了,球会弹来弹去。glGenFrameb

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

我的原始程序只是使用了glut,并显示了一些球体在房间内反弹。我的问题是,一旦我添加到行中

glGenFramebuffers(1, &myBuffer);
我的程序无法运行。它编译得很好。但当我运行它时,它会显示“Ass1.exe遇到问题,需要关闭。对于给您带来的不便,我们深表歉意。”

如果我把这行注释掉,那么它就可以正常工作了,球会弹来弹去。glGenFramebuffers位于我的设置方法的底部

这是我代码的链接


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


您必须调用
glewInit()然后才能使用扩展功能。可能您没有这样做,所以函数指针仍然是空指针<必须在创建和绑定上下文后调用code>glewInit
。在使用GLUT的情况下,这正好在
glutCreateWindow(…)之后

您必须调用
glewInit()然后才能使用扩展功能。可能您没有这样做,所以函数指针仍然是空指针<必须在创建和绑定上下文后调用code>glewInit
。在使用GLUT的情况下,这正好在
glutCreateWindow(…)之后

我添加了glewInit();就在CreateWindow()之后;程序并没有马上崩溃,而是出现了一些东西然后崩溃了。看起来很轻微progress@AdamKenworthy:好的,现在你必须调试这个问题。将每个操作的状态日志打印到stderr
fprintf(stderr,…)
。如果您还不知道,请学习如何使用调试器。获取崩溃时刻的堆栈回溯是非常有用的。它在很早的时候就崩溃了,以至于调试实际上并没有显示任何东西。我看到一扇窗户的闪光,就是这样。如果我注释掉glGenFramebuffers(1,&myBuffer);它运行正常,但在其他情况下会崩溃。你应该将glInit设置为实验性的。这是glut从未修复过的愚蠢的老东西。无论如何,我建议你改用GLFW…@MichaelIV我添加了“glewExperimental=GL_TRUE”;但现在我在崩溃之前没有得到窗口的闪光。我添加了glewInit();就在CreateWindow()之后;程序并没有马上崩溃,而是出现了一些东西然后崩溃了。看起来很轻微progress@AdamKenworthy:好的,现在你必须调试这个问题。将每个操作的状态日志打印到stderr
fprintf(stderr,…)
。如果您还不知道,请学习如何使用调试器。获取崩溃时刻的堆栈回溯是非常有用的。它在很早的时候就崩溃了,以至于调试实际上并没有显示任何东西。我看到一扇窗户的闪光,就是这样。如果我注释掉glGenFramebuffers(1,&myBuffer);它运行正常,但在其他情况下会崩溃。你应该将glInit设置为实验性的。这是glut从未修复过的愚蠢的老东西。无论如何,我建议你使用GLFW来代替…@MichaelIV我添加了“glewExperimental=GL_TRUE”;但现在我在崩溃之前没有得到窗口的闪光。
// 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();