Prefacing this by saying; this thread is less me promising anything, and more just trying to document Krita’s current engines, bit by bit, so I can both better understand them & get technical/artist information on how certain things behave, and why they do so.
I am not a C++ person, I never was, but I did decide to finally take up the language, and man it is … kind of hellish without a 1v1 tutor. But hey, it is what it is, and gotta use what I have at hand.
Now, for the actual thread:
Learning all the tools &…
trying to figure out what is going on in each engine, and trying to figure out what I could do to help with some revamps, feature adds, and the like. I’d consider this more me exploring rather than like, posting actual solutions for now. Like I said, I’m horrid without a tutor and the only way I can really properly learn solo, I found out, is just by playing with things & projects that already exist.
I’ll start with the “experiment”/“alchemy” tool, since that’s what I would like to make some changes to, because I do miss a bit of the functionality from eg. Heavy Paint.
Alchemy tool
From my (limited) understanding, the tool actually uses QPainterPath for all operations, which kind of… limits things. This looks all in all more like what a vector tool in eg. Illustrator would behave like, rather than what I thought this tool was really like under the hood (which is a super cool discovery on its own!). I would assume that things like these topics mention (link 1) (link 2), then, would require a total from-scratch remake..? I don’t see any other way to approach this one, but maybe I’m missing something from the Qt docs. This felt like a good starting point, but now I’m not so sure ahah.,.,.,
Pixel & smudge
Now with these two, I’m kind of torn because I’m not even sure where to start! I guess I’m just a tad overwhelmed with everything going on in these. But, I’ll start with the simplest question, which is “what about unifying the two?”
Now I’m sure that this would be an extremely controversial thing to try to discuss, so I opted for an easy way out; trying to learn from the two, and making a separate offshoot. There’s not much else I have for questions, since the code feels pretty self-explanatory to me so far. But I do want to list off some things I would like to try out later on;
- Wet edge – this one’s a bit complicated with the way I’d like to implement it, so for now, it sleeps. I’ll try to elaborate on it once I get the hang of the two engines
- A form of “ink soak” from the Bristle engine would be nice, but I’m still racking my brain trying to think what feels so “off” for me in that area
- Texture movement. This is something I heavily miss from Procreate
- On the topic of texturing;
- Making the second tip have its own texture;
- Per-stroke texture application as an addition to the current per-dab;
- Texture modifiers (size & rotation can change with the typical input sensors)
- Looking into color blending, since a lot of people seem thrown off by the way Krita blends, and trying to learn more about the way SAI / CSP solve theirs. As someone who is about 10 years behind on math, this one is hell and I don’t expect to come up with anything for a good while.
- Super fascinated by this request from Takiro, and I really do wanna look into it!
- Wondering how using “wash” could interact with color mixing in Krita. It’s a bit broken in Procreate, but is quite nice in CSP in comparison.
- Also on dual brushes:
- I would like to add more blend modes, and…
- …applying their RGB value. I could go more in-depth on this, but this is mainly a CSP-centric feature; still, it can create really wonderful effects, and with Krita’s many blend modes, I feel like this could really create some awesome possibilities.
End, for now
This is more me just laying down what I would, at some point, like to touch upon. I’ve been very passionate about brush work for a long time, and I just think that if I really, truly want something, I should probably learn how to make it myself. That’s what carried me in tradi art thus far, so why not finally try digital..?
Still, man do I sometimes feel lost just in the paintops
I feel like I should draw a map for myself or something like that…
Please, do tell me if any of the above has been worked on before/ has been denied from being merged/ is literally impossible to achieve/ etc.! Like I said, I’m kind of trying to work things out to a point where I understand when and what to do in each part, even if I’m really intimidated by the size. This is more of an introduction to my “adventures” with experimenting & learning, maybe, rather than proper dev… I’m not sure how else to phrase it. Either way, I mostly just desperately want to learn to help build the software I love.