Generic Graphics Library ( GEGL ) — это разрабатываемая программная библиотека для приложений обработки изображений . Она в основном разработана для GIMP с целью добавления поддержки изображений с более высокой битовой глубиной и неразрушающего редактирования . Она была частично реализована в GIMP 2.6, [2] с добавлением большего количества в 2.8, и теперь является центральной частью в 2.10. Многие фильтры готовы, но также много работы находится в процессе. Целью является полная поддержка всех важных фильтров в дорожной карте в версии 3.0. [3] [4] Она также используется в Photos и gedl GNOME.
GEGL смоделирован по образцу направленного ациклического графа , где каждый узел представляет собой операцию с изображением (называемую «операторами» или «оп»), а каждое ребро представляет собой изображение . Операции могут в общем случае принимать несколько входных изображений и выдавать несколько выходных изображений, что соответствует наличию нескольких входящих ребер (изображений) и нескольких исходящих ребер (изображений) в данном узле (операции). Система использует модель по запросу, выполняя работу только по мере необходимости. Это позволяет использовать такие функции, как очень быстрые предварительные просмотры во время редактирования, и как только пользователь закончит вносить изменения, GEGL повторит те же операции в полном разрешении для конечного изображения в фоновом режиме.
Операция (op) — это узел в графе GEGL, отвечающий за одно действие; ops может быть:
В GEGL также есть понятие метаопераций, где одна операция может быть создана из других операций (например, нерезкая маска представляет собой комбинацию операций сложения , умножения , вычитания и гауссова размытия).
babl, библиотека поддержки для GEGL, предоставляет универсальный способ работы с преобразованиями цветового пространства ; [5] babl работает, абстрагируя фундаментальные цветовые операции, так что GEGL не нужно знать о них. С помощью babl GEGL обеспечивает оптимизированную и мощную (опционально с поддержкой SIMD ) обработку произвольных цветовых данных; это позволяет зависимым приложениям эффективно поддерживать широкий диапазон цветовых пространств (от 8-битного RGB до полного CMYK с плавающей точкой ) с минимальным дополнительным кодом приложения.
OpenRaster — это формат файла XML , используемый для сохранения растровой графики . Ведущий разработчик GEGL Ойвинд Колас помог специфицировать OpenRaster, чтобы он мог сохранять графику GEGL.
Первоначально GEGL был задуман как замена ядра GIMP в 2000 году инженерами-программистами Rhythm & Hues , наконец, в 2006 году внешний API был признан достаточно стабильным и способным заменить ядро GIMP. 20 декабря 2007 года он был добавлен в разрабатываемую версию GIMP. Некоторые инструменты GIMP уже были преобразованы в операции GEGL; в основном были преобразованы инструменты, которые изменяют цвета, яркость или контрастность.
Версия 0.2.0 является частью Gimp 2.8.xy, а серия 0.3.xy является частью 2.9.x и входит в состав релиз-кандидатов 2.10.0. 0.4.0 является первой версией для версии 2.10.0 Gimp. Текущая версия 0.4.xy также является основой для разработки версии 2.99.x для стабильной серии 3.0 Gimp. 0.5 (или более поздняя, например, 1.0) будет линейкой стабильной серии 3.0.
Начиная с нестабильной серии 2.9.x, все ядро GIMP полагается на GEGL, и почти половина фильтров была заменена операциями GEGL. Цель — 100% фильтров холста в GEGL в 2.10 и более поздних версиях. [6]
Исторически сложилось так, что талисман GEGL, пятиногий козёл, созданный Джорджем (Йиржи) Леблом пасхального яйца в рабочих столах GNOME . [8]
[ 7], обрёл жизнь в качествеНекоторые из операций GEGL доступны в версии с аппаратным ускорением на основе OpenCL. Сторонняя работа под названием GEGL-OpenCL [9] по конвертации большего количества операций в OpenCL была начата Stream HPC в 2016 году. [10] Проект был в застое с мая 2017 года, но был возрожден летом 2019 года.
Я большой сторонник свободного программного обеспечения, и если я и работаю над свободным программным обеспечением, то в основном в GNOME.
До этого момента редакторы обзора считали эту игру просто очередной городской легендой, но не более того.