Это мой код
Код: Выделить всё
import OpenGL
import OpenGL.GL
from OpenGL.GLUT import *
import OpenGL.GLU
from OpenGL.raw.GL.VERSION.GL_1_1 import *
import time
def square():
glBegin(GL_QUADS)
glVertex2f(100,100)
glVertex2f(200,100)
glVertex2f(200, 200)
glVertex2f(100, 200)
glEnd()
def iterate():
glViewport(0, 0, 500,500)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glOrtho(0.0, 500, 0.0, 500, 0.0, 1.0)
glMatrixMode (GL_MODELVIEW)
glLoadIdentity()
def showScreen():
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
iterate()
glColor3f(1.0, 0.0, 3.0)
square()
glutSwapBuffers()
time.sleep(0.017)
glutInit()
glutInitDisplayMode(GLUT_RGBA)
glutInitWindowSize(500,500)
glutInitWindowPosition(0, 0)
wind = glutCreateWindow(b'OpenGL Coding Practice')
glutDisplayFunc(showScreen)
glutIdleFunc(showScreen)
glutMainLoop()
Код: Выделить всё
numpy==2.1.2
PyOpenGl==3.1.7
Код: Выделить всё
Traceback (most recent call last):
File "C:\Users\foo\OPENGLProject\.venv\Lib\site-packages\OpenGL\GLUT\special.py", line 130, in safeCall
return function( *args, **named )
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\foo\OPENGLProject\src\main.py", line 37, in showScreen
square()
File "C:\Users\foo\OPENGLProject\src\main.py", line 14, in square
glEnd()
File "C:\Users\foo\OPENGLProject\.venv\Lib\site-packages\OpenGL\platform\baseplatform.py", line 415, in __call__
return self( *args, **named )
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\foo\OPENGLProject\.venv\Lib\site-packages\OpenGL\error.py", line 230, in glCheckError
raise self._errorClass(
OpenGL.error.GLError: GLError(
err = 1282,
description = b'operaci\xf3n no v\xe1lida',
baseOperation = glEnd,
cArguments = ()
)
GLUT Display callback with (),{} failed: returning None GLError(
err = 1282,
description = b'operaci\xf3n no v\xe1lida',
baseOperation = glEnd,
cArguments = ()
)
В чем может быть причина?
В качестве дополнительных примечаний, которые могут помочь: мне пришлось вручную установить freeglut.dll. Я не устанавливал PyOpenGL_accelerate, поскольку при установке возникли ошибки.
Я также пытался изменить аргумент glBegin на GL_LINES и GL_TRIANGLES, использовать другие методы для glVertex, такие как glVertex3f, glVeretx3d или glVertex3fv, и изменить количество вызовов glVertex; все дают один и тот же результат.
Подробнее здесь: https://stackoverflow.com/questions/791 ... error-1282