Introduction
官网说的直接用pip安装
pip install PyOpenGL PyOpenGL_accelerate
装完后,运行python会提示
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
是因为官方版本没提供glut
Solution
去网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl下载对应python版本wheel,然后
pip install .\PyOpenGL-3.1.5-cp27-cp27m-win_amd64.whl
pip install .\PyOpenGL_accelerate-3.1.5-cp27-cp27m-win_amd64.whl
安装完毕之后就能运行了。
测试代码如下
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def testFunc():
glClear(GL_COLOR_BUFFER_BIT)
glutWireTeapot(0.65)
glFlush()
# simulation
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(360, 360)
glutCreateWindow(b"test")
glutDisplayFunc(testFunc)
glutMainLoop()
参考:
【1】https://zhuanlan.zhihu.com/p/166737906
【2】https://stackoverflow.com/questions/39181192/attempt-to-call-an-undefined-function-glutinit/39181193#39181193
【3】https://pypi.org/project/PyOpenGL/
【4】https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl