Painters we need help in testing - halos around strokes in "Inherit Alpha" layers with transparency

Overview

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.

BUG: https://bugs.kde.org/show_bug.cgi?id=424797

Prebuilt Packages

Test Plan

Test case 1

  1. Create an image with two layers
  2. Paint something on the first layer
  3. Activate “Inherit Alpha” on the second layer, set the opacity of this layer to 50%
  4. Try to paint on the second layer
  5. 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

  1. Create an empty layer, paint something on it
  2. Activate “Lock Alpha” on this layer
  3. Set brush opacity to 50%
  4. 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 :slight_smile:

Questions to Painters

  1. The patch changes the behavior of “Normal” blending mode in “Inherit Alpha” mode. Is this change acceptable?
  2. May it cause harm to any existing files that painters own?
  3. Should we implement any backward compatibility mode? (It can only technically be a global switch with Krita restart)
  4. 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?

Post copied from MR by @dkazakov

1 Like

If I wasn’t told it was a bug I would have thought it was a step density issue :sweat_smile:

Hi, all!

The appimage package link is wrong in the original post (Windows’ one is okay). I’m building the updated one now.

UPD: correct AppImage package is here: https://yadi.sk/d/no94Gj_R9dXXxw

Please let us some days and no hurry if possible to decide. Thanks

1 Like

Top is the old behavior, bottom is the new one:
(Document is sRGB with linear gamma)

It can change the resulting look quite noticeably. The new behavior with the colors mixing proportionally in the semi-transparent areas is more like I’d expect - even if subjectively a bit more boring looking :stuck_out_tongue: .

I personally don’t have any documents where this change matters, but I can see how it could be good to have some compatibility mode for it.

As for the build-up mode and smudge brushes - I haven’t noticed any difference so far.

Edit: Okay, I can spot the difference painting over low opacity areas on the alpha locked layer with a build-up mode brush.

Here again, the new implementation seems cleaner.

1 Like

Oh thank god!
Yes, I can confirm that the halo is gone, and I’m so happy to see it.
I’m not sure when this bug first appeared, but I don’t think it’s always been there, now was it? I don’t remember it being a problem in distant (>1 year ago) past, but then it suddenly popped up on files that previously didn’t have it, and it frustrated me to no end. Or maybe it was caused because of me updating the operating system/graphics card? I’m unsure. Point is: I hated the halos, and I could not be happier that they’ve been fixed.

To answer the questions proper:

  1. Is this change acceptable: YES, and very much desired.
  2. May it cause harm: It could, possibly. I personally don’t have any files that rely on the halos being present - I found them a nuisance - but I can imagine some people would find a way to enhance their art with them.
  3. I think it would be good to keep it an option. Snudl’s example shows that the old version can give you very nice looking results. I would, however, make the new behavior the default.
  4. I extremely rarely use buildup mode brushes, so I don’t have enough experience to really comment on the matter. I can see a difference, but have no opinion on whether it’s better or worse now.

Hi, all!

Thank you for the testing! Especially for the illustrations of how the brushes can change the behavior! :slight_smile:

Since there was no real objection to changing this behavior I will merge the patch in its current form, without fallback settings. I think we should link people to this thread when doing the release, so that they knew what to expect :slight_smile:

1 Like

Hi, is this merged? I would like to test a bit more if possible, one day or two

I have just merged that and requested a build on binary-factory, please check this link in about an hour to get a package:

https://binary-factory.kde.org/job/Krita_Stable_Windows_Build/836/

Hi i have noticed blending mode for patterns have changed. Really interesting. So i have fixed the brush i have noticed not working well due i was using the old blending modes with cut off pattern.
Here is the fixed version if helps. https://drive.google.com/file/d/19LMRj3gKPSX-8nWrtmJlVWMxbY3sYJl4/view?usp=sharing

For the halos, i think is ok. Here the reference and the correct version works fine. i don’t use Build up in painting mode since i am using the trick dissabling the opacity and use flow as opacity curve with wash mode. Really easy and useful.