Jump to content

GEGL

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Robertwhitinger (talk | contribs) at 23:26, 8 April 2012 (Corrected date). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

GEGL
Initial release2000 (2000)
Stable release
0.2.0 / 2 April 2012; 12 years ago (2012-04-02)
Repository
Written inC
Operating systemCross-platform
TypImage processing library
LicenseGNU Lesser General Public License
Websitewww.gegl.org
Historically a GNOME easter egg, the elusive GEGL (a five-legged goat) was captured here in this 2002 screenshot (detail).

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] will be used directly in 2.10, [2] and may be used by other software too.

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

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.

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

babl is a support library for GEGL which provides a generic way to deal with color space conversions;[5] This is done by abstracting the fundamental color operations so that GEGL need not be 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

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.

History of GEGL

GEGL was originally conceived as a GIMP core replacement in 2000, finally in 2006 the external API was deemed stable enough and capable of replacing the GIMP core. On 20 December 2007, it was added to the development version of GIMP. Some of GIMP's tools have already been converted to GEGL operations; mostly tools which modify colors, brightness or contrast have been converted.

See also

References

  1. ^ "GIMP 2.6 Release". Retrieved 2008-10-01.
  2. ^ "Gimp 2.10 announcement on Google+". Retrieved 2012-03-15.
  3. ^ George (Jiří) Lebl (2007-12-16). "Stuff of Jiří Lebl (or George)". Retrieved 2008-03-21. I'm a big supporter of free software and if I do work on free software it is mostly on GNOME.
  4. ^ Christian and Steve (2002-02-02). "GNOME Summary - 2002-01-20 - 2002-02-02". GNOME Developer News. Retrieved 2008-03-19. Up to this point this game has been considered just another Urban Legend by the summary editors, but no more.
  5. ^ babl website