There is some overlap and confusion between Force, Opacity and Hardness on the Paint tool in GIMP. I wonder what people think on this issue.
Force, as I now understand its purpose, is to provide a dynamic change in the character of the alpha mask. As though more force is applied to the stroke. This is good, it effectively changes the contrast of the alpha mask in response to stylus pressure. This slider can be used to better simulate traditional media like charcoal, pastel, chalk, graphite.
The Force slider is calibrated this way:
( 0 … 49) reduced brush alpha mask values, the brush becomes more transparent.
50, the default value, no modification of the brush alpha mask values
(51 … 100) 2x the brush alpha mask values, the brush becomes more opaque, contrast is increased.
I’m suggesting changing the parameter name to ‘Contrast’, with calibration like this:
0, the default value, no modification of the brush alpha mask values, zero Contrast
100, 2x the brush alpha mask values
- The media opacity is never reduced, leaving that to the Opacity attribute
- The name describes what it does to the brush mask
A tool-tip might be “The brush contrast is increased as if more force was applied”
The code currently multiplies the mask value by the Force value (0, 1), scaling and then clamping?
So the change might be to scale between 1 and 2, rather than 0 and 2.
Note: pressure = Force
/* The simple pressure profile
*
* It is: I'(I) = MIN (2 * pressure * I, 1)
*/
class SimplePressure
{
gfloat scale;
public:
SimplePressure (gdouble pressure)
{
scale = 2.0 * pressure;
}
guchar
operator () (guchar x) const
{
gint v = RINT (scale * x);
return MIN (v, 255);
}
gfloat
operator () (gfloat x) const
{
gfloat v = scale * x;
return MIN (v, 1.0f);
}