簡體   English   中英

運行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:全局名稱'glutInitDisplayMode'未定義

其他兩個也是一樣

因此, 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)

希望這對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM