Photoshop-like brush texture blend modes

I ended up implementing the PS way of applying texture to the brushes (technical information from the past here: ⚓ T14345 New texture blending modes for the brushes).

There main reason why I did it, despite the current way being preferable (according to that past thread: https://krita-artists.org/t/brush-engine-is-it-possible-to-have-a-pattern-blending-mode-like-this/), is to ease the porting of PS brushes (that’s obvious). On these two past years I’ve seen some interest from different people.

So, this is how it goes. This is not a 1 to 1 mapping from photoshop since Krita works differently (for example, it has mapping curves and PS does not). But the PS look should be very easy to mimic whit this. Instead of adding some other entries to the combo box, I added just 1 toggle option named “soft texturing” with tooltip “Apply less texture when the strength is lower. Use this option if you want the brush to transition between un-textured and textured appearance”. So, the blend modes are the same, but that option changes how the strength influences the texturing. If it is unchecked then the texturing behaves as it does now: the texture is applied no matter the strength but, the lower the strength, the more the stroke seems to fade away; If the option is checked then, the lower the strength, the more un-textured the stroke would look (making it look like PS). One drawback is that ps maps the pen pressure to the depth option differently for “height”/“linear height” and the other modes, so for to get the same results you have to invert the curve. If you want to know more technical info or what I think of the PS way of texturing you can check the merge request here: Add Photoshop-like brush texturing modes (!2068) · Merge requests · Graphics / Krita · GitLab

Test packages:

I think this is a good compromise between user-wise complexity and functionality, if you have any suggestion on the naming of the option or other things, please comment. I leave a video showcasing the thing:

21 Likes

That looks cool

Superb!
(optional and for exploration : find a way to mimic photoshop style dual masked brush, if technically possible).

Krita 5.3 would come with great upgrades. I need to recommend this software more and invite people to donate/support it.

1 Like

Hi, I will read it and test it asap. Thanks for all your work

Thank you! I really like the new option. The previous parameters made the brush transparent, which I didn’t want.

I have not tested it yet but I want to give you a major bravo for pulling this off! I’ve been spending a lot of time lately porting Photoshop brushes to Krita and this would have helped a ton. Fingers crossed it can eventually be merged into Krita officially

4 Likes

Hi I left here, some images about how PS uses Texture

The textured used is this. So everybody can test and see the results

If this help me to compare please let me know @Deif_Lou I have 2 days more of PS
If you are going to spend time in this I am willing to renew my subscription until we end this because I think This is very important for the people who want to port his brushes and also engage more users who are used on how PS understand texture world. For me Krita is amazing in terms of texture. It has even more blending modes for texturing but who knows what can we discover. asap I will Publish Your Release results

DOWNLOAD HRES IMAGE: textura PSTextura.png - Google Drive

Note: I choose that texture because it has greys ,blacks and whites. A full Range but if you want to test with another please let me know

Note 2: Spoiler

2 Likes

I have ps subscription, don’t worry. Hence, i’m more interested on how well this addition helps replicating brushes than how ps works.

I see in your first screenshot that you don’t have the “texture each tip” active. That means that the texture is applied to the whole stroke at once, but that is not implemented yet in Krita.

1 Like

Ok, lo thanks for your fast answer. I think Tha the “each tip” feature effect is visible depending on spacing. More spacing more Similar to each tip =deactivated.

Can this mode, each tip=deactivated to be tricked or simulated in Krita?.

1 Like

That is normal, if the tips don’t overlap the result should look identical.

Well, no that I know of. It seemed also harder to implement last time I check.

1 Like

PS TEST
img 01

Here I go with an interesting testing. Texture each tip creates the full opacity much easier. The effect visually is doing some tipe of “Clamping values” because we reach the top of opacity mixing dabs. It is curious because the spacing is 4 as a value that is really common in ps brushes,
img 02


KRITA TEST (5.2.2)
NOW i am testing in Krita and i have discovered that Brightnes is in reverse way.

img 03


How weird is this. So maybe this is confusing also new users. Let me know. maybe other devs can give some light.
The same Brush.
Krita. Size 200. Op=on Flow=off Strength in texture =off Bmode= Multiply, invert=off

img 04

Here we can see an interesting thing. Please compare with PS img 01
img 05

I would like to know if this helps to understand better the differences between PS and Krita in terms of texture and parameters

And here is the Multiply with invert =on
img 06

Important Note: in Krita FLOW pen input has been disabled during these tests. flow was at 100.
In PS i was using Opacity =100, controlled by pressure and FLow = 100 Controleed by= off
If you activate Flow in Krita the precission can be more accurate if we are talking about saving midle tones or greys in the brush stroke

Also is important to note how spacing really works in PS
img 07
![PS How Spacing Works in Ps|400x311]
(upload://fe7CS53BLIGx1NoFiIrBhIqSy7Q.png)
In PS when Spacing is Ticked, is like Krita spacing unticked. (or Auto). Works equal. But when IN PS is unticked, is getting crazy because it uses Speed to separate Dabs. I remember time ago (in 2000´s) this was much more interesting and controllable with less speed. So probably has broken hundereds of the old master´s brushes.

I have noticed that PS doesn´t care anymore for his painting users.
No texture Offset
No good amount of Blending modes
No curves (years with these limit, I don´t know how people can support that.
No realtime in a duplicated view. what? :open_mouth:
No good color selector by default. Why forces the user to use sliders with color Wheel?
No General Pressure curve at least in settings to manage your pressure input.
No Single Key Shortcuts are allowed. C´mon!

My Feedback
Then How is your new feature help the PS user? If we want to make like inverse engineering, then maybe this is the road. Personally if i want a brush with texture, I never use a brush that doesn´t have texture at the beggining and increase with pressure (my own personal taste, please don´t see this as a rule.
Sorry if i don´t understand how is this feature “soft Texture” related with PS. Could you explain me with some images? Or another Krita´s user please let me know if this is helpful for you.Anyway thanks for your job @Deif_Lou

Download the krita brush for testing b)_Basic-2_Opacity_TEXTURED_AS_PS.kpp - Google Drive
Download the PS brush for testing. Testing texture.abr - Google Drive

1 Like

This feature only has to do with how the strength influences the application of the texture to the dabs, not any other parameters in the texture section. Invert and other options are applied to the texture previous to the mixing of texture and dab.
The current method was preferred when debating in the other thread. It applies the strength similar to how the old multiply and subtract modes in krita did, wich is similar to how the height/linear height in PS do it: it influences mainly the dab’s pixels contribution to the mix which gives an effect of “low strength = the stroke is still textured but dissapears”.
On the other hand, in PS, the modes other than height and linear height don’t work like that. For those, low “depth” means that the dabs look less textured and more similar to the un-textured dab. And that’s what I implrmented here. To avoid repeating the same entries in the combo box but with some “(photoshop)” suffix, I just added a toggle to switch the behavior.

Then all the testing here it would be for another task. Anyway interesting info. Thanks

I tested the soft texturing in heights and hard mixes modes. May be it depends at brushtip, but with super flat tips it seems doesn’t do any work – it fades in solid color very, very fast. I need to hold pen at the tip (near eraser) and almost not to press, in order the texture to be appeared.

The whole Idea of hard mix and height modes is to use certain non-dominant amount of texture in half-tones and in-between values transitions. Actually its somewhat hard to achieve 1/1 feeling of texture transfer like in PS, no matter how I tried with curves. Krita does job, but In Photoshop it is feel more subtle\gentle a transition between texture and solid color. Adding a mask brush (like I used in Krita 4, before extension of texture blend modes) gives more subtle results, but tweaking it to synchronize all curves is really consuming task.

Also I don’t think we need to invest much time to pinch all this together if we talk about ability to import PS brushes. When algorithm of .abr will be found out, the roughly match between behaviour in PS and Krita will do the work. For example, in Clip Studio Paint (which support drag’n’drop .abr) Height mode of PS behaves like Linear Height. Also CSP mismatch of spraying effect and other minor things. And, tbh, the more you gain experience, the less you depend from tool options.

Still, may be I too nagging or missing something.
Here is the PS abr and Krita bundle superflat brush that I compared. The brush works with Hard Mix mode. Patterns are different, but that desn’t matter much in order to feel difference.

First of all, in your PS brush you have the “texture each tip” option deactivated. Krita does not implement that mode yet. To correctly compare you have to check the “texture each tip” option.

Second, the equivalent with photoshop hard mix for brush texturing is “hard mix softer”, not the plain “hard mix”. PS seems to use a special hard mix for brushes that does not have super hard edges, so this softer mode was made because the dual brush already used the normal hard mix. So instead of changing how that looked, I added a new mode, for retro-compatibility sake.

Third, as I explained in the first post, PS maps the pressure to the depth differently for height and linear height than for the other modes. Here I made it behave all the same and consistent with the previous texture modes. This means that to replicate PS you have to make an inverted curve, so that low pressure means high strength and viceversa.

2 Likes

Actually I tested all Hard Mixes and Heights in Krita, with inverted, standart, v-shape and inverted v-shape curves. But you are right, I forgot about texture each tip. I checked again, and yes, effect with enabled option is close to Krita.
Thanks for answer.