Введение

Библиотека программирования для обработки изображений.

Generic Graphics Library (GEGL) — это разрабатываемая библиотека программирования для приложений обработки изображений. Она в основном разрабатывается для GIMP с целью добавления поддержки изображений с большей глубиной цвета и неразрушающего редактирования. Частичная реализация была включена в GIMP 2.6, расширена в версии 2.8, и теперь является центральной частью версии 2.10. Многие фильтры готовы к использованию, но значительная работа еще ведется. Цель – полная поддержка всех важных фильтров, запланированных к реализации в версии 3.0. Она также используется в GNOME Photos и gedl.

Дизайн

GEGL моделируется на основе направленного ациклического графа, где каждый узел представляет собой операцию над изображением (называемую "оператором" или "опцией"), а каждое ребро – изображение. Операции могут принимать несколько входных изображений и выдавать несколько выходных изображений, что соответствует наличию нескольких входящих и исходящих ребер (изображений) у данного узла (операции). Система использует модель выполнения по запросу, выполняя работу только при необходимости. Это позволяет получать быстрые предварительные просмотры во время редактирования, а после завершения изменений GEGL повторит те же операции в полном разрешении для финального изображения в фоновом режиме.

Открыть растер

OpenRaster — это формат файла XML, используемый для сохранения растровой графики. Ведущий разработчик GEGL, Эйвинд Колаас, помог в разработке спецификации OpenRaster, чтобы он мог сохранять граф GEGL.

Открытый КЛ

Некоторые операции GEGL доступны в аппаратно ускоренной версии, использующей OpenCL. В 2016 году компания Stream HPC начала сторонний проект под названием GEGL OpenCL, целью которого было портирование большего числа операций на OpenCL. Проект был приостановлен в мае 2017 года, но возобновлен летом 2019 года.