Шейдеры с pygtkglext
Вопрос
Кто-нибудь знает, как заставить glsl-шейдеры работать в окне gtk-opengl?С избытком всего glCreateProgram
и т.д.функции работают, но когда я попытался поместить тот же код gl в окно pygtkglext, он пожаловался на NullReference:
OpenGL.error.NullFunctionError: Attempt to call an undefined function glCreateProgram, check for bool(glCreateProgram) before calling
Итак , тогда я from OpenGL.GL.ARB.shader_objects import *
, но результат аналогичен:
OpenGL.error.NullFunctionError: Attempt to call an undefined function glCreateProgramObjectARB, check for bool(glCreateProgramObjectARB) before calling
Любая идея будет полезна.
Решение
Ответ заключается в том, что он еще не поддерживается.Просто pygtkglext не устанавливает glCreateProgram.Однако версия git делает это.
Другие советы
Точки входа в OpenGL получаются с помощью процедуры GetProcAddress.Я полагаю, что НУЛЕВОЙ указатель - это указатель на функцию glCreateProgramObjectARB.
Это строго связано с библиотеками, установленными вместе с драйвером.Какая версия OpenGL запущена на хосте?Возможно, драйвер не реализует glCreateProgramObjectARB.