在使用 Perl 退出 OpenGL 后,如何启动新的 glutMainLoop() ?

发布于 2024-08-29 17:56:39 字数 439 浏览 0 评论 0原文

我使用 OpenGL 编写了一个 Perl 脚本。它调用 glutMainLoop() 来让用户查看一些内容,然后用户关闭窗口,但我想让他继续使用脚本并重新打开一个新窗口并查看其他一些内容。这可能吗?我发现可以执行这条指令:

glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS);

在窗口关闭后返回到代码。但是,如果我再次调用 glut* 函数,它会告诉我如果不调用 glutInit 就无法调用它,如果我调用 glutInit 它告诉我我不能再打电话了!有什么技巧吗?

I've written a Perl script using OpenGL. It calls glutMainLoop() to let the user view some stuff, then the user closes the window but I want to let him continue using the script and reopening a new window and seeing some other stuff. Is that possible? I've found that it is possible to execute this instruction:

glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS);

to return to the code after the window is closed. But then if I call again a glut* function it tells me that I can't call it without calling glutInit and if I call glutInit it tells me that I can't just call it again! Is there some trick?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抠脚大汉 2024-09-05 17:56:39

你不知道。 OpenGL 说:“此例程最多应调用一次在过剩计划中。”

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

You don't. OpenGL says: "This routine should be called at most once in a GLUT program."

Sounds like you need to use OpenGL without GLUT, or at least without glutMainLoop. Or maybe you can use an idle callback or timer callback to continue your windowless processing from inside the main loop.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文