Default GIMP set brushes

GIMP Brush Editor and Preview

Improvements and rough ideas about …

Americo
Graphic arts on free software
8 min readNov 24, 2013

--

1. Simplifying the process and increase capabilities

Simplify or create a simple and fast way to customizer the general aspect of Brushes + Paint Dynamics without the necessity to modify the curves (gain factor).
Increase the capabilities of Tool Options [6.] with some improvements to use these gain factor controls.
Create a way to see in real time the “previous preview” of brush while you are modifying the controls of them, inspired mainly in the current parametric brush editor.

2. Parametric Brush Editor

On GIMP the parametric brushes are created and edited with a specific editor, we have this dialog:

Figure 1 — Instance editing for the parametric brush on GIMP.

It has many controls for each aspect of brush, radius, spikes, hardness, aspect ratio, angle and spacing. The central area is a preview in real time with the controls. Many of these controls make sense to the raster brushes too.

The same editor “works” to preview a brush raster, if is a static or dynamic of kind, .gbr or .gih, it shows the unique layer of this brush (the .gbr case) or simply the preview of the first layer of the pile (.gih case). The controls don’t are usable and active in the two cases, static brush (.gbr) or dynamic brush (.gih). I don’t understand the reason of this editor to be linked with the raster brushes if is not usable for this kind of raster brushes.

3. Static Brush Case Editing [.gbr brushes]

On GIMP to create a static brush has the flow similar to create a common image. To raster brushes we need an image in grayscale with an alpha channel.

Figure 2 — Editing instances of a Static brush based on raster (.gbr)

The file ‘name’ and the ‘alias’ (that is shown on the brush list) are chosen in two different part of the process. I think that is better to have the same widget or flow step where file name and alias name are the same initially… and after we can edit it in the dialog lists, for example.
In the actual flow first you write the file name and after you set the spacing and alias name (the name of brush in the lists dialogs).[see Figure 2.]
My suggestion is to use the current flow, but if you don’t write an alias name, the brush assumes as alias the name of file … after we can change it in the brush list or on brush editor. In this way, the administration of the names is more easy and organized.

Nowadays, is necessary open the brush as image and rewrite the .gbr file and with file > export as, and finally to change the name on “Export Image as Brush” dialog and again click on ‘export’ button.

4. Dynamic Brush Case Editing [.gih brushes]

Is clear that the current paint dynamics can be used basically with parametric and static brushes with good results and to emulate in certain cases to improve the behaviour of many static brushes. But that isn’t a rule. But yet the Dynamic Brushes are very interesting to emulate many techniques… and together the Paint Dynamics are the potential increased. Perhaps is useful to simplify or to have a limited number of dimensions as also the dimensional behaviour kind. In my opinion, for the general use, to have a maximum of two dimensions (*) could be sufficient.

(*) Another important question for me is the brush GIMP migration to other similar painting software as Krita… and I had noted that only the 1 dimension .gih brush works on Krita (but I’m not safe of this, see my krita forum thread about my problem with 2 dimensions .gih brushes on krita). [verify it]

With the Paint Dynamics, now, is possible to use the real potential of .gih brushes that is to work with different stain kind in a same brush. With the static brushes the quality and kind of stain is essentially the same always… perhaps only Aspect Ratio and Jitter could be change a bit the stains.[Make a video to demonstrate this in praxis]

When we create dynamic brushes we have many other possibilities or features, because the image is multilayer kind, from one to four dimensions and seven types dimensional behaviours (incremental, angular, random, velocity, pressure, xtilt, ytilt).

Figure 3 — Editing instances of a Dynamic brush based on raster (.gih)

Similar of the static brush also for the dynamic brush, we have a dialog to set and to build them. To dynamic brushes we have an additional dialog to set the dimensional schema with kind of behaviours. [see Figure 3]

As I have suggested to .gbr brushes… also here is useful to maintain the same flow, but if the alias name don’t is written it assumes the file name. After, on the common dialogs, as brush list or on editor brush you can change it. In this way the administration of the names is more easy and organized.

Nowadays, is necessary open the brush as image and rewrite the .gbr file and with file > export as, and finally to change the name on “Export Image as Brush” dialog and again click on ‘export’ button.

5. Redesigning Parametric Brush Editor for Raster Brushes

