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] — нелинейный видеоредактор.

Примечания

  1. The GNOME Development Site Архивировано 9 мая 2008 года.
  2. [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]
  3. Bounties and the GIMP. Дата обращения: 23 декабря 2008. Архивировано 7 октября 2008 года.
  4. https://web.archive.org/web/20061012053435/http://pippin.gimp.org/bounties/dysfunctional-bounties
  5. The GUADEC meeting — gegl-developer forum — gimpusers.com
  6. Photos. Дата обращения: 14 июля 2017. Архивировано 22 сентября 2017 года.
  7. GnomeScan — GNOME Live! Архивировано 12 декабря 2008 года.
  8. Niepce — GNOME Live!. Дата обращения: 23 декабря 2008. Архивировано 14 марта 2012 года.
  9. gedl. Дата обращения: 14 июля 2017. Архивировано 13 июня 2018 года.

Ссылки