2010-12-07 3 views
0

Прошу прощения за мой плохой английский.Обновление окна GLUT

Я разрабатываю программу с OpenGL, GLUT и C++, которая перемещает блок полигонов вокруг окна. Ну, сначала я использовал функцию таймера GLUT, и он отлично работает. Теперь я хочу реализовать свой собственный таймер, поэтому я написал один. Но когда я использую его в том же файле, анимация работает так медленно. Таймер создает поток для выполнения функции для перемещения блока, и я думаю, проблема заключается в том, что glutPostRedisplay не обновляет автоматически окно, и таймер продолжает делать вызовы к этой функции, не считая, действительно ли winow был действительно обновлен или нет.

Мой вопрос в том, есть ли проблема? Как это можно решить?

Если это necesary, я могу разместить код, но настолько большой и трудно читать ...

Спасибо.

ответ

3

glutPostRedisplay только устанавливает флаг, который означает, что окно необходимо обновить, обновление произойдет после glutSwapBuffers.

+0

Да. Я использую freeglut, поэтому, наконец, я добавил функцию glutLeaveMainLoop, чтобы принудительно обновить. – Thylz 2010-12-07 11:31:44

Смежные вопросы