Essentially the flows of creation and name of brushes could be the same… with [1] and [2]. After the creation steps the Parametric Brush Editor redesigned works as a manager to control the main aspects of them (**).

(**) Aspects as stain quality or the own stain would be made with natural image workflows.

But what are and which are the main aspects of a raster brush? [Draft] For me, they are those change the form of to mark; the shape and brush modeling capacity… such as [draft]:

  1. Form or shape
    Size; Aspect Ratio; Spacing.
  2. Modeling:
    Opacity; Color; Hardness.
  3. Gain factor over Form and Modeling:
    Force is a good example of gain factor… but is useful only on this parameter is enabled. My suggestion is to have an independent multiplier gain factor that is applied over all curves parameters in the some way, including the Force.
Comparison of two instances to modeling the parametric on left and to right the static and dynamic brushes.

5.1 Mockup of a brush editor to raster brushes — based on Parametric Brush Editor

But how these will work on Brush Editor? is the same kind of the parametric single values… for the raster brushes these slides will are a decrement or increment factor that multiply the aspect behaviour. For all cursor’s slides it is positioned in middle, with factor equal 1.

Main Brush Editor: a mock-up idea to redesign the Parametric brush editor to use with raster brushes too.

The Preview of brush in this editor could show 3 instances:

  1. Stain brush, default stain (current way to show the brushes on GIMP);
  2. Default stroke, a template stroke to exemplify the main circumstances of brush variation: size and opacity, e.g.;
  3. Custom stroke: the user do a custom stroke on the area preview, to use as reference of their brushes [verify if really is useful, perhaps interesting as icon to exemplify the paint dynamics and tool presets, see also Andrew Pullins => [Gimp-gui] Paint Dynamic and Tool Preset Preview].

The behaviour of these slides for the parameters from Force to Spacing could be exemplified so:

The cursor, by default, is positioned at middle slide, and equal 1. The values can be inferior (decrease zone) or superior of 1 (increase zone).
When you change the cursor on ‘increase zone’ you’re multiplying entire set per the constant factor done of the cursor position on the slide, e.g., 1,5.
In this way, the cursor slide work as kind of gain factor on the specific behaviour or parameter curve (paint dynamics). Particularly with the Force… will be an additional factor to increase or decrease the response of the behaviour curve on the paint dynamics… but is clear if Force is off this factor is null (this issue on GIMP 2.9.1 git master need some discussion, e.g.).

Force Matrix example.

In this Force matrix case the cursor slide factor will multiply all inputs enabled (Pressure and Random).

Curves of Inputs on Force parameter.

As my sample has practically almost constant curves on Pressure and Random… the factor will see constant and more emphasized for all parameters that have Pressure and Random enabled.

In this matrix, below figure, this additional gain factor will be visible for all enabled parameters (Pressure, Velocity and Random): on Opacity, Size, Colour, Hardness and also Force.

Matrix example for a paint dynamics.

6. Tool Options with Brush Preview editing

In the GIMP 2.9.1 Git Master is already present some improvements in the gain factors to some parameters of Paint Dynamics. But for me is not clear what and how the slide cursor is controlling the parameters of the paint dynamics curves.

Tool Options of GIMP Git Master.

Another possibility is to have the gain factors to different parameters that are used only as multiplicative factor of the curves… to increase or to decrease the general behavior. Is a shortcut way to modify the general aspect of a paint dynamic curve. Is a fast way to modify a brush… and perhaps the gain factor is useful to store directly on the preset… in theory the paint dynamic remains as the original… and is a good way to not proliferate the paint dynamics.

Mock-up Idea for Tool Options integrated with the gain factors.

The gain factors yet to need discuss a bit… perhaps we need a minor number that I’m proposing in this mock-up.

But is important that these be heavy to change the behaviour and brush stain aspect.

7. MyPaint Brush Preview working with gain factor

An idea to see how the gain factor works with the behaviour of a brush we can see on MyPaint Git Master with the slide Pressure Gain.

Default sample stroke on preview area.

For me in this preview could have two instances… the first, with a default sample brush… for example:

where is possible noted many variations of size and others aspects. An another where the user can make her own stroke… as is in MyPaint.

8 Appendix

In progress…

--

--