Expanded options for .gih brushes?

I remembered I was experimenting with image hose settings last year while trying to create some interesting oil brushes, but I hit some limitations that seemed like they should be possible.

Primarily, I would like the option to have each stroke reference a single brush tip from the included layers in the image hose, but change with each consecutive stroke on an incremental or random basis.

I think this would useful for creating a variety of brush strokes from a single preset, and as .gih tips can include the lightness info from the tips, it’s relevant to the new RGBA and Krita 5 brush engine developments.

It seems like the ingredients are already there in the current image hose options, but can’t be combined to produce the desired result.

7 Likes

Can you do what you want to do if you create the .gih file in GIMP?

1 Like

For quite some time I was dreaming of the ability to treat the .gih tips as a usual brush engine output.

The graph would be just vertically divided into n even pieces (n being a number of tips on a .gih brush), and with curves you could really easily pick a tip with krita sensors and curves.

This would allow to use fuzzy stroke to drive the tip (I missed it too) as well, as mix multiple sensors, change the range and direction with curves, make some tips more common than others with non-linear curve and so on… Everything being very krita-like using existing tools.

I never made an actual request (as there is already so much more work than workers here :wink: ), but thanks for raising this topic. I could make some mockups tomorrow if I’m not being clear enough.

4 Likes

:thinking: I don’t know - I suppose it’s worth a look, but I haven’t got it installed at the moment.

Sounds interesting!

I’m not sure what I wrote was easy to understand either? :upside_down_face:

I also tested using a series of captured sections from a real paint stroke. The problem with that is it jumps back to the start frame when it reaches the end. It might work if it went in reverse each time it hits the end, and would probably need to be mirrored. I’m not sure that’s really worth the effort though.

I did get usable results doing something similar when I was making charcoal brushes though (these ones).

2 Likes

I keep forgetting to say - I did try doing it in GIMP, but found it had even less options than Krita! :upside_down_face:

Maybe I should do some visual demos to represent why I think this is useful; It’s really about variety and complexity of brushwork.

My attention is being pulled in so many directions at the moment though! :sweat_smile:

I might get around to posting some art at some point… someday… maybe… :yum:

3 Likes

This would be a wonderful feature to have, and would make the Image House even more useful - esp. for rich feeling brush tips, but also for say taking in different forms fast from a collection to make for interesting shapes.

An addon to this, it would be nice if one could have it take tips from a folder - as making a lot of brushes can get cumbersome.

but just having the option of saying “random per stroke” would be just wonderful on its own.

2 Likes

I agree with your agreement with my suggestion! :grin:

I did at least manage to solve the other issue I mentioned i.e. the complex continual stroke. The trick is to think of it as a looped animation (because it is when set to incremental) and ensure that the start and end match up for a seamless transition. It’s not that simple to get good useable results - in fact it’s the most complicated and laborious thing I’ve tried for a brush preset; But it is possible!

1 Like

Wow, that makes me even more curious about this suggestion / option / request, could you show some examples?

Michelist

I don’t understand it very well either. Hope to have a case description

here is a daily from a while back that used one brush heavily - usually I swap brushes a lot to prevent this effect

Now swapping brushes all the time works, but it would just hasten the work and make it easier to have say 4 different tips it pulls from.

For round brushes you can randomize say the starting angle, and this helps a lot, but for blocky ones as seen here this isn’t a solution as I want the structure to remain the same, but the details to change.

further while patterns or the like is used to help out to create variation, this is less controlled than being able to do X different tips to work from.

More so it seems that most of the functionality is already present, and its only really an option to set a random stamp per stroke that would be need, over a random per dab.(I say this without having a clue

& An option like it could save some time per painting - and make a lot of the hassle to prevent repeating shapes show up all over way easier.

Also as mentioned before the RGBA brushes make this more relevant as they contain more information and causes more of this felt repetition, that we then have to go over after.

Adding some other sketches of mine that would be better with more random tips per stroke.




but even on pieces that doesn’t show this, I had to work to prevent it - swapping brushes, painting over or removing, doing all this extra work on top.

This option could make working in Krita just easier and to me more even better.

1 Like

So far I know this only to create “whole” forests, flowerbeds and grasslands with one stroke, and that’s why I’m interested in the ideas discussed here about image hose brushes. I am a person who understands some things better by seeing them. And especially when it comes to digital painting, I often can’t see the forest for the trees, I’ve only been seriously involved with it since the beginning of this year - before that I only knew it existed. :slight_smile:

Michelist

1 Like

aye, it can be far easier to see it

here is an example of 4 different tips working together vs 1.

this is also a brush that is decent at hiding it, as it is pretty basic - the more detail you have, the more clear the pattern becomes.

Add that the top one is me manually doing it, so I first used the left, then worked my way to the right - giving some of the brushes more visibility, had it been random any pattern would have been even weaker.

4 Likes

With real brushes there are many variables that add complexity and variability to stroke - like how the bristles bend and shape with movement and pressure. So drawing on a pool of dabs helps create a more natural look by increasing the variability.

As mentioned - we have some tools for increasing variability already; the masked brush is probably the most useful, but confined to the pixel engine. This would add more options and flexibility, and can be used across engines.

3 Likes

So to clarify, I think what’s wanted here is for the animated brush tip to have a random per stroke setting (fuzzy stroke I guess)?

Edit: While on the subject, I think the animation setting for brush tips should be changeable after brush creation…

2 Likes

yes, a random brush tip per stroke in addition to the current per dab.

and second on being able to edit it after the fact.

Hmm. I had a quick look and I think this should be fairly straightforward for someone with a bit of coding skill to do. The “frame” of the tip with e.g. random setting is selected thus:

index = info.randomSource()->generate(0, rank-1);

And looking elsewhere there exists this too:

info.perStrokeRandomSource()

So I think it might just be a matter of creating a new entry based on these. Probably a little more complicated than that in reality.

2 Likes

If I can add something, I’d still suggest to do it the “Krita way” incorporating it to how everything works now. Here are some mockups if my post form long time ago wasn’t clear enough:

As it refers to brushtip, I believe a good place for it would be under newly added Lightness strength.

If this is an anmated brushtip, you can decide to override the GIMP dynamics, and use “Krita ones”. The Y-axis of a graph is evenly divided between the amount of frames in animated tip.


Using the graph, user could for example decide to play with probability like here:
Frame 0: 25%,
Frame 1: 25%.
Frame 2: 50%,
Frame 3: 0%
or use any combination of all the sensors available in a brush engine.

I think this is more work but would be a really good incorporation to how things are handled in krita. Tell me what you think :slight_smile:

7 Likes

That would be the dream wojtryb - even if I would be happy with an addition to the current drop down menu

& glad to hear that it might be an easy addition hulmanen

1 Like

@Damn: Of course I had to try to just change the current random selection to refer to perStrokeRandomSource, but that didn’t compile so it’s a little more on the “more complicated” end. Hopefully someone with an actual understanding of what they’re doing can be persuaded to take a look here :smiley:

1 Like

I think there is an option to use single image according to the angle too. I have not experimented with it and I don’t know how useful it is in this context but gih also have something called ranks and dimensions.
it was discussed here - Do you have any thoughts on gih brushes?

1 Like