Создание прямого совместимого контекста OpenGL 3.x в Python - PullRequest
1 голос
/ 24 февраля 2010

Я использую wxPython и хочу использовать холст на основе OpenGL, но не хочу, чтобы контекст поддерживал устаревшую функциональность. Я просматривал pyopengl и pyglet в Eclipse, но, похоже, они не поддерживают это. Я говорю это потому, что не смог найти функции WGL, используемые при назначении атрибутов контексту, как в этом техническом документе AMD . Также не было упоминания в документации Pylget о параметре состояния совместимости при указании конфигурации для контекста. Я что-то пропускаю? Есть ли решение «Python» или мне нужно начать смотреть на что-то вроде ctypes?

Редактировать: После прочтения дополнительной документации кажется, что есть флаг для OpenGL модуля pyopengl , называемый FORWARD_COMPATIBLE_ONLY, который будет фильтровать устаревшие точки входа OpenGL.GL, но только из этого модуля. Об этом даже есть упоминание на сайте pyopengl в разделе OpenGL 3.x Deprecations , которого я раньше не замечал. Если это подразумевает, что амортизация GLSL также будет защищена, то это выглядит как решение.

1 Ответ

1 голос
/ 24 февраля 2010

Я не могу категорически сказать, что это невозможно, но я могу отметить, что, учитывая в значительной степени отрицательный ответ на недавние изменения OpenGL, я сомневаюсь, что разработчики поспешат внедрить подобные вещи в свои библиотеки.

Например, базовая функциональность рендеринга pyglet в основном опирается на старую систему предварительного шейдера, поэтому у нее практически нет причин предоставлять способ устаревать все старые функции.

Я ожидаю, что если вы хотите этого на ранней стадии, вам придется сделать это самостоятельно.

...