Selective Color Channel Blending for Smudge Brush

I’m surprised this feature was already discussed three year ago but never implemented. The “preserve alpha” feature does not allow the ability to paint over transparent pixels and does not allow the paint behavior I’m looking for. I guess I need to post another video to demonstrate that the “preserve alpha” function will not work for my intended purposes.

@tiar Is this the feature you thought I was talking about? This will not work for my purposes. Hopefully I don’t have to post any more example videos. I apologize if I sound like I’m losing my patience :face_with_head_bandage:.

@tiar Based on your last post you seem to finally understand what feature I’m trying to request to be implemented for the smudge brush since you posted a link to an older thread with a similar feature request

Whenever you get a chance to look at these following two videos I already posted, please take a look again:

@dkazakov My brother has a basic working knowledge of Python. Where is the file for the smudge brush located?

I’ve also been suffering from this problem mentioned by Storm Engineer in the old kde forum, krita’s smudge engine will bring the transparent part of the layer further and further into the opaque part by each swipe, which is unnatural and eventually makes your layer transparency super messy, but in other software like mypaint, sai, clip studio paint or painter, you only get to effect the edge a bit, depending on your wetness settings you might be able to go further, but you won’t be making your whole opaque part transparent after putting down some brush strokes.
I made 2 gifs to demonstrate the difference, one’s from krita and the other one is from mypaint.

(I hope my words were clear enough, English is not my native so I apologize if they were confusing.)


I’m talking from the implementation point of view. You asked for selective color channel blending in smudge brush, but it would give (in case of the alpha channel) the exact same behaviour as the alpha locking feature switched on gives. You said you want something else (the behaviour presented in Corel Painter), which means you don’t want selective color channel blending. In my opinion what you initially asked for is not what you want. It’s important to be precise in case like that because if someone comes to this thread and decides to implement it, it won’t be good if they spend a lot of time implementing something that is not what the user wants.

So, let’s focus on the behaviour you want. From the video I see that the wet brush (since it both adds color and blends colors) can paint on the empty canvas, which means adding transparency (before the stroke, the transparency is 0; after the stroke, transparency is above zero), which is what can be done now with the wet brushes in Krita with alpha lock turned off (with it on, it’s not possible to change transparency whatsoever). On the other hand, there is no case when the transparency goes down: transparent pixels don’t wander into areas that were previously painted on. Is that consistent with what you want?

That somewhat sounds like the behavior in the second part of this YouTube video I originally showed. Notice the behavior of the brush after I clear the layer:

That was annoying for me also - this blending in alpha channel. Maybe locking or limiting decreasing alpha (changing the alpha blending strength) could help… That is really hard to judge teoretically, only test can prove something.


Hi, @Rigognos!

Thank you for the videos! Now I seem to understand what you mean. I will think about it…

1 Like

Hi, @Rigognos!

Could you please test this package? Does colorsmudge brush work as you expect it?

If yes, we only need someone to implement proper GUI for this patch

1 Like

So far, I’ve been yielding satisfactory results with this pre-alpha version. I got interesting results when I set “color rate” to fade on the smudge brush. I can now get the smudge brush to behave like an oil pastel or wet oil paint. I’m hoping @RamonM can do a better job demonstrating this experimental feature than I would.
Before including this feature in the latest stable version of Krita, make sure you can find a way to enable toggling this feature on and off in the brush editor.

Hi, @Rigognos and @RamonM!

Could you please test this package? Now there is “Smear Alpha” checkbox in “Smudge Rate” option that should be unchecked to get the effect you need.


I have just downloaded the DK1. Wow my first reaction was :hushed::clap::clap::clap: this has a lot of potential. Awesome work really . Thanks also @Rigognos for the sugestion

Please make sure that you downloaded DK2, where the option is switchable :slight_smile:

1 Like

First test, and i say i need more testing. I have good vibes sometimes. Ugly guy, if you want delete it :smiley:

Just a test. later i will test this with Digital Atelier resources and rgba brushes. i like how the color is dragged or moved.

1 Like

I’ve just tested the Smear Alpha toggle on the scratch pad in the brush settings and smear alpha does not seem to affect the scratch pad. This would make sense if the scratch pad is a single layer of opaque white pixels. Some changes might need to be made to the scratch pad in order to make it easier to test the smear alpha setting in the scratch pad.

Scratch pad in a single layer filled with white without any transparency, so, yes, the option doesn’t do anything to it. I’m not sure we should really fix that :slight_smile:

Okay, I have merged the patch into both master and krita/4.3. From now on, all the bugs to it should go to bugzilla :slight_smile:

I’ll set the auto-close timer to the thread.

1 Like

I have just noticed a potential bug in the latest alpha build for this new smudge brush feature. After unchecking “smear alpha”, the opacity of the brush stroke seems to be effected by the “smudge length” parameter. As smudge length is increased, the maximum opacity of the brush stroke also increases. In the example image below, the more opaque brush strokes have a higher smudge length setting than the less opaque brush strokes. All other settings are kept constant. So far, I have tested this problem for both smearing and dulling modes for the smudge brush and the same problem occurs in both modes. I’m hoping there is a way to prevent the smudge length setting from affecting the maximum opacity of the brush stroke.

This topic was automatically closed after 4 days. New replies are no longer allowed.