2010-04-20 66 views
1

我用OpenGL编写了一个Perl脚本。它调用glutMainLoop()让用户查看一些东西,然后用户关闭窗口,但我想让他继续使用脚本并重新打开一个新窗口并看到其他的东西。那可能吗?我发现可以执行这条指令:如何在OpenGL中用Perl退出之后启动新的glutMainLoop()?

glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS); 

在窗口关闭后返回代码。但是如果我再次打电话给glut*函数,它告诉我,如果我不打电话给glutInit,就不能打电话给我,如果我打电话给glutInit,它告诉我我不能再打电话给它!有一些窍门吗?

回答

0

你不知道。 OpenGL says:“这个例程在GLUT程序中最多只能调用一次。”

听起来像你需要使用OpenGL没有GLUT,或者至少没有glutMainLoop。或者,也许你可以使用空闲的回调或定时器回调来继续从主循环内部进行无窗口处理。

+0

我看到,可能最好远离GLUT。我会尝试SDL。 – sangaran 2010-04-22 09:48:07

相关问题