related topics
{system, computer, user}
{math, number, function}
{specie, animal, plant}
{line, north, south}
{disease, patient, cell}

The Generic Graphics Library (GEGL) is a programming library under development for image processing applications. It is mainly developed for GIMP in order to bring support for higher bit depth images than GIMP currently supports, as well as non-destructive editing. It has been partially implemented in GIMP 2.6,[1] and may be used by other software too.

Historically, the GEGL mascot, a five legged goat envisioned and brought to life by George Lebl,[2] found life as an easter egg in GNOME desktops.[3]


GEGL design

GEGL is modelled after directed acyclic graph, where each node represents an image operation (called "operators" or "ops"), and each edge represents an image. Operations can in general take several input images and give several output images, which corresponds to having several incoming edges (images) and several outgoing edges (images) at a given node (operation). Work is processed by an on-demand model where it is done only as required.

Using an on-demand model allows features such as having very quick previews while editing, and once the user has finished making changes GEGL will repeat the same operations in full resolution for the final image in the background (like xRes).

GEGL operators

An operator (op) is a node within a GEGL graph responsible for one action; ops can be simple, such as "add" (taking two inputs) or "premultiply by alpha" (taking one input), or more complex, such as colorspace conversions.


babl is a support library for GEGL which provides a generic way to deal with color space conversions;[4] This is done by abstracting the fundamental color operations so that GEGL does not have to be as aware of them. Through babl GEGL provides an optimized and powerful (optionally with SIMD support) treatment of arbitrary color data; This enables dependant applications to efficiently support a wide range of color spaces (from 8-bit RGB to full floating point CMYK) with minimal extra application code.


OpenRaster is an XML file format used for saving raster graphics. GEGL's lead developer Øyvind Kolås has helped specifying OpenRaster so that it is capable of saving a GEGL graph.

Full article ▸

related documents
Reduced-carrier transmission
IBM System p
Vertical interval timecode
Intel 80486DX2
MOS Technology 6510
Microphone array
Intel 80186
Television receive-only
Carrier sense multiple access with collision detection
Transatlantic telephone cable
Low-power communication device
Double-sideband suppressed-carrier transmission
Intel 8008
Risc PC
Personal Area Network
Mouse gesture
AMOS (programming language)
Freescale DragonBall
Pine (e-mail client)
IBM 8514
Session Description Protocol
Wikipedia:Federal Standard 1037C terms/computer hardware terms
Round-trip delay time
IP over Avian Carriers
Information technology