GEGL
GEGL — библиотека для обработки изображений, которая задумана как основа GIMP нового поколения.
Название
GEGL расшифровывается как GEneric Graphics Library. Существует альтернативная расшифровка, придуманная самими разработчиками: Genetically Engineered Goat, Large. Эта расшифровка настолько популярна, что в GNOME с 2002 года[1] до сих пор работает «пасхальное яйцо» в виде клона популярной игры Invaders, где в роли захватчиков выступает орда дурашливых козлов, приветливо машущих пятой ногой (для запуска следует нажать Alt+F2, и ввести команду «gegls from outer space»). Пятиногая коза несколько раз использовалась в стартовых заставках нестабильной версии GIMP.
История
Работа над GEGL была начата в 2000 году небольшой командой программистов из студии Rhythm & Hues.
В марте 2004 года Кэлвин Уильямсон и еще один участник проекта, Дэниэл Роджерс, получили[2] от Марка Шаттлворта предложение профинансировать ускорение работы над GEGL и интеграцию с GIMP.
Сама история и выводы подробно изложены Дейвом Нири[3]. Упоминаемое в тексте письмо Эвинда Коласа (текущего лидера проекта GEGL) Марку Шаттлворту доступно сейчас только в веб-архиве[4].
На ежегодной конференции GUADEC в июне 2005 года в результате встречи разработчиков было принято решение[5] возобновить работу над GEGL, к тому моменту приостановленную.
К моменту выхода GIMP 2.4 был налажен выпуск альфа-версий GEGL.
В GIMP 2.6 библиотека по выбору пользователя используется в инструментах цветокоррекции (верхняя половина меню «Цвет»), причем изменения выполняются в режиме 32 разряда с плавающей точкой на канал в RGBA.
В GIMP 2.8 проекция (все видимые слои с масками в стопке слоев) по выбору пользователя может отрисовываться через GEGL. Условием выпуска версии 2.8 являлось обеспечение скорости отрисовки, достаточной для комфортной работы.
В GIMP 2.9.x управление тайлами и работа инструментов переведены на GEGL, часть фильтров заменена на операции GEGL, доступна обработка в режимах 16 и 32 разряда на канал (с плавающей точкой или целочисленно). Изменения будут доступны в стабильной версии GIMP 2.10.
Функциональные возможности
Текущие возможности GEGL:
- 8-/16-/32-разрядные (с плавающей точкой) режимы, внутренняя обработка — в 32bit float linear RGBA;
- RGB, CIE LAB, YCbCr и простой вывод в CMYK;
- мозаичный, неплотный и пирамидный буферы, буфер больше размеров RAM; в качестве теста успешно загружалось изображение размером 86400x43200px;
- обработка и рендеринг на GPU при помощи OpenCL;
- загрузчики PNG, JPEG, SVG, EXR, RAW и пр.;
- арифметические операции, композитные операции Портера-Даффа, режимы наложения SVG, прочие режимы наложения, применение маски;
- базовые инструменты цветокоррекции;
- большинство операций обработки функционирует в HDR;
- рисование кривых Безье и Спиро (клотоиды);
- расширяемость через модули.
К библиотеке прилагается простая графическая программа для тестирования всех возможностей GEGL и несколько простых однофункциональных тестовых приложений.
Использование библиотеки
Помимо GIMP библиотека GEGL используется в следующих приложениях:
- GNOME Photos[6] — приложение для управления фотоколлекциями и простого редактирования фотографий в GNOME;
- GnomeScan[7] — простая программа для сканирования, созданная для рабочего окружения GNOME;
- Niepce Digital[8] — приложение для фотографов в стиле Adobe Photoshop Lightroom и Apple Aperture;
- gedl[9] — нелинейный видеоредактор.
Примечания
- ↑ The GNOME Development Site Архивировано 9 мая 2008 года.
- ↑ [http://web.archive.org/web/20081007190826/http://www.mail-archive.com/gimp-developer@lists.xcf.berkeley.edu/msg06446.html Архивная копия от 7 октября 2008 на Wayback Machine [Gimp-developer] The Mark Shuttleworth offer]
- ↑ Bounties and the GIMP . Дата обращения: 23 декабря 2008. Архивировано 7 октября 2008 года.
- ↑ https://web.archive.org/web/20061012053435/http://pippin.gimp.org/bounties/dysfunctional-bounties
- ↑ The GUADEC meeting — gegl-developer forum — gimpusers.com
- ↑ Photos . Дата обращения: 14 июля 2017. Архивировано 22 сентября 2017 года.
- ↑ GnomeScan — GNOME Live! Архивировано 12 декабря 2008 года.
- ↑ Niepce — GNOME Live! . Дата обращения: 23 декабря 2008. Архивировано 14 марта 2012 года.
- ↑ gedl . Дата обращения: 14 июля 2017. Архивировано 13 июня 2018 года.