PyOpenGL - вызов glEnd дает ошибку OpenGL 1282Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 PyOpenGL - вызов glEnd дает ошибку OpenGL 1282

Сообщение Anonymous »

Я пытаюсь следовать этому руководству для PyOpenGL, но получаю ошибку OpenGL 1282 при вызове glEnd().
Это мой код:

Код: Выделить всё

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()
Это мои требования.txt:

Код: Выделить всё

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 = ()
)
Я использую Windows 10 и Python 3.12.3 в венве.
Что может быть причиной этого?В качестве дополнительных примечаний, которые могут помочь: мне пришлось вручную установить freeglut.dll. Я не устанавливал PyOpenGL_accelerate, так как при установке возникали ошибки.
Я также пытался изменить аргумент glBegin на GL_LINES и GL_TRIANGLES, используйте другие методы для glVertex*, такие как glVertex3f, glVertex3d или glVertex3fv, и изменяют количество вызовов glVertex*; все дают один и тот же результат.

Подробнее здесь: https://stackoverflow.com/questions/791 ... error-1282
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • PyOpenGL - вызов glEnd дает ошибку OpenGL 1282
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • PyOpenGL - вызов glEnd дает ошибку OpenGL 1282
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • PyOpenGL - вызов glEnd дает ошибку OpenGL 1282 после изменения импорта
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • PyOpenGL: glEnd выдает недопустимую операцию (ошибка 1282)
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Бесшовные текстуры Opengl — нарушение прав доступа и ошибка 1282 при связывании программ [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»