Re: blurb about gegl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here is the latest version of the GEGL blurb for the article me and my
colleagues are writing.

Nicolas Robidoux
Universite Laurentienne

----------------------------------------------------------------------

GEGL, the GEneric Graphics Library, is an object oriented
DAG-based image processing and compositing system. Developed in C,
GEGL is expected to bring non-destructive editing, high dynamic range,
and improved handling of very large images to the next major release
of the GIMP (GNU Image Manipulation Program).  GEGL is free and open
source and runs on most operating systems. Nohalo, under the name
``sharp,'' is an integral part of GEGL, and its source code
(gegl-sampler-sharp.c) can be downloaded from gegl.org.

GEGL is ``image type agnostic,'' relying on an external library (babl)
to convert all (suitable) image data to and from linear RGBA float
buffers.  This greatly simplifies the code base, since only one data
type is handled by most methods. (This is expected to change in the
future.)

Intended for interactive use by graphic artists and other real time
uses, GEGL is structured so that the task-defining DAGs are fully
dynamic. For this reason, GEGL is demand-driven, meaning that output
pixel values are computed somewhat independently, each pixel
``pulling'' the needed input data through the DAG, performing needed
operations along the way.  With this data processing model,
implementing a separate gradient module for Nohalo is not really an
option, since it would add an extra node to the DAG without allowing
the recycling of slopes common to several output pixels.

For these reasons, Nohalo is implemented as a ``single stage'' method
in GEGL.  Basically, the method receives the double precision
coordinates of the sampling location within the input image and a
pointer to a memory location which receives the computed values.  A
key aspect of the implementation is that the method requests a pointer
to an input pixel within a buffer guaranteed large enough to contain
the stencil. A fairly complex machinery allows the buffer to be used
for several output pixel computations and fills in missing values
according to the abyss policy if necessary.
_______________________________________________
Gegl-developer mailing list
Gegl-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer

[Index of Archives]     [Yosemite News]     [Yosemite Photos]     [gtk]     [GIMP Users]     [KDE]     [Gimp's Home]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux