我正在尝试做我的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()
当我搜索函数glutInitDisplayMode
,glutInitWindowSize
和glutInitWindowPosition
它只显示pyOpenGL线程时,它们是否存在pyglet或我只是定义错误?
终端输出:
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE)
NameError:未定义全局名称'glutInitDisplayMode'
和其他两个相同
答案 0 :(得分:0)
所以,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)
希望这能为你澄清一切。