GLX

редактировать
GLX
Исходный автор (-ы) SGI
Первоначальный выпуск1992
Стабильный выпуск 1.4 / 16 декабря 2005 г.
Написано наC
Лицензия Лицензия SGI FreeB
Веб-сайтdri.freedesktop.org / wiki / GLX /

GLX (инициализм для «Открыть GL расширение для X оконной системы») является расширением Основной протокол X Window System, обеспечивающий интерфейс между OpenGL и X Window System, а также расширения самого OpenGL. Он позволяет программам, желающим использовать OpenGL, делать это в окне, предоставляемом системой X Window. GLX различает два «состояния»: косвенное состояние и прямое состояние.

Содержание
  • 1 История
  • 2 Особенности
  • 3 Реализации
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
История

Silicon Graphics разработала GLX как часть их усилий по поддержке OpenGL в X Window System. В 1999 году SGI выпустила GLX под лицензией с открытым исходным кодом, что позволило включить его в XFree86 исходный код версии 4.0 в 2000 году. Оттуда код унаследовал разветвленный X.Org Foundation версия X Window System X11R6.7.0. 19 сентября 2008 года SGI создала новую лицензию SGI FreeB License Version 2.0, которая «теперь отражает бесплатную лицензию X11, используемую X.Org», и «соответствует широко принятому в сообществе бесплатного программного обеспечения с открытым исходным кодом определению слова« бесплатно »». В 2009 году Фонд свободного программного обеспечения одобрил лицензию SGI Free License B как лицензию на свободное программное обеспечение, а GLX как важный графический проект свободного программного обеспечения. По состоянию на 2011 год GLX достиг версии 1.4.

Первая внутренняя реализация GLX API, называемая GLcore, загружала версию программного средства визуализации Mesa внутри X-сервера и отображала команды OpenGL в окне или растровом изображении. С разработкой DRI была добавлена ​​возможность использовать OpenGL с аппаратным ускорением через прямые контексты (в основном используется в видеоиграх ). В 2006 году популяризация вложенного X-сервера Xgl и Compiz оконного менеджера композитинга привела к разработке Accelerated Indirect GLX (AIGLX ). AIGLX обеспечивает аппаратное ускорение приложений GLX (непрямой контекст), загружая драйвер Mesa DRI внутри X-сервера. Этот метод обеспечивает совместное использование объектов GL между X-клиентами с использованием косвенных контекстов (все они находятся в одном адресном пространстве на X-сервере), а также между X-клиентом и оконным менеджером композитинга, тем самым ускоряя композицию. В 2008 году привязка GLcore к программному рендереру Mesa была переписана в интерфейсный модуль DRI, названный swrast_dri.so, улучшив связь Mesa и X-сервера. Также в 2008 году был представлен новый DRI2 для замены DRI, а вместе с ним и новая модель, основанная на настройке режима ядра. В 2011 году стартовал проект Glamour, направленный на добавление универсального драйвера 2D X с аппаратным ускорением, основанного на OpenGL. В 2013 году Адам Джексон полностью переписал код GLX, чтобы объединить различные пути от Glamour, непрямого рендеринга,... в один уникальный путь к библиотеке OpenGL libGL.

Features
Демо GLX (glxgears ), включенное в X11

GLX состоит из трех частей:

  1. An API, который предоставляет функции OpenGL для приложения X Window System.
  2. Расширение протокола X, которое позволяет клиенту (приложению OpenGL) отправлять команды 3D-рендеринга на X-сервер ( программное обеспечение, отвечающее за отображение). Программное обеспечение клиента и сервера может работать на разных компьютерах.
  3. Расширение X-сервера, которое получает команды рендеринга от клиента и передает их установленной библиотеке OpenGL

Если клиент и сервер работают на доступен тот же компьютер и ускоренная трехмерная графическая карта с использованием подходящего драйвера, первые два компонента можно обойти с помощью DRI. В этом случае клиентскому приложению разрешается прямой доступ к видеооборудованию через несколько уровней API.

Реализации
См. также
  • WGL - эквивалент Microsoft Интерфейс Windows для OpenGL
  • CGL - эквивалентный интерфейс macOS для OpenGL
  • EGL - аналогичный кроссплатформенный интерфейс между OpenGL ES или VG и базовым родным платформа оконная система
  • GLUT - библиотека утилит для программ OpenGL
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-21 09:02:47
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте