Force-Fade Post-Processing For Line Strokes

Hello, I’m new here ^^ I apologize if this has been brought up before and if it has been, just let me know.
Krita has been the only program I’ve stuck with since 2018 and I love it to bits. There’s just one problem: there is one single thing that I’ve been hoping and praying will be implemented into Krita over the years and that is post-processing for brush strokes.

Of course, I have tweaked tablet and pressure settings to help with having tapered beginnings and ends on all my line strokes, but my hands are not very steady and I can never get the lines to have the tapered ends I’m looking for. I’ve resorted to downloading FireAlpaca and Medibang for lining only, which don’t always get along with Krita’s PSD exported files (both programs immediately crash if I edit a PSD in Krita and then try to open it back up in FireAlpaca or Medibang).

I have a feeling it has been brought up before to add post-processing to line strokes in Krita, but it’s a feature that’s in several digital art programs and it is shocking to me that it’s absent in Krita, especially since Krita was first publicly released in 2004.

Is there a chance we could see post-processing added into Krita soon? I hate having to rely on two other programs solely for line art, especially since both programs instantly crash if I edit the PSD in Krita. (The first time I export it as a PSD from Krita, it works fine in Fire/Medi, but if I open it back up in Krita, see I missed something, then re-open it back in Fire or Medi, the program will crash.) I know it takes time and money to develop new features so there is no rush, I just want to put it out there that Krita and many artists would benefit greatly from having line post-processing.

Thank you in advance!

Picture for clarity on what I’m talking about:

5 Likes

This has been discussed before a lot already (use the forum search to find more) and the gist is that Krita is a raster image editing program from core up and that’s why it is not possible and probably will not be in the foreseeable future, since it will need a completely new type of brush engine and a different way how brush strokes are saved (that is vectors and paths instead of raw pixels on the canvas).

There were a few attempts (or proposals) to bring a new brush engine for that to Krita but so far they never went anywhere, no one actually wanted to implement this or followed up on their proposals.

I see. I have to be completely honest, that’s ridiculous to me that post-processing has been proposed a lot and no one is wanting to work on a way to implement it. Krita is 19 years old and an incredible program (even comparable to Photoshop), but that is the one single thing it’s lacking in the brush engine department. It’s the only program that I would like to use, and I’m sure mouse users would appreciate having post-processing as well.

If the Krita development team doesn’t want to rewrite the brush engine, I don’t suppose a plugin could be made that adds post-processing? I’m not too knowledgeable on plugin creation, but if Krita isn’t going to get a new brush engine anytime soon, a plugin sounds like our best bet for now.

(Also I see you’re labeled as a ‘good helper’, so may I ask how do I get my public profile here unhidden? I checked my settings and the box that hides my public profile is unchecked so it should be visible. Unless brand new users must have a hidden profile for a certain amount of time?)

I guess for non developers it’s hard to understand how basically completely scraping how brushes work in Krita and start over in how they work, is a lot of work for just a team of 10 people who mainly work on improving existing features, without affecting how the software works for current users. But that’s how it is. Krita gets a lot of contributions from volunteers but that also means that sometimes things don’t get done if there’s no one able or willing to do it.

A plug in won’t cut it. The plug in system doesn’t go deep enough into Krita’s core and you can’t change how brushes and the canvas works.

Good Helper is just a title that the forum software that is Discourse awards users automatically when they get a certain amount of solutions in the Support topics. I’m not officially affiliated with the development team or something. However I can see your profile just fine.

This is a feature in numerous raster programs just FYI, don’t think it has anything to do with vector exclusively.

It’s more that it automatically modulates pressure input on the start/end of strokes. For example it’s often used in mobile art apps with touch input where pressure is impossible (but it can be used in combination with pressure to smooth things out further).

1 Like

I think that’s the most surprising part to me, that Krita is open-source and 19 years old, and no one with the knowledge of brush engines has thought to develop post-processing yet. It is completely free software so it’s not maddening that certain features are unavailable, it’s just disappointing I guess. If I had the knowledge then I would absolutely develop a brush engine that adds post-processing, but that is beyond my ability.

Ah, dang. I didn’t think a plugin could do anything but still figured I could ask.

Thank you for your help and explanations though. The thing with my profile is I wanted to check how it looked to others so I logged out to see it, but it shows up hidden like this:

I guess it shows for registered users but not guests? I can see other profiles when not logged in, so I was curious if brand new profiles are automatically hidden for a while. I have it set to not be hidden, so it’s either a site glitch or what I assumed prior.

That’s something I’d want to have in Krita too. And we do have Instant Preview which is a different system but it’s in the neighbourhood of post-processing (since it shows a temporary image of the brush stroke before the actual brush stroke is painted on the canvas - and in between Instant Preview and the actual brush stroke, post-processing could be, in theory, done). However, I don’t actually know those systems well enough to say whether it’s possible, and it would definitely be a lot of work.

i’m pretty sure we already had a stroke post-processing feature request, I think it would be good to merge them so they gather votes together.

5 Likes

So is that the difference between vector and raster? As in vector allows for post-processing? Krita has vector layers (which are a Godsend at times XD) which allows for line editing. Could it be possible that the beginning and ends of bezier curves/vector lines can someday have a, I guess, “slider” of sorts to taper off? It’s been a very long time, but the last time I used Paint Tool SAI I remember it having a line tool that either was or was similar to bezier curves/vector lines that allowed you to edit the line after you make it. It also had a slider to taper off the ends of the line to however fine of a point you need. Is it possible that Krita may support something like that?

