我使用OpenGL编写了一个Perl脚本。它调用glutMainLoop()
让用户查看一些东西,然后用户关闭窗口但我想让他继续使用脚本并重新打开一个新窗口并看到其他一些东西。那可能吗?我发现可以执行这条指令:
glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS);
在窗口关闭后返回代码。但是如果我再次调用glut*
函数,它会告诉我,如果不调用glutInit
我就无法调用它,如果我调用glutInit
它会告诉我我不能只调用它再次!有一些技巧吗?
答案 0 :(得分:0)
你没有。 OpenGL says:“在GLUT程序中最多应该调用一次这个例程。”
听起来你需要在没有GLUT的情况下使用OpenGL,或者至少没有glutMainLoop
。或者也许您可以使用空闲回调或计时器回调来继续从主循环内部进行无窗口处理。