Как узнать версию OpenGL в Linux и установить последнюю версию

Выход glxinfo | grep "OpenGL"

OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.8
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 20.0.8
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.0.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

Я не понимаю этот вывод,
какая версия? и в чем разница между "Строкой версии OpenGL" и "Строкой версии основного профиля OpenGL".

и какими командами Linux мне следует обновить свой OpenGL

1 ответ

Решение

Чтобы понять вывод этой команды, вы должны знать, что современные реализации OpenGL поддерживают несколько профилей. Каждый профиль содержит подмножество полной функциональности OpenGL. Профиль может развиваться через разные версии.

Конкретно ваша система поддерживает три профиля:

  • Основной профиль: это самый современный профиль для OpenGL. Приложения, использующие этот контекст, получают доступ к самым последним функциям OpenGL, но не к устаревшим функциям OpenGL, таким как немедленный режим (glBegin и другие). В вашей системе установлена ​​последняя версия 4.6.
  • Профиль совместимости: этот профиль по-прежнему поддерживает устаревшие функции OpenGL, а также некоторые новые функции через расширения. Вы не должны использовать это для новых приложений, только для запуска старых приложений.
  • OpenGL ES: этот профиль был разработан для мобильных систем, но все больше и больше используется и в настольных приложениях. Считайте это небольшим подмножеством OpenGL, которое хорошо подходит для приложений, которым не требуется полный набор инструментов OpenGL. У вас есть OpenGL ES 3.2, который на данный момент снова является новейшим.

Подводя итог: ваша система обновлена, и вы должны иметь возможность создавать и запускать как современные приложения OpenGL, использующие основной или профиль ES, так и устаревшие приложения OpenGL, использующие профиль совместимости.

Другие вопросы по тегам