[Gegl-developer] Introduction to GEGL Buffers
Øyvind Kolås
islewind at gmail.com
Tue May 12 03:57:09 PDT 2009
On Mon, May 11, 2009 at 9:48 PM, Jerson Michael Perpetua
<jersonperpetua at gmail.com> wrote:
> I'm back and I've changed. I don't want to be verbose anymore. So,
> without further ado... Wait, let me just say this: GeglBuffers are
> awesome! Now that that's out of the way, let me tell you exactly why
> GeglBuffers rock. :)
This is a good introduction to the architecture of GeglBuffers and shows
a good understanding of what they currently are capable of. It could
probably be integrated in the current documentation [1]
What follows is a blue-sky wishlist of features that should be possible
to add to the architecture making it and GEGL a powerful base.
- Add GPU based means of setting and retrieving pixel data with a
unified CPU/GPU storage (an important initial part of making GEGL GPU
accelerated.)
- mmap the tile data in the backend instead of reading/writing (port away
from GIO).
- re-enable shared access across processes using mmap (this can currently
be made to work with patches to GIO).
- Make the background/empty color configurable (by making the empty
tile's contents configurable).
- Add abyss policies to be used by resamplers, allowing configuring the
behavior of affine transforms and warping image operations.
- Detect when a tile is set to be a solid block of the background color,
and make the tiled shared with the empty tile.
- Implement backends directly fetching tile data with random access from
image file formats. (tiled EXR and TIFF), some formats with scanlines
or groups of scanlines as tiles.
- Implement backends relaying tiles from OpenStreetMap or other http
based tiled mipmap servers.
- Add a webserver that serves tiles, perhaps from a different processes
reading the tiles shared by a different process. Allowing web hosted
javascript front ends.
- Use webserver / web backend to implement multi-host read/writeable
image buffers for collaborative painting and networked processing.
- Detect uniformly colored and perhaps other types of tiles and store
them more compactly, perhaps even just compressing tile contents and
share duplicate tiles detected through hashing of their compressed data.
/Øyvind K.
1: http://gegl.org/api.html#GeglBuffer
--
«The future is already here. It's just not very evenly distributed»
-- William Gibson
http://pippin.gimp.org/ http://ffii.org/
More information about the Gegl-developer
mailing list