Если сменить версию OpenGL с 3.3 на 2.1, всё заработает. glBegin, glEnd - старые методы, они больше не работают, начиная с версии 3.3.
#!/usr/bin/env python3
import glfw
from OpenGL.GL import *
def draw():
# Здесь добавьте код для отрисовки вашего 3D пространства
# Пример: рисование треугольника
glBegin(GL_TRIANGLES)
glVertex3f(-1.0, -1.0, 0.0)
glVertex3f(1.0, -1.0, 0.0)
glVertex3f(0.0, 1.0, 0.0)
glEnd()
def main():
# Инициализация GLFW
if not glfw.init():
return
# Создание окна
glfw.window_hint(glfw.CONTEXT_VERSION_MAJOR, 2)
glfw.window_hint(glfw.CONTEXT_VERSION_MINOR, 1)
window = glfw.create_window(800, 600, "OpenGL 3D Space", None, None)
if not window:
glfw.terminate()
return
glfw.make_context_current(window)
# Основной цикл приложения
while not glfw.window_should_close(window):
glfw.poll_events()
# Здесь можно добавить код для отрисовки 3D пространства с использованием PyOpenGL
draw() # Вызываем функцию отрисовки из модуля render
glfw.swap_buffers(window)
# Завершение работы
glfw.terminate()
if __name__ == "__main__":
main()