Since I saw dynamic brush in Corel Painter, I have been willing to get something similar to Krita. Basically, it’s a paint op which gives the user control over all the parameters (size, orientation, colors etc) of the brush, depending on the input (pressure, time…), the information used for controlling those parameters are what I call “programs”. More simple paint op as you can find in current stable version of Krita offers a much more limited selection of parameters.
There is something else I want to provide with the dynamic paintop, until now, Krita’s paint op are using what we call potatoes stamps, for each stroke, some sort of mask is put on front of the canvas, and the color is updated according to the transparency, that works pretty well to simulate a pen, or a single bristle, but not a realistic paintbrush. So something, I am playing with in the dynamic paintop is simulation of bristles.
The screenshot bellow show the result of using two types of bristles (with big spacing to see clearly the bristles, and with small spacing to see something closer to reality) with two different programs ( one which rotate the bristles around the center of the paintbrush while the hand move on the canvas and one which rotate the bristles in the direction of the drawing). And each bristle have a randomly affected color.
While the above drawing was done with the mouse, the dynamic paint op is aimed at using the full power of your tablet.
But I have still quiet a few problems to solve:
- performance, even when using the more simple shape (potatoes based), the dynamic paint op can’t be as optimized as an hard coded paint op, but it’s even worse with bristles shape, who are drawn by painting multiple potatoes on the canvas
- user interface, the user interface is divided in two parts, one is visible on the screenshot above and it’s about selecting “programs”, the most annoying problem is to find good short names for the programs shipped by default in Krita, the second problem is designing an user interface for editing those programs
- color, I have yet to see how color should be affected by the programs