Минимальный пример PyOpenGL:
Код: Выделить всё
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *
def display():
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glFlush()
def main():
import sys
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(500, 500)
glutInitWindowPosition(100, 100)
glutCreateWindow(b"Minimal GLUT Test")
glutDisplayFunc(display)
glutMainLoop()
if __name__ == "__main__":
main()
Код: Выделить всё
Traceback (most recent call last):
File "minimal_example.py", line 19, in
main()
File "minimal_example.py", line 15, in main
glutDisplayFunc(display)
File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/GLUT/special.py", line 147, in __call__
contextdata.setValue( self.CONTEXT_DATA_KEY, cCallback )
File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/contextdata.py", line 58, in setValue
context = getContext( context )
File "/home/billy/anaconda3/envs/cs_355_ta_env_opengl/lib/python3.8/site-packages/OpenGL/contextdata.py", line 40, in getContext
raise error.Error(
OpenGL.error.Error: Attempt to retrieve context when no valid context
- ОС: Ubuntu 22.04 .5 LTS (64-разрядная версия)
- Python: 3.8.20
- Conda Env: cs_355_ta_env_opengl
- Установленные пакеты: PyOpenGL, PyOpenGL_accelerate, freeglut3, freeglut3-dev< /code>
- Установлены freeglut3 и freeglut3-dev.
- показывает действительную версию OpenGL.
Код: Выделить всё
glxinfo | grep "OpenGL version" - Успешно скомпилировал и запустил программу C OpenGL.
- Установил freeglut через conda- forge.
- Переустановил PyOpenGL и PyOpenGL_accelerate с помощью conda и pip.
- Подтверждено наличие libGL.so и libglut.so в среде Conda.
Подробнее здесь: https://stackoverflow.com/questions/790 ... text-error