On Wed, May 20, 2009 at 9:07 PM, Daniel Johannsen <d...@danieljohannsen.de> 
> Hi,
> yes, your assumption is right. I start the painting process with layers
> only for shapes and silhouettes.
> Then i add a "layer group" with the mask property (or in photoshop-terms
> a group of "clipping mask"-layers)
>  to each of the shape-layers. The layers inside the layer group mask define
> volume, texture, athmospheric perspective, etc. of the shape they are
> connected to.
> So to say, the layer group mask has the property of a transparency
> value. This value is defined
> by the alpha-value of the layer the group is assigned to.
> Here is a link that shows the photoshop approach quite well:
> http://photoshopcontest.com/tutorials/23/clipping-mask-101.html
> You are absolutely right, every layer in the layer group should maintain
> their independent transparency,
> but in addition inherit the transparency of their layer group mask.

GEGLs XML format implements such per composition subtree masks. It
even allows building these masks using other filters, allowing for
instance to create a mask for a layer group using a blurred text
layer. I've found the underlying technical approach used to represent
the GEGL compositing graph as a tree in those systems to provide all
the power that should be needed. Finding sufficiently rich mappings to
a user interface most probably using some higher level abstract
compositing operations remains a challenge for GIMP in exposing such

An example composition following the underlying model of OpenRaster
using low-level operations:

       gaussian blur
       render text
     some more noise
     some more noise
   some noise pattern

Some of the low-level ops like the combination of translation and a
compositing operation like over (and perhaps even the application of
opacity) can be folded into a single UI level concept to avoid having
too many individual items in the compositing tree. What the aboive
example renders is three noise layers that are combined with different
layer modes, a blurred piece of text is used as the overall group
opacity for the noise and the noise itself is composited over a
checkerboard background. Finally the whole image is cropped (this crop
op would probably in fact be the canvas dimensions).

See http://create.freedesktop.org/wiki/OpenRaster ,
http://pippin.gimp.org/oxide/ and http://gegl.org/ for more
«The future is already here. It's just not very evenly distributed»
                                                 -- William Gibson
http://pippin.gimp.org/                            http://ffii.org/
Gimp-developer mailing list

Reply via email to