Возможно ли совместное использование библиотек pyggel и GLUT

#glut #pyopengl

#glut #pyopengl

Вопрос:

Я новичок в PyOpenGL, и в настоящее время я работаю над кодом, изначально основанным на библиотеке pyggel, но теперь я хотел бы добавить некоторые функции из GLUT (меню и текст), и я не совсем уверен, как мне следует объединить оба (если это возможно).

В GLUT требуется запуск glutMainLoop(), но, с другой стороны, у меня есть эта процедура run():

def run(self):

    while 1:
       self.clock.tick(60)
       self.getInput()
       self.processInput()
       pyggel.view.clear_screen()     
       self.mouse_over_object = self.scene.render(self.camera)
       pyggel.view.refresh_screen()
       #glutMainLoop()
 

Помещение процедуры GLUT в мой run() не работает (он выходит из строя, когда попадает в glutMainLoop).
Итак, как я могу объединить оба цикла? Могу ли я? Я предполагаю, что это то, что мне нужно, чтобы заставить обе вещи работать.

Заранее спасибо!

Ответ №1:

Вероятно, вам будет нелегко это сделать. Pyggel основан на графическом интерфейсе Pygame, в то время как GLUT — это собственный графический интерфейс. Возможно, вам удастся заставить рендеринг текста работать, так как под прикрытием GLUT для этого просто использует обычный OpenGL, но меню не будут легко работать под Pyggel.

Pyggel имеет как текстовый рендеринг, так и структуру графического интерфейса, которая включает меню, фреймы, кнопки, метки и т. Д. Вероятно, вы захотите использовать это, если используете Pyggel в своем проекте, здесь есть пример использования графического интерфейса:

http://code.google.com/p/pyggel/source/browse/trunk/examples_and_tutorials/tut8-gui.py