簡體   English   中英

運行pyOpenGL時出現NameError

[英]NameError when running pyOpenGL

我對建立一個環境來用pyOpenGL編寫粒子模擬器感興趣。 我已經安裝了pyOpenGL。 這是測試代碼,只是為了確保opengl正常工作。

from OpenGL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *


window = 0 
width, height = 500,400

def draw():
    glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT)           
    glLoadIdentity()

glutDwapBuffers()                                           




#initialization
glutInit()
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH)
glutInitWindowSize(width,height)
glutInitWindowPosition(0,0)
window = glutCreateWindow(b"noobtute")
glutDisplayFunc(draw)                                                                       
glutIdleFunc(draw)  
glutMainLoop()              

但是,當我從命令運行腳本時,出現以下錯誤:

NameError: name 'glClear' is not defined
GLUT Display callback <function draw at 0x0000000002F8CB70> with (),{} failed: 
returning None name 'glClear' is not defined

我嘗試重新安裝pyOpengl,但沒有成功。

我在Windows 8.1上運行Python 3.4

如果您認為更多信息會有所幫助,請詢問。 謝謝

更改

from OpenGL import * 

from OpenGL.GL import *

但是,我更喜歡使用以下格式:

import OpenGL.GL as GL
import OpenGL.GLU as GLU
import OpenGL.GLUT as GLUT


window = 0 
width, height = 500,400

def draw():
    GL.glClear(GL.GL_COLOR_BUFFER_BIT |GL.GL_DEPTH_BUFFER_BIT)           
    GL.glLoadIdentity()
    GLUT.glutSwapBuffers()                                           




#initialization
GLUT.glutInit()
GLUT.glutInitDisplayMode(GLUT.GLUT_RGBA | GLUT.GLUT_DOUBLE | GLUT.GLUT_ALPHA |
GLUT.GLUT_DEPTH)
GLUT.glutInitWindowSize(width,height)
GLUT.glutInitWindowPosition(0,0)
window = GLUT.glutCreateWindow(b"noobtute")
GLUT.glutDisplayFunc(draw)                                                                       
GLUT.glutIdleFunc(draw)  
GLUT.glutMainLoop()              

雖然不那么緊湊,但它可以幫助我保持直截了當的態度。

暫無
暫無

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

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