Color source for paintops

Boudewijn Rempt boud at
Sat Dec 5 11:44:04 CET 2009

On Saturday 05 December 2009, Matthew Woehlke wrote:
> Cyrille Berger wrote:
> > As discussed with Lukas on IRC last week, here is a patch that allow more
> > flexibility on the color source used to colorize the dabs.
> >
> > It introduce a new base class KisColorSource, which abstract color
> > sources. There are two types of color source, uniform color sources,
> > where the color is the same on the whole dab (but might be different at
> > each stroke), and those who can have different color for each pixel of
> > the dab. And we want to apply transformation to those color source
> > (mostly color transformation).
> Well... I haven't been much for KDE work lately, and I'm not likely to
> be poking this until it is in trunk, at best. However, it reminds me of
> an idea I've had around for some time.
> Long time ago I had developed some PS hacks for painting decent-looking
> fur without a huge lot of effort. Partly this involved applying color
> jitter to multi-count brushes (not sure what the correct term is for
> each paint operation, i.e. what happens every <spacing> px, paints the
> brush shape multiple times, with jitter factors applied separately each
> time).
> Anyway, what I would really like to do is have a 2D-gradient color
> source, where I can assign various parameters to either axis. (I imagine
> this as a series of normal 1D gradients that act as stops in another 1D
> gradient, if that makes sense; if not, holler, and I can explain
> better.) Parameters would be e.g. time, distance along stroke, pressure,
> stroke angle (stroke angle is actually the one I care about)... and also
> something like 'brush part'. For multi-count brushes, divide the axis
> evenly by the count to get the color for each part.
> You could also assign an axis spatially, which would be like the above,
> but with a second axis of variation.
> However, the real gold is doing this with bristle brushes, where each
> bristle gets assigned an axis value /randomly/. So it is like dipping
> your brush in a paint swatch that is poorly mixed. But better, it gives
> you instant peppered fur :-).

It should be easy enough to extend the sumi-e brush with this; in fact, we 
should probably rename it bristle brush once the preset saving/loading is 
done, so we can have a sumi-e, and oilpaint and whatever presets.

> (Then if you want to get *really* fancy, you add 'cross-contamination',
> such that over time, the paint from one bristle mixes with that of the
> other bristles it touches...)

I'm not sure about the sumi-e brush, but my old chinese paint brush (which is 
no longer compiled) did have paint stealing between bristles, which is easily 
extended to mixing paint between bristles.

> I do have to wonder if this (stick-with-a-bristle) is how this patch is
> supposed to work, though... and if not, if maybe that should be an
> option :-).

Boudewijn Rempt |

More information about the kimageshop mailing list