I think a decent tapering can be achieved by tweaking the brush settings. There are many options there, but nothing as easy as a one click fix.

Personally, I never felt like this is that important because with a good pressure sensitive pen you can get very nice lines already. But it may be useful to mouse users or some particular styles of art. I agree that this is probably worth implementing, because many users seem obsessed with it.

1 Like

Oh this is hopeful, it sounds like there is potential for tapered line ends in Krita. Your profile says you’re a developer, do you happen to know which fellow developer(s) know Krita’s brush engine well enough to implement post-processing? Maybe bring this up to them to look into it sometime?
I do apologize if I sound pushy or persistent with this, it’s just that Krita is the only program I want to use and line post-processing missing is the only thing that makes it frustrating to use. I can keep using FireAlpaca and Medibang for that for the time being, but I do hope post-processing gets looked into eventually.

Yeah, like I can get decent-ish tapered lines in Krita, but like I mentioned before I don’t have steady hands and I’ve tweaked and messed with both my tablets’ settings and Krita’s pressure setting, but nothing works very well for me to get what I’m looking for. Then FireAlpaca and Medibang always crashing upon opening a PSD that came from Krita is a whole other issue by itself. Then of course artists that use mice would have post-processing be a Godsend, so many would benefit from it.

No, I was saying vector doesn’t necessarily have anything to do with this feature. Vector offers much more granular and specific control than simple auto-tapering of size and/or opacity.

I think there’s confusion over the term “post-processing,” but from your request I understood you to be describing a feature like CSP’s (or Procreate’s) “taper” brush property (or ibisPaint/Medibang’s “force fade”, etc.), yes?

Interesting, makes me wonder what exactly Paint Tool SAI has that gives vector-like control over lines, because its line tool includes a slider that lets you give as much of a taper on the ends of the line as you want. It’s not an auto thing, you manually have to edit it just like making vector lines thicker/thinner and whatnot.

Yes, that is exactly the feature I’m describing ^^ You draw a line with as much pressure as you want, and when you lift the pen, the program automatically tapers off the ends of the line. I’ve understood this to be a type of post-processing, as it happens after you draw the line and the program has to “process” where to put the tapering. The user called Tiar up there made it sound like it could potentially be possible to implement line tapering as Krita does have a form of post-processing already.

lol, this is vector (linework layers iirc) and exactly the granular and specific control I mentioned :sweat_smile:

Ok, I understood correctly though, this taper feature is in other raster programs irrespective of vector tools, so it should be possible I think? IDK though, I was just pointing out it’s not a vector thing :laughing:

Oop my bad XD So since that is vector, it might be possible for Krita’s vector layers to support a manual tapering slider thing like what SAI has?

Yeah, I did understand the auto tapering isn’t vector in other programs, I brought up vector as a possibility because of how much control vector layers give you over lines XD I was understanding that Krita’s raster engine doesn’t support auto taper post-processing, so I was wondering if being able to taper lines manually (like SAI) could possibly be added to its vector layers.

Krita has brush smoothing too, to helps with getting your pressure right but what people normally mean when they talk about CSP style stroke post processing is the ability to manually alter it after it’s done. Like moving it around, alter thickness or dynamic or even bend in place. I don’t know how it would be possible to do without using vectors under the hood. And while Krita has vector layers the vectors capabilities are pretty limited and the current brush engines all are incompatible with vector layers. This would mean it needs at least a new brush engine, new brush presets since existing ones won’t work, and massively extending the vector capabilities.

Don’t get me wrong. It would be an amazing feature to have but I simply don’t see it happening in the near future that is within a few years.

CSP has vector layer where you indeed you have full control over finished strokes and can move their control points around, vary parameters like thickness, etc. It really is powerful.

However, another form of post-processing can be achieved if the stroke is rendered in the final step, akin to what Tiar mentioned. Once you know where the stroke starts and ends, you can adjust it to taper at the ends with a well-defined look, e.g. taper the 20% of the stroke’s length. So I think it really would require something like that – a preview stroke during painting and a final corrected stroke after the pen is lifted.

I don’t know how Krita does it currently but decoupling it this way would be very good, I think. It could also help achieve other effects, for example the ribbon brush. Once you have a path with pen dynamics at each point, you can stroke it in various ways. It would probably make a proper vector painting layer implementation possible, such layer would simply keep these strokes in raw form rather than baking them into raster after each stroke.

Heh, I think I got carried away dreaming :sweat_smile:

1 Like

You mean this feature request of Brush Fade Distance sensor?
I believe this was a similar feature request right? i mean could be a good idea if both can be merged. Because both have the similar idea and goal. Just in this feature they used Ibispaint feature of Brush/Fade distance as an example.

1 Like

I clarified with OP above that’s not what this feature request is for

If this helps to better understand the type of feature I’m proposing, I took a screen recording of FireAlpaca. I’m using my mouse in the recording so there’s zero pressure input. With “Enable Post Processing” unchecked, the lines don’t change after I draw them. Still using my mouse, I enable post-processing and the lines I draw automatically taper off the ends into fine, clean points. That feature is exactly what I wish were in Krita.

Whether it can be implemented through the vector engine (like CSP and SAI where you have to manually edit the lines) or raster (where the lines automatically taper off like I showed in FireAlpaca) doesn’t matter much to me. I and other artists that struggle with pressure control (plus mouse users) just really need something like this in Krita.

4 Likes