On Wed, 7 Feb 2001 [EMAIL PROTECTED] wrote:
> > The major problem with having different texture maps for each pressure
> > is the amount of memory necessary to store them. Texture tiles
> > ...
> But you can have different effects if you have the choice to use
> pressure-mapped-brushes as song as we don't have mathematical brushes
> because some tools (in reallife) behave quite differently when one applies
> bigger pressure to them.
I agree completely to supporting changing the texture bitmap depending on
pressure. At the time I wrote the last email, I could not think of a
practical use for it. Today I had a burst of inspiration: it could be
used to simulate table texture beneath paper. The higher the pressure,
the more the table shows through. Of course, you could also use other
more exciting textures underneath: coins, leaves, grass, wicker,
etc. Such textures would be great for pencil-rubbed backgrounds.
In general a texture will not be modified by pressure. Textures
normally don't deform due to greater applied pressure (barring the
simulation of actually destroying the medium!) What does change is the
amount of pressure exerted by the brush at all points of contact. GIMP
already accounts for these changes by modifying the brush mask (its
hardness, size, and opacity).*
What is unclear at this point is how to generalize the texture composition
function. It has two parameters, brush mask and texture, and returns a
new brush mask. A good composition function for crayons, pencils, chalk,
and pastels is subtraction using saturation arithmetic.** A potentially
useful function for some types of media (which ones???) is the
multiplication function. There may be other composition operators that
specifically address certain drawing implements.
* Technically, The GIMP does not modify the brush mask's opacity by
pressure. It optimizes the operation by multiplying the
stylus pressure (treated as an opacity) by the tool's opacity
hscale. It then passes that new value to the paste_brush
function. This optimization needs to be disabled when a texture is
used, since the two opacities have different semantics.
** Saturation subtraction is based on the fact that drawing with a pencil
lightly will not fill the paper's pits no matter how many times one
goes over the same spot.
Multiplication could simulate the amount of ink deposited from a
marker, pits get more ink than peaks.