运行 pyglet 时出现 NameError

NameError when running pyglet

我正在尝试做我的 uni 项目,我正在使用 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() 

当我搜索函数 glutInitDisplayModeglutInitWindowSizeglutInitWindowPosition 时,它只显示 pyOpenGL 线程,那么它们是否存在于 pyglet 中,还是我只是定义错误?

终端输出:

glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE)

NameError: global name 'glutInitDisplayMode' is not defined

另外两个也一样

因此,glutInitDisplayMode 是一个 GL 函数,但据我所知,Pyglet 并未提供它,因为它并不是真正需要的。

现在,这些是一些推测,如果我错了请纠正我。
但调用以下内容将为您设置上下文:

pyglet.window.Window(...)

这些都是不必要的:

glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE)
glutInitWindowSize (width, height)
glutInitWindowPosition (100, 100)

您要做的是:

window = pyglet.window.Window(width=800, height=600)
window.set_location(100, 100)

还有创建特定配置和上下文并注入的选项:

config = pyglet.gl.Config(double_buffer=True)
context = context = config.create_context(shared_context)
window = pyglet.window.Window(config=config, context=context)

希望这能为您澄清任何事情。