2014-04-27 4 views
1

pyOpenGL을 사용하여 입자 시뮬레이터를 코딩하는 환경을 설정하는 데 관심이 있습니다. 나는 pyOpenGL을 설치했다. 이것은 OpenGL이 제대로 작동하는지 테스트하는 코드입니다.pyOpenGL을 실행할 때 NameError

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

내가 pyOpengl를 다시 시도하지만 성공이 없었습니다 : 나는 명령에서 스크립트를 실행할 때

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()    

그러나, 나는 다음과 같은 오류가 발생합니다.

더 많은 정보 그냥 물어 도움이 될 것입니다 생각한다면 내가

윈도우 8.1에 파이썬 3.4을 실행하고 있습니다. 감사

답변

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()    

, 그것은 나를 똑바로 사람이 뭐하는거야 유지하는 데 도움이 무엇 .

+0

솔루션이 제대로 작동 했으므로 한 묶음 덕분입니다. 나는 이해하기 쉽고 더 깨끗한 코드를 이해하는 것이 왜 쉬운 지 이해하지만, 내가 처음에 게시 한 코드가 왜 작동하지 않는지에 대해 혼란 스럽다. – LeoAnth

관련 문제