
Besides of various form of brushes with textures, he use a blending brush with mapping – sort of clone/stamp tool with ability to blend-in into existing picture. I watch his process - he use textures a lot. Even now, glazing at small 400px preview I feel this illusion. He is really a master of creating an illusion of traditional look in digital painting. That why I put the Greg’s landscape as the example. More brushes with various tips, textures and blending modes help to step away from monotonousness of digital brush. The matter of those blending modes, texture abilities, color dynamics in brush tip and stroke is to dilute “digital” effect. But to know this, we need to know what this problem is and think about what might be other makes calculation doing brushstrokes, so you can easily define digital and traditional painting. Could you please explain to me why you think so? What is special about the height mode and the hard mix modes? Why the same (or really similar) effect cannot be achieved using other modes? What is what you need from those brushes that you cannot get using Krita’s brush engines?Įxplanation of your goals instead of your means would be useful because we already know it’s hard to guess what exact math is doing this magic, so it could be easier to just solve your problem in a different way than using the height blending mode. I can provide you the files for gradients so they are useful, but only if you want to try to dissect this.Īlthough to be honest, I can’t see a reason why the picture you posted couldn’t be made using different kinds of brushes.
#KRITA BLENDING BRUSHES CODE#

I made sure my commits build individually and have good descriptions as per KDE guidelines.(If not possible, don't hesitate to ask for help!) I tested the relevant unit tests and can confirm they are not broken.I confirmed Krita ran and the relevant functions work.The linear burn mode looks fine but the result would be as the subtract mode with the texture inverted, so I didn't include it.For an example of the ugly effect choose a brush with no texture and select masked brush with a very large tip. In the case of the masked brush it can work because the mask can be smaller than the tip, but in the case of texturing the mask extends indefinitelly. I didn't include the linear dodge mode since the results are not great.I find this method more pleasant for brushes. Maybe it could be used in the masked brush also. It is a variant that doesn't produce super hard, aliased, edges, as explained in the task. For the hard mix mode I use a method that approximates the one used by Photoshop in the texturing of brushes.

See ColorBurnBlendStrategy::apply for an example of simplification. Maybe it would be better to modify that function and then it could be used here.

In the task it is explained how the strength parameter could be applied in three different ways, I chose the second one in which the strength weights the dab contribution. This MR implements the texturing modes explained in T14345.
