Questions about mypaint brush engine

1.How to adjust the “spacing” of mypaint brushes? I tried to modify “Dabs per actual radius” and “Dabs per second”. But some brushes are very scattered, and some brushes are very concentrated. Could it be that “Dabs per basic radius” that krita lacks is working? (It is not a new parameter of 2.0, but krita does not have it)

2.How does “colorize” work? I feel it is a bit like opacity. But it’s a little different.

3.What is “extreme physical speed”?

Fine Speed Gamma

This option is used to change the reaction of the fine speed input to extreme physical speed.

Gross Speed Gamma

This option is used to change the reaction of gross speed to extreme physical speed.

4.The maximum value of “radius logarithmic” in “General” is 7. But the maximum value in “basic” is 6. In mypaint, it is 6. Krita may be used to expand the size of the brush, but after it exceeds 6, the “size” will not be changed.

Bugs of mypaint brush engine‘s “eraser” option could be due to changing mypaint’s behavior. The “eraser” in mypaint is an amount that varies with the curve. Setting it to 1 will change the brush to an eraser.
Krita makes this an option. Probably the “blending mode” is used. I can make “blending mode” optional by simply switching tools.

Perhaps the same parameters as mypaint should be used.
Otherwise,maybe mypaint brushes can use other “blending modes”?

1 Like


I think that “Dabs per actual radius” is what effects the spacing. “Offset by random” under speed is MyPaint’s equivalent to Krita’s “Scatter”.

I never noticed that it was missing “Dabs per basic Radius”. :thinking:I see that it’s in MyPaint 1.0.0. But I think the mypaint brushes still behave the same way despite “Dabs per basic Radius” missing.

2.How does “colorize” work? I feel it is a bit like opacity. But it’s a little different.

I can’t find any information about it :sweat:

This is the explanation from the mypaint program wiki page


  • ‘Fine speed filter’: how slow the input fine speed is following the real speed. 0.0 change immediately as your speed changes (not recommended, but try it)
  • ‘Gross speed filter’: same as ‘fine speed filter’, but note that the range is different
  • ‘Fine speed gamma’: This changes the reaction of the ‘fine speed’ input to extreme physical speed. You will see the difference best if ‘fine speed’ is mapped to the radius… -8.0 very fast speed does not increase ‘fine speed’ much more. +8.0 very fast speed increases ‘fine speed’ a lot. For very slow speed the opposite happens.
  • ‘Gross speed gamma’: same as ‘fine speed gamma’ for gross speed
  • ‘Offset by speed’: change position depending on pointer speed. = 0 disable. > 0 draw where the pointer moves to. < 0 draw where the pointer comes from
  • ‘Offset by speed filter’: how slow the offset goes back to zero when the cursor stops moving

I think that’s a bug because it doesn’t change after it’s increased from “6.00”


The best resources I found from learning about what the brush editor inputs do, other then Krita’s mypaint page, is from Ramon’s big tutorial he created a long time ago and from the mypaint wiki page

Even though they were made for a outdated version of mypaint that came out about over a decade ago, they still have some good information. There isn’t a lot of documentation about mypaint’s brush engine available. It’s even worse for newer version of MyPaint’s brush engine with all the new settings added.

A lot of the settings still confuses me a lot. And I almost think you need to be good at trigonometry to do some of the cool effects I’ve seen from some mypaint brushes :laughing:. You may have to spend time experimenting with it to see what each input does


Thanks! I have read these, but did not find the answer to the problem.

According to my understanding, when these values are 0, no patterns should actually be drawn. The experiment in mypaint is also true. But in krita, it seems that “Dabs per basic radius” is set to 1 by default. Even if I create a new brush, I can’t make them spread out

I just found: v1.2 Paint Modes · mypaint/mypaint Wiki (
I think krita did not succeed in porting it…


Colourize: Dark cyan is changed to the same brightness as the orange

  • Brush → Paint Mode → Paint Mode: Colourize
  • Shift+K
  • Toolbar: Rainbow icon in the Blend Modes section.

Painting applies the hue (kind of colour) and saturation (degree of colour) of your brush to whatever you paint on. The value (brightness or darkness) of what you paint on isn’t affected. It’s identical to the “Colour” layer mode. Use this for adjusting colours, or assigning colour to something you’ve painted in greyscale.

I know, in fact, we have a certain ambiguity in the translation of this sentence. So we want to know what “extreme physical speed” is. Could it be the maximum speed limited by the tablet?

It should not be a bug. The maximum value it can reach in krita is 7 (approximately 2200 pixels in diameter), but it does not overlap with mypaint in all respects.


All right. I can basically confirm that everything is a bug except for the “extreme physical speed” problem.
For it, some of us think that it is the maximum limit of the tablet, the maximum speed that the human body can reach, or a certain limit set by the software. Then the actual speed is changed according to it.
Another translation method (also the current Chinese translation) is to change the actual speed to “extreme physical speed”. In other words, “extreme physical speed” is always changing… which is hard to understand

Wait, I found that the parameters such as “opaque linearize”, “Fine Speed Gamma”, “Gross Speed Gamma”, “slow tracking”, “tracking noise” and “stroke threshold” have no curves in mypaint.
There is no response to modifying them in krita. So they should be removed from the curve


Now I think I have a good explanation for it after playing with it. The “fine speed gamma”, “gross speed gamma”, “fine speed slowness”, and “gross speed slowness” parameters under “speed” are suppose to directly affect the inputs/senors “Fine Speed” and “Gross Speed”

For example, let’s say you enable "fine speed" input under “Radius Logarithmic” to change the brush size using fine speed. Slower speed = Smaller brush size. Faster Speed = Bigger Brush size.

If you enable "Fine Speed Gamma", it will make the brush react faster to the input speed. “Fine Speed Gamma” at maximum value makes the brush react the fastest to input speed. Even if you move your pen/mouse very slowly, it will still react as if you’re moving very fast. So the brush size will always be very big at max value.

If you enable “Fine Speed Slowness”, it will make the brush react slower to the input speed. “Fine Speed Slowness” at maximum value makes the brush react the slowest to input speed. Even if you move your pen/mouse very fast, it will still react as if you’re moving very slow. So the brush size will always be very small at max value.

The same is true with gross speed gamma/gross speed slowness when the “gross speed” input is enabled. Here’s two example webms

Looking at mypaint 2.0.1,

“Opacity Linearize”, “Fine speed gamma”, “gross speed gamma”. “tracking noise”, and “stroke threashold” doesn’t have a graph. Only the value slider.

But the “slow tracking” parameter has a graph


Many Thanks to both of you for digging so deep into the possibilities of Kritas brush engine, especially the MyPaint engine, this makes it much better understandable for me.


1 Like

Not necessarily faster, it has negative values. “Extreme physical speed” should refer to very fast speed. After testing, it has almost no effect on low-speed conditions. It might be something like a power function

Its “slow tracking per dab”,not “slow tracking”

1 Like

With mypaint I was able to make the brush I wanted, one that acts according to speed, sadly when exporting it to Krita it doesn’t look good :pensive:

Another thing is that the mypaint brushes that I make in Krita have an error like they do not return to normal if you reset them.

1 Like

In my impression, the similar brushes in “Fizzyflower’s ULTIMATE MyPaint Brush Collection” work well.
I feel that krita is more sensitive to speed

I did not encounter this problem in beta2. I encountered this problem, but it has been fixed

1 Like

I confused myself because the parameters are in a different column order in Krita. :sweat_smile: