[Proposal] Combine Colorsmudge and Clone Brush engines

Hi, @all!

I’ll try to sum up the options, which are possible to implement:

Option 1: Add a “dynamically picked brush tip” into the set of our brushes

  1. You just select a “Dynamic” brush tip in the brush editor, then press some shortcut and the brush loads some area of the canvas into the current brush. That is something like our “clipboard brush” works.
  2. When picking, the brush will pick only color information from the canvas. Alpha and lightness channels will be picked from the predefined brush tip the user selected.
  3. There might be some options on how to blend the current painting color into this new brush.
  4. This option will work okay with all brush engines that support “Image” and “Lightness” brush tip modes.

Limitations:

  1. The picked image will be scaled and rotated with the brush. That kind of resembles traditional media painting, but it is not how the current duplicate brush engine works.
  2. The image will be picked from the canvas only once in the beginning of the stroke. I don’t think it will be a problem, but, again, that is not how duplicate brush engine works.
  3. In colorsmudge engine, the picked stamp color will behave only as “color rate”.

Option 2: Add a special “dynamical picking” mode to the colorsmudge engine

In this option the picked image would replace the “color rate” stage of the colorsmudge engine. It has both, pros and cons:

  1. [+] The picked stamp is not scaled nor rotated with the brush
  2. [+] It may be optionally made dynamically updated during the stroke, though it would cause severe troubles if we decide to dynamically pick from the merged image
  3. [-] It will be available only in the colorsmudge engine
  4. [-] It needs quite a bit of work :slight_smile:

Conclusion

The first option has quite understandable GUI and may be used in all the brush engines. The second option sounds too complicated to me, but it supports unscaled stamp samples.

10 Likes