Update of bug #20295 (project mypaint):

                  Status:                    None => Need Info              

    _______________________________________________________

Follow-up Comment #1:

(You need to move the top layer so a dark bit and a light bit are over the
background, right? It looks the same before and after if I don't.)

What you've just described is actually how it's supposed[1] to behave when
composited over alpha=0, and all modes will suffer for it to varying degrees.
It's very apparent with lighten and a mid-grey background of course, because
dark bits of the "Lighten" layer will not be shown over that background.


MyPaint composites differently to other programs because we start with a solid
background, and all the editable layers are composited onto that. This results
in lots of oddness for users because this behaviour is different to the way
its own Merge Down operation works!

IMO we should support a real backgroundless display mode (with real alpha
checks) and only support single merge operation, "Merge Visible", which is
only enabled when the background is turned off. Then what you see before the
merge will be precisely what you get after the merge with zero surprises. But
maybe I'm being overly strict!

Maxy favours a Merge Down which picks up the background pixels, making all
strokes solid. I'm not so sure. What if you them move the layer expecting it
to be transparent?



[1] We use the lighten function from the SVG specifications because that is
how OpenRaster is defined. Take a look at the yellow circle in

http://www.w3.org/TR/SVGCompositing/#comp-op-lighten

If the backdrop is empty, the top layer is just used, as if in Normal mode.
It's what you get from MyPaint when you save as a transparent (backgroundless)
PNG, but not when using the program because the background layer is a proper
layer.

Notably, GIMP 2.6 (not sure about 2.8) does something different again: it
somewhat weirdly composites the results of "effect" layers like Burn or
Lighten using what looks like src-in and not src-over _unless_ the effect
layer is the bottom layer in the stack in which case it's treated as a Normal
layer and not an effect.


                      src-over                       src-in
Top layer     -----aaaaaaaaa-------------  -----aaaaaaaaa-------------
Bottom layer  -----------bbbbbbbbbb------  -----------bbbbbbbbbb------
Composition   -----aaaaaaaaabbbbbbb------  -----------aaabbbbbbb------


For an effect layer, the "Top layer" above is the result of blending the
colous of the bottom layer and the _real_ top layer.

    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?20295>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Mypaint-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/mypaint-bugs

Reply via email to