Gimp event & brush system proposal.
Part one – Event and dynamics system overhaul for this cycle
* event filtering
* motion and time smoothing
* derivative dynamics generation
* modifying current tools to use event system prepaired dynamics.
Reasoning for need:
Early filtering of events too small to register in drawable space saves
processing power considerably, specially with tablet devices that make a lot
of events events and lots of processor load. Making the filter threshold
higher can also improve drawing experience for slower machines
Some derivative dynamics and parameters like velocity, per coordinate
difference and distance are available as sideproduct of event filtering,
others could be calculated per tools request. Generating these early make
tool code cleaner, saves processing power on frequently(every brush tool
needs distance for example) calculated deviate values and also allows for
more clean strokes since the dynamics are continuous before and after making
I have given a patch of some of this functionality to Mitch for review. The
event fiddling functionality is all there but only ink tool is modified to
use it at the moment and smooth factor is only adjustable at build time.
Part two – new extended brush core for next cycle.
* More brush modifiers( ie mirror paint, paint multiple layers with
different brushes at the same time, etc)
* Improved use of all available dynamics (reverse dynamic mapping, any
available dynamics option to any parameter )
* Separate dialog for dynamics configuration
* GEGL brush core, nondestructive painting
* Physical media imitations for brush tools
Reasoning for need:
Brush core will need to be moved to GEGL anyway why not make it better and
more painter friendly in the process.
I'm interested of working on this but I'm new both to gimp code and C. I learn
fast tho :). Ive discussed working on this in the IRC and at least one person
has shown interest to help me with it...
Any feedback appreciated,
Gimp-developer mailing list