La Biblioteca de Gráficos Genéricos ( GEGL ) es una biblioteca de programación en desarrollo para aplicaciones de procesamiento de imágenes . Se desarrolló principalmente para GIMP con el fin de agregar soporte para imágenes con mayor profundidad de bits y edición no destructiva . Se implementó parcialmente en GIMP 2.6, [2] con más agregados en 2.8, y ahora es una parte central en 2.10. Muchos filtros están listos, pero también hay mucho trabajo en progreso. El objetivo es el soporte completo de todos los filtros importantes en la hoja de ruta en la versión 3.0. [3] [4] También lo usan las fotos de GNOME y gedl.
Diseño
GEGL está modelado a partir de un gráfico acíclico dirigido , donde cada nodo representa una operación de imagen (llamados "operadores" u "ops"), y cada borde representa una imagen . Las operaciones pueden, en general, tomar varias imágenes de entrada y dar varias imágenes de salida, lo que corresponde a tener varios bordes entrantes (imágenes) y varios bordes salientes (imágenes) en un nodo determinado (operación). El sistema utiliza un modelo a pedido, haciendo el trabajo solo cuando es necesario. Esto permite características como tener vistas previas muy rápidas durante la edición, y una vez que el usuario haya terminado de hacer cambios, GEGL repetirá las mismas operaciones en resolución completa para la imagen final en el fondo.
Operaciones
Una operación (op) es un nodo dentro de un gráfico GEGL responsable de una acción; las operaciones pueden ser:
- simple, como "sumar" (tomando dos entradas) o "premultiplicar por alfa" (tomando una entrada)
- complejos, como las conversiones de espacios de color
GEGL también tiene una noción de metaoperaciones, donde una operación puede construirse a partir de otras operaciones (por ejemplo, la máscara de enfoque es una combinación de operaciones de suma , multiplicación , resta y desenfoque gaussiano ).
balbuceo
babl, una biblioteca de soporte para GEGL, proporciona una forma genérica de manejar las conversiones de espacios de color ; [5] babl opera abstrayendo las operaciones de color fundamentales de modo que GEGL no necesita estar al tanto de ellas. A través de babl, GEGL proporciona un tratamiento optimizado y poderoso (opcionalmente con soporte SIMD ) de datos de color arbitrarios; esto permite que las aplicaciones dependientes admitan de manera eficiente una amplia gama de espacios de color (desde RGB de 8 bits hasta CMYK de punto flotante completo ) con un código de aplicación adicional mínimo.
Abierto Raster
OpenRaster es un formato de archivo XML que se utiliza para guardar gráficos rasterizados . El desarrollador principal de GEGL, Øyvind Kolås, ayudó a especificar OpenRaster para que sea capaz de guardar un gráfico GEGL.
Historia

GEGL fue concebido originalmente como un reemplazo del núcleo de GIMP en 2000 por los ingenieros de software de Rhythm & Hues . Finalmente, en 2006, la API externa se consideró lo suficientemente estable y capaz de reemplazar el núcleo de GIMP. El 20 de diciembre de 2007, se agregó a la versión de desarrollo de GIMP. Algunas de las herramientas de GIMP ya se han convertido a operaciones GEGL; principalmente, se han convertido las herramientas que modifican colores, brillo o contraste.
La versión 0.2.0 es parte de Gimp 2.8.xy y la serie 0.3.xy es parte de 2.9.x y de los candidatos a la versión 2.10.0. La versión 0.4.0 es la primera versión de la versión 2.10.0 de Gimp. La versión actual 0.4.xy también es la base de desarrollo de la versión 2.99.x para la serie estable 3.0 de Gimp. La versión 0.5 (o superior como la 1.0) será la línea de la serie estable 3.0.
A partir de la serie inestable 2.9.x, todo el núcleo de GIMP se basa en GEGL, y casi la mitad de los filtros han sido reemplazados por operaciones de GEGL. El objetivo es el 100 % de los filtros de lienzo en GEGL en la versión 2.10 y posteriores. [6]
Históricamente, la mascota de GEGL, una cabra de cinco patas creada por George (Jiří) Lebl , [7] encontró vida como un huevo de Pascua en los escritorios GNOME . [8]
OpenCL
Algunas de las operaciones de GEGL están disponibles en una versión acelerada por hardware basada en OpenCL. En 2016, Stream HPC inició un proyecto de terceros, denominado GEGL-OpenCL [9] , para convertir más operaciones a OpenCL. [10] El proyecto estuvo estancado a partir de mayo de 2017, pero se reanudó en el verano de 2019.
Referencias
- ^ "etiquetas". 25 de junio de 2023.
- ^ "Lanzamiento de GIMP 2.6" . Consultado el 1 de octubre de 2008 .
- ^ "Hacking: Portar filtros a GEGL - Wiki para desarrolladores de GIMP".
- ^ "Anuncio de Gimp 2.10 en Google+" . Consultado el 15 de marzo de 2012 .
- ^ sitio web de babl
- ^ "Hoja de ruta - Wiki para desarrolladores de GIMP".
- ^ George (Jiří) Lebl (16 de diciembre de 2007). "Cosas de Jiří Lebl (o George)" . Consultado el 21 de marzo de 2008. Soy
un gran defensor del software libre y, si trabajo en software libre, lo hago principalmente en GNOME.
- ^ Christian y Steve (2002-02-02). "GNOME Summary - 2002-01-20 - 2002-02-02". Noticias para desarrolladores de GNOME . Archivado desde el original el 2009-04-18 . Consultado el 2008-03-19 .
Hasta este momento, los editores del resumen han considerado a este juego simplemente como otra leyenda urbana, pero ya no más.
- ^ "GEGL-OpenCL". GitHub . 28 de septiembre de 2021.
- ^ "GIMP - StreamComputing lanza el proyecto GEGL-OpenCL". 28 de enero de 2016.
Enlaces externos
- Sitio web oficial
- Archivos de la lista de correo de GEGL