Ошибка pyopenGL OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
Есть код, который должен выводить проекции фигуры, но выскакивает ошибка, сколько не гуглить ничего не помогло.
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *
current_projection = 'Z'
def draw_cone():
# Рисуем конус
gluCylinder(gluNewQuadric(), 1.0, 0.0, 2.0, 50, 50)
def draw_scene():
global current_projection
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
if current_projection == 'X':
# Проекция по оси X
gluLookAt(5.0, 0.0, 0.0,
0.0, 0.0, 0.0,
0.0, 1.0, 0.0)
draw_cone()
elif current_projection == 'Y':
# Проекция по оси Y
gluLookAt(0.0, 5.0, 0.0,
0.0, 0.0, 0.0,
0.0, 0.0, -1.0)
draw_cone()
elif current_projection == 'Z':
# Проекция по оси Z (вид спереди)
gluLookAt(0.0, 0.0, 5.0,
0.0, 0.0, 0.0,
0.0, 1.0, 0.0)
draw_cone()
elif current_projection == 'GENERAL':
# Общий вид конуса
gluLookAt(5.0, 5.0, 5.0,
0.0, 0.0, 0.0,
0.0, 1.0, 0.0)
draw_cone()
glutSwapBuffers()
def keyboard_func(key, x, y):
global current_projection
if key == b'x' or key == b'X':
current_projection = 'X'
elif key == b'y' or key == b'Y':
current_projection = 'Y'
elif key == b'z' or key == b'Z':
current_projection = 'Z'
elif key == b'g' or key == b'G':
current_projection = 'GENERAL'
glutPostRedisplay()
def main():
glutInit()
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH)
glutInitWindowSize(800, 600)
glutCreateWindow(b"3D Cone Projection")
glEnable(GL_DEPTH_TEST)
glutDisplayFunc(draw_scene)
glutKeyboardFunc(keyboard_func)
glMatrixMode(GL_PROJECTION)
gluPerspective(45.0, 1.33, 0.1, 100.0)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glutMainLoop()
if __name__ == "__main__":
main()
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
Источник: Stack Overflow на русском