Potential improvements to Inherit Alpha in Krita

The order of operations is: paint layer by layer from bottom to top. When you get to layer 5 for example you have to assume that layer 4 was already composed, although you can still use it for clipping or other.

If I’m not mistaken, you are merging layers 5 and 6 with layer 4 while clipping them also to layer 4. Te result would be as if “single inheritance layer” over “multiple” just acts as if it were over a normal layer. It’s just clipped by it.
The other option would be to clip layer 5-6 with last normal layer (2). But I think what you suggest is saner, less “spooky action at a distance”.

1 Like

If that’s how the composition works currently, that’s going to be pretty difficult to make single alpha masks to work properly or like PS for imported files.

Yes, 6 and 5 are merged down using the alpha of layer 4, before layer 4 is clipped to 3 + 2 and 1.

While this situation wouldn’t show up that often I’d imagine, when it does that’s probably going to be extremely confusing for the artist.

Edit: Now that I think about it, since alpha inheritance is purely a subtractive process, it may not need to be processed in multiple steps? I’d have to see if I can find an example that would break what is expected.

Sorry I don’t really have anything to offer for the more difficult problems but I can at least comment on this.

IDK how PS handles PSDs exported from software that allows clipping of/to groups (I imagine the clipping setting is just lost), but somehow those softwares, in my experience, do manage to successfully pass such clipping info between eachother, even in a PSD, despite the fact that such clipping isn’t possible in PS.

For example, I have routinely exported PSDs from SAI 2 and then opened them for further editing in CSP, and the group clipping is properly intact. So they managed it somehow, not that Krita needs to, I just thought it worth noting that it is somehow possible to include such information, even in a PSD.

I imagine better knowledge of the PSD format is required to do what SAI2/CSP achieved, so imo for Krita it would be enough to just leave these unclipped in PSD export. The user can forgo such clipping if they wish to export it as a functioning PSD, similar to inherit alpha (after clipping mask is implemented).

No one mentioned this?

Clipmask of other software will affect the mixing order of layers (they will be mixed first)

I’m not sure about the plan I put forward earlier…

1 Like

Yes, it seems like the clipping layer and the clipped layer were put on a group and composited together, and then thar composited over the layer below.

1 Like

What should happen if we have a clipping mask at the bottom of a group and the group has the pass-through option activated?

I don’t think you should be able to have a clipping mask at the bottom of a group. If you want that, you should clip a group to a layer instead. Otherwise the layer structure gets confusing.

I don’t think it is possible in Photoshop IIRC.

4 Likes

Krita should just do it the way that has proven to work and pretty much everybody uses it because of that. There won’t be any confusions any more.

They can switch on the clipping mask but it will not have any effect I think.

Photoshop cannot use clipmask in the bottom of a group.
But I recorded a Sai’s behavior:


The conclusion is: in the bottom of a group, Sai opening clipmask is equivalent to invalidation. It just shows itself.

If the group turns on “pass through”, it only calculates the blending mode (together with the composite result below)

3 Likes

So, sai instead of not allowing to set the layer as clipping mask, it just ignores that the layer is set as clipping mask and treats it as a normal layer on that situation. Seems to me better than not allowing to set it as clipping mask. That way it can be moved in the stack while retaining the mode.

5 Likes

Here is a mad idea that can be completely ignored.If this makes you dissatisfied, I wish you could treat it as a joke as much as possible.

Let’s agree that we ignore the compatibility with other app first.

Then what we want is implementation a very complex a alpha inherit relationship in a list looks normaly with as less as possible buttons or operation.

It must be hard or maybe no a perfect way actually.

So, two more likely way are:
1.ignore some needs, maybe current is ok, none of other apps do it perfectly.

2.totally another design to resolve to complex situation.In my eyes, it should be node based for resolving it perfect,like black ink, it’s just a way for expert, not for most of artist, but most of artist may not think current solution has problem.

Yes, the 2nd option does not consider the cost at all, so it just a mad and funny idea.

cheers!

Then the current inherrit alpha is already ignoring the needs of people, it is working okay and is not that complex for existing users. What we are doing is making it compatible with other apps too. There is no issue or lack of clipping mask in krita.

We already this far in the debate so starting from scratch sounds counter productive.

2 Likes

It seems users are still not agree with how this new mode should work :thinking: :sweat_smile:

Don’t really know if you’ve started anything or really want to implement something, but @tiar @Deif_Lou good luck! :muscle:

Grum999

I think we should stop discussing the mode at this stage. Let @Deif_Lou decide what to do. We should just help them test and answer their questions about various scenario. Otherwise we will be going in a circle.

So a request to all new posters please read the entire thread before making comment. One comment and we get back to the never ending debate again. It is really counter productive.

6 Likes

The truth is that many are complicating everything, simply that the feature is implemented and that’s it, I don’t know why others are trying to make it not compatible or want it to be different, the idea is that it works as other users are accustomed.

3 Likes

I understand what you are saying. I think it’s doable. It seems useful, but how useful would be in practice, in terms of how often one would use it to solve some painting problems, I think we won’t know until we can try it.
I’ll think about it.

1 Like

I think what you need is another layer mode to solve complex situations as my said.

As I know, only shader node editor like can do it.But it will be hard to artist who never used 3d renderer.

Actually I love it and try to find out whether it can be done,but when I read Keira’s code I found it can’t be implemented easily.

We cannot make krita into a nodal compositing system.
What @Yuri_B is proposing is in the space of inherit alpha and clipping masks and relevant to the discussion given the title of the thread.

3 Likes

Well, since we want this to become a reality, it’s better to put that on another feature request. It seems more complicated implementation wise, and again, I don’t now if only some users would use it while the others just would see it as noise.
The other mode you proposed shouldn’t be much work on top of the inherit from below we were discussing, the ui is essentially thr same, etc.

2 Likes