Как я могу запустить новый glutMainLoop () после выхода из OpenGL с помощью Perl? - PullRequest
1 голос
/ 20 апреля 2010

Я написал скрипт на Perl, используя OpenGL . Он вызывает glutMainLoop(), чтобы позволить пользователю просматривать некоторые вещи, затем пользователь закрывает окно, но я хочу, чтобы он продолжил использовать скрипт и снова открыл новое окно и увидел некоторые другие вещи. Это возможно? Я обнаружил, что можно выполнить эту инструкцию:

glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE,GLUT_ACTION_GLUTMAINLOOP_RETURNS);

для возврата к коду после закрытия окна. Но затем, если я снова вызываю функцию glut*, она говорит мне, что я не могу вызвать ее без вызова glutInit, а если я вызываю glutInit, она говорит, что я не могу просто вызвать ее снова! Есть какой-то трюк?

1 Ответ

0 голосов
/ 21 апреля 2010

Ты не. OpenGL говорит : «Эта программа должна вызываться не более одного раза в программе GLUT».

Похоже, вам нужно использовать OpenGL без GLUT или, по крайней мере, без glutMainLoop. Или, может быть, вы можете использовать обратный вызов в режиме ожидания или таймер для продолжения обработки без окон из основного цикла.

...