Я пытаюсь выполнить проект uni, и я использую pyglet для задачи. Это часть кода, которая вызывает у меня проблему.NameError при запуске pyglet
from pyglet.gl import *
from pyglet.window import key
from pyglet.window import mouse
window=pyglet.window.Window(resizable=True)
@window.event
def on_draw():
glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE)
glutInitWindowSize (width, height)
glutInitWindowPosition (100, 100)
glClearColor(1.0, 1.0, 1.0, 1.0)
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
myObject()
glutSwapBuffers()
Когда я искал функции glutInitDisplayMode
, glutInitWindowSize
и glutInitWindowPosition
он показывает только PyOpenGL нити, так что они существуют для pyglet или им просто определяя их неправильно?
Terminal Выход:
glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE)
NameError: global name 'glutInitDisplayMode' is not defined
и то же самое для двух других
@smrkelj Ах, все зависит от того, как вы импортируете 'Config', он находится под' pyglet.gl.Config' -> '' –
Torxed
Я это сделал код: 'конфиг = gl.Config (double_buffer = True) контекста = контекст = config.create_context (shared_context) окна = pyglet.window.Window (конфиг = конфигурация, контекст = контекст)' , а затем я получил это ошибка: строка 29, в конфигурации = gl.Config (double_buffer = True) AttributeError: 'модуль' объект не имеет атрибута 'Config' так я изменил его с этим: 'контекста = Windo w.context конфиг = context.config config.double_buffer окно = pyglet.window.Window (конфиг = конфигурация, контекст = контекст, дисплей = дисплей) ' будет я потерять что-нибудь по этому schange, или его же? –
smrkelj
@smrkelj Обычно вам не нужен «контекст», Pyglet делает это для вас. Это больше, если вы хотите создать контекст самостоятельно и поделиться им между Windows и т. Д. См. Мой обновленный ответ + мой комментарий выше о 'gl.Config()'. – Torxed