Выдает ошибку PyOpenGL
from OpenGL.GL import *
from OpenGL.GLUT import *
from random import random
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB)
glutInitWindowSize(300, 300)
glutInitWindowPosition(50, 50)
glutInit(sys.argv)
glutCreateWindow(b"Shaders!")
glutDisplayFunc(draw)
glutIdleFunc(draw)
glutSpecialFunc(specialkeys)
glClearColor(0.2, 0.2, 0.2, 1)
def create_shader(shader_type, source):
shader = glCreateShader(shader_type)
glShaderSource(shader, source)
glCompileShader(shader)
return shader
vertex = create_shader(GL_VERTEX_SHADER, """
varying vec4 vertex_color;
void main(){
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
vertex_color = gl_Color;
}""")
fragment = create_shader(GL_FRAGMENT_SHADER, """
varying vec4 vertex_color;
void main() {
gl_FragColor = vertex_color;
}""")
program = glCreateProgram()
glAttachShader(program, vertex)
glAttachShader(program, fragment)
glLinkProgram(program)
glUseProgram(program)
pointdata = [[0, 0.5, 0], [-0.5, -0.5, 0], [0.5, -0.5, 0]]
pointcolor = [[1, 1, 0], [0, 1, 1], [1, 0, 1]]
glutMainLoop()
def specialkeys(key, x, y):
global pointcolor
if key == GLUT_KEY_UP:
glRotatef(5, 1, 0, 0)
if key == GLUT_KEY_DOWN:
glRotatef(-5, 1, 0, 0)
if key == GLUT_KEY_LEFT:
glRotatef(5, 0, 1, 0)
if key == GLUT_KEY_RIGHT:
glRotatef(-5, 0, 1, 0)
if key == GLUT_KEY_END:
pointcolor = [[random(), random(), random()], [random(), random(), random()], [random(), random(), random()]]
Ошибка
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB)
File "C:\Users\kity\PycharmProjects\shader\venv\lib\site-packages\OpenGL\platform\baseplatform.py", line 423, in __call__
raise error.NullFunctionError(
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInitDisplayMode, check for bool(glutInitDisplayMode) before calling```