- GEGL
-
GEGL — библиотека для обработки изображений, которая задумана как основа GIMP нового поколения.
Содержание
Название
GEGL расшифровывается как GEneric Graphics Library. Существует альтернативная расшифровка, придуманная самими разработчиками: Genetically Engineered Goat, Large. Эта расшифровка настолько популярна, что в GNOME с 2002 года[1] до сих пор работает «пасхальное яйцо» в виде клона популярной игры Invaders, где в роли захватчиков выступает орда дурашливых козлов, приветливо машущих пятой ногой (для запуска следует нажать Alt+F2, и ввести команду «gegls from outer space»). В дереве разработки GIMP 2.8, где продолжается работа над интеграцией GEGL, стартовая заставка изображает козла с белой шерстью, мирно спящего в кровати под одеялом.
История
Работа над GEGL была начата в 2000 году Кэлвином Уильямсоном.
В марте 2004 года Кэлвин и второй участник проекта, Дэниэл Роджерс, получили[2] от Марка Шаттлворта предложение профинансировать ускорение работы над GEGL и интеграцию с GIMP. Финансирование предполагалось осуществить посредством учреждения призов за завершение определённых подзадач (milestones) разработки. Подзадачи должны были ставиться самими разработчиками, и ими же выполняться. Эта работа была начата, но не завершена. С тех пор разработчики GIMP относятся к идее призового спонсирования проекта с изрядным скепсисом[3]. Сама история и выводы подробно изложены Дейвом Нири[4]. Упоминаемое в тексте письмо Ойвинда Коласа (нынешнего лидера проекта GEGL) Марку Шаттлворту доступно сейчас только в веб-архиве[5].
На ежегодной конференции GUADEC в июне 2005 года в результате встречи разработчиков было принято решение[6] возобновить работу над GEGL, к тому моменту приостановленную.
К моменту выхода GIMP 2.4 был налажен выпуск альфа-версий GEGL.
В GIMP 2.6 библиотека по выбору пользователя используется в инструментах цветокоррекции (верхняя половина меню «Цвет»), причем изменения выполняются в режиме 32 разряда с плавающей точкой на канал в RGBA.
В GIMP 2.8 проекция (все видимые слои с масками в стопке слоев) по выбору пользователя может отрисовываться через GEGL. Условием выпуска версии 2.8 являлось обеспечение скорости отрисовки, достаточной для комфортной работы.
Ведётся разработка GIMP 2.10, где управление тайлами уже выполняется через GEGL, а часть фильтров заменена на операции GEGL.
Функциональные возможности
Текущие возможности 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 используется в следующих приложениях:
- GnomeScan[7] — простая программа для сканирования, созданная для рабочего окружения GNOME
- Niepce Digital[8] — приложение для фотографов в стиле Adobe Photoshop Lightroom и Apple Aperture
Примечания
- ↑ The GNOME Development Site
- ↑ [Gimp-developer] The Mark Shuttleworth offer
- ↑ [Gimp-developer] 2.4 release date
- ↑ Bounties and the GIMP
- ↑ http://web.archive.org/web/20061012053435/http://pippin.gimp.org/bounties/dysfunctional-bounties
- ↑ The GUADEC meeting — gegl-developer forum — gimpusers.com
- ↑ GnomeScan — GNOME Live!
- ↑ Niepce — GNOME Live!
Ссылки
Категории:- Графические библиотеки
- API
- Свободные библиотеки программ
- GIMP
Wikimedia Foundation. 2010.