Hello Martin, On Sun, Nov 9, 2008 at 4:36 AM, Martin Nordholts <enselic@xxxxxxxxx> wrote: > 2. With a 100% opaque Addition mode layer put on top a completely > transparent layer, the resulting composite becomes 100% opaque > containing the unblended Addition mode layer pixels when using GEGL, but > completely transparent when using legacy compositing. Ah, so if I want to make the result preserve the alpha of the underlying layer, I'll need to do that via layer mask? FWIW, since you changed the meaning of the layer modes, is this a good time to make compositing gamma-correct? Currently, GIMP blends pixels as if they had gamma == 1.0, whereas the typical is sRGB (approximation of gamma 2.2). I thought GIMP would do this as it was switched over to GEGL; it doesn't currently. Evidence: 1. Create a new square image (with sRGB profile or no color profile) 2. Fill with black 3. Add another layer 4. Draw a radial gradient white->transparent 5. Set layer mode to Addition 6. Toggle 'View->Use gegl' on and off. The result is identical; rather than showing a linear blend white -> black, an exponential blend (ie sRGB) white->black is shown. Small example images attached, 'wrongblend.png' and 'rightblend.png'. IMO it is correct for GIMP to produce results similar to 'rightblend.png' when GEGL use is enabled. > The current plan is to have add kind of compatibility rendering mode so > that old .xcfs will render the same as in old versions of GIMP also when > using GEGL. In this case, we should definitely aim to have gamma-correct blending. Legacy compatibility for gamma can be done by binding our current behaviour (pretend the data is gamma 1.0 while it really isn't) to the 'legacy rendering' option (presumably auto-triggered on detection of legacy XCFs) David
Attachment:
wrongblend.png
Description: PNG image
Attachment:
rightblend.png
Description: PNG image
_______________________________________________ Gimp-developer mailing list Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer