GLX - GLX
эта статья нужны дополнительные цитаты для проверка.Июль 2012 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Оригинальный автор (ы) | SGI |
---|---|
изначальный выпуск | 1992 |
Стабильный выпуск | 1.4 / 16 декабря 2005 г. |
Написано в | C |
Лицензия | Лицензия SGI FreeB[1] |
Интернет сайт | дри |
GLX (инициализм для "ОткрытьGL Расширение Икс Window System ") является расширением Основной протокол X Window System предоставление интерфейс между OpenGL и X Window System а также расширения самого OpenGL. Он позволяет программам, желающим использовать OpenGL, делать это в окне, предоставляемом системой X Window. GLX различает два «состояния»: косвенное состояние и прямое состояние.
История
Силиконовая Графика разработали GLX в рамках своих усилий по поддержке OpenGL в X Window System. В 1999 году SGI выпустила GLX под лицензия с открытым исходным кодом,[2] позволяя ему быть включенным в XFree86 исходный код версии 4.0 в 2000 году. Оттуда код был унаследован ветвью Фонд X.Org версия X Window System X11R6.7.0. 19 сентября 2008 года SGI создала новую лицензию SGI FreeB License Version 2.0, которая «теперь отражает бесплатную лицензию X11, используемую X.Org», и «соответствует широко принятому в сообществе бесплатного программного обеспечения с открытым исходным кодом определению слова« бесплатно »».[3] В 2009 г. Фонд свободного программного обеспечения одобрил лицензию SGI Free License B как лицензия на свободное программное обеспечение, и GLX будет важным свободное программное обеспечение графический проект.[4][5] По состоянию на 2011 год GLX достиг версии 1.4.
Первая внутренняя реализация GLX API, называемая GLcore,[6] загрузил версию программного рендерера Меса внутри X-сервера и отображал команды OpenGL в окне или растровом изображении. С развитием DRI, была добавлена возможность использовать OpenGL с аппаратным ускорением через прямые контексты (в основном используется видеоигры ). В 2006 году популяризация вложенных Xgl X-сервер и 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 г. Гламур начался проект, направленный на добавление универсального драйвера 2D X с аппаратным ускорением, основанного на OpenGL. В 2013 году Адам Джексон коренным образом переписал код GLX, чтобы объединить различные пути от Glamour, непрямого рендеринга ... до одного уникального пути к библиотеке OpenGL libGL.[7]
2D драйверы внутри X сервер
Косвенный рендеринг через GLX с использованием Юта GLX
Наконец, весь доступ проходит через Менеджер прямого рендеринга
особенности
GLX состоит из трех частей:
- An API который предоставляет функции OpenGL приложению X Window System.
- Расширение протокола X, которое позволяет клиенту (приложению OpenGL) отправлять команды 3D-рендеринга на X-сервер (программное обеспечение, отвечающее за отображение). Клиентское и серверное программное обеспечение может работать на разных компьютерах.
- Расширение X-сервера, которое получает команды рендеринга от клиента и передает их установленной библиотеке OpenGL.
Если клиент и сервер работают на одном компьютере и доступна ускоренная трехмерная графическая карта с использованием подходящего драйвера, первые два компонента можно обойти. DRI. В этом случае клиентскому приложению разрешается прямой доступ к видеооборудованию через несколько уровней API.
Реализации
- Меса 3D - а бесплатно и с открытым исходным кодом библиотека который реализует несколько графических API, а также доступные Бесплатные драйверы устройств с открытым исходным кодом: графика; в крайнем случае Mesa 3D также предлагает запасной вариант программный рендеринг.
- Проприетарные драйверы устройств для графических чипов также включают реализацию GLX.
Смотрите также
- WGL - эквивалент Майкрософт Виндоус интерфейс к OpenGL
- CGL - эквивалент macOS интерфейс к OpenGL
- EGL - аналогичный кроссплатформенный интерфейс между OpenGL ES или VG и базовой оконной системой собственной платформы
- GLUT - библиотека утилит для программ OpenGL
использованная литература
- ^ oss-project-owner (2012). «История и самая последняя версия лицензии SGI на свободное программное обеспечение B». Silicon Graphics International. Архивировано из оригинал на 2017-04-20. Получено 2017-04-11.
- ^ Джон Лич (2012). «Пример реализации OpenGL». Silicon Graphics International. Получено 2017-04-11.
- ^ «SGI открывает новые возможности для участия в OpenGL». 19 сентября 2008 г. Архивировано из оригинал на 2012-02-11.
- ^ Ли, Мэтт (19 сентября 2008 г.). «Спасибо, SGI, за то, что освободили рабочий стол GNU / Linux 3D!». Фонд свободного программного обеспечения. Получено 2017-04-11.
- ^ brett (13 января 2009 г.). «3D-графика - это 100% бесплатное программное обеспечение». Фонд свободного программного обеспечения. Получено 2017-04-11.
- ^ «DRI - GLcore». freedesktop.org. 2016-07-20. Получено 2017-04-11.
- ^ Джексон, Адам (04.02.2014). «Переписывая GLX, чтобы переписать X». Linux.conf.au. Получено 2017-04-11.