When a layer is applied in inherit alpha mode, then the blending should happen only via source alpha value. Destination alpha should not be mixed into it, because it will create halos around the shapes. Conceptually, it works as if the backdrop alpha value were zero.
- Windows: https://yadi.sk/d/LwK1uXxECb5k4w
https://yadi.sk/d/422X3YFqCPg9Hw(UPD: correct package https://yadi.sk/d/no94Gj_R9dXXxw)
Test case 1
- Create an image with two layers
- Paint something on the first layer
- Activate “Inherit Alpha” on the second layer, set the opacity of this layer to 50%
- Try to paint on the second layer
- Compare the behavior to the official build of Krita (https://krita.org/en/download/krita-desktop/).
In the official 4.3.0 builds: there should be bright halos around the background strokes In this patch: there should be no halos around the background strokes
You can also try some other features, e.g. “Color Overlay” layer style. But take into account that the patch only changes “Normal” blending mode.
Here is a prepared testing file: https://bugs.kde.org/attachment.cgi?id=130486
Krita 4.3.0 (incorrect blending)
This patch (correct blending)
Test case 2
- Create an empty layer, paint something on it
- Activate “Lock Alpha” on this layer
- Set brush opacity to 50%
- Try to paint with any brush that works in BuildUp mode. Or with any ColorSmudge brush.
The brushes should work “in expected way”. I personally couldn’t see any difference, but it should be there
Questions to Painters
- The patch changes the behavior of “Normal” blending mode in “Inherit Alpha” mode. Is this change acceptable?
- May it cause harm to any existing files that painters own?
- Should we implement any backward compatibility mode? (It can only technically be a global switch with Krita restart)
- The patch may theoretically change how brushes in BuildUp mode (or ColorSmudge engine) work in “Locked Alpha” mode. Can you reproduce any changes in existing presets?