Enhanced smudge tool : Smudge with painting

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Enhanced smudge tool : Smudge with painting

b91502038
Hi everyone. I did an experiment that enhanced the smudge tool, which can not only smudge existing color on the canvas, but also blend brush color on it. This is useful in digital painting.

Details and test drawings
http://www.gimp-forum.net/Thread-Customized-smudge-tool-Smudge-with-painting

It was not difficult to implement. Only 6 files were modified and had no compatibility issues.

Current issues:

--Color from gradient and color brushes are not supported, only foreground color can be used.
I can try to fix it.

--Doesn't support layer modes (multiply, screen, add, etc.)
It's difficult to implement because smudge tool calculates brush-to-drawable blending by itself and calls gimp_brush_core_replace_canvas(), unlike other brushes.
MyPaint brush doesn't support this either.
I don't think this is a true problem. Normal mode is enough in practice. But I'm not sure other users' requirements.

--Have not modifird the relative script procedure
The "gimp-smudge" in Procedure Browser, I havn't added new parameters yet.

An optional idea:

--"No erasing effect" may be implemented as a layer property, like "Lock alpha channel", "Lock pixels" switches.
That is, for any operations effecting pixels' alpha
if(no_erasing_effect)
  now_alpha = MAX(updated_alpha, now_alpha);
else
  now_alpha = updated_alpha;
But I'm not sure the difficulty to implement and the usefulness.
As my experience, only smudge and MyPaint brush really need this.
_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

Øyvind Kolås-2
On Thu, Apr 13, 2017 at 8:09 PM,  <[hidden email]> wrote:
> Hi everyone. I did an experiment that enhanced the smudge tool, which can not only smudge existing color on the canvas, but also blend brush color on it. This is useful in digital painting.
>
> Details and test drawings
> http://www.gimp-forum.net/Thread-Customized-smudge-tool-Smudge-with-painting
>
> It was not difficult to implement. Only 6 files were modified and had no compatibility issues.

Such "finger painting" will be a welcome addition to the smudge tool,
and given clean patches I see little reason why we wouldn't want to
try to integrate such a feature sooner (before 2.10) rather than later
- many GIMP developers are - soon, or already - on their way to this
years Libre Graphics Meeting, please share your patches against git
master on IRC, here or via bugzilla and we'll be getting around to
studying and integrating these changes.

/pippin

--
http://pippin.gimp.org/
_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

b91502038
OK, here.

And after that I added "No erasing effect" to MyPaint brush. Can try this
too. At lease I would use this for personal use.


-----原始郵件-----

Such "finger painting" will be a welcome addition to the smudge tool,
and given clean patches I see little reason why we wouldn't want to
try to integrate such a feature sooner (before 2.10) rather than later
- many GIMP developers are - soon, or already - on their way to this
years Libre Graphics Meeting, please share your patches against git
master on IRC, here or via bugzilla and we'll be getting around to
studying and integrating these changes.

/pippin

--
http://pippin.gimp.org/ 
_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

b91502038
In reply to this post by Øyvind Kolås-2
OK, here.
And after that I added "No erasing effect" to MyPaint brush too. Not
included in this patch, but I would use it for personal use first.

----

Question: Can this mailing list use attachment?
I put here too.
https://drive.google.com/file/d/0ByvJcJmOQlkRUUd1MlFOQW5ERTA/view?usp=sharing 

_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

Øyvind Kolås-2
On Fri, Apr 14, 2017 at 2:09 PM,  <[hidden email]> wrote:
> OK, here.
> And after that I added "No erasing effect" to MyPaint brush too. Not
> included in this patch, but I would use it for personal use first.

A couple of comments, hopefully the gimpers already in Rio for LGM can
chime in, but on the interaction side I wonder if it would be better
"Flow" could have a better name - and perhaps a sane default value -
combined with a boolean toggle for enabling finger-painting / color
contribution. And maybe "avoid erasing" is easier to grasp than "No
erasing effect".

/pippin
_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

b91502038
Agree. I also hope that someone could suggest a better name because English
is not my native language. The names can be discussed.

The UI texts I added:
No erasing effect
tooltip: Never decrease alpha of existing pixels
Flow
tooltip: The amount of brush color to blend
Rate
tooltip: The strength of smudging

About the name "Flow", the main problem I met is if I gave a new name, it
had to be added to paint dynamics too. (Without dynamics this parameter has
little use.)
In that experiment I just picked a parameter not used by smudge for quick
implementing (Flow is only used by Airbrush now). And I thought the word
"Flow" was somewhat reasonable here, like the amount of pigment in water
color.

Not sure witch way is better, use the name "Flow" and explain it in a
tooltip, rename it and consider the compatibility with Airbrush, or add a
new parameter to dynamics.

----

Talk about a experience I learned GIMP. "Rate" is another parameter not used
by all paint tools. Airbrush, Smudge, and Convolve use it but have different
meanings and have no tooltips in current version of GIMP. I got comfused
until I realized that they have different meanings.
But the paint dynamics system might become too complex if 3 different
parameters were used.
So I think exactly naming will have drawbacks in paint dynamics, but a good
tooltip can help.

----

About the boolean toggle, set Flow=0 will disable finger-painting and acts
as original smudge tool. I think a toggle and a scale control are a little
more complex than a scale control only. Just my opinion.

_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

JLuc
Where is the diff to be seen ?
JL

Le 16/04/2017 à 07:07, [hidden email] a écrit :

> Agree. I also hope that someone could suggest a better name because English is not my native language. The names can be
> discussed.
>
> The UI texts I added:
> No erasing effect
> tooltip: Never decrease alpha of existing pixels
> Flow
> tooltip: The amount of brush color to blend
> Rate
> tooltip: The strength of smudging
>
> About the name "Flow", the main problem I met is if I gave a new name, it had to be added to paint dynamics too.
> (Without dynamics this parameter has little use.)
> In that experiment I just picked a parameter not used by smudge for quick implementing (Flow is only used by Airbrush
> now). And I thought the word "Flow" was somewhat reasonable here, like the amount of pigment in water color.
>
> Not sure witch way is better, use the name "Flow" and explain it in a tooltip, rename it and consider the compatibility
> with Airbrush, or add a new parameter to dynamics.
>
> ----
>
> Talk about a experience I learned GIMP. "Rate" is another parameter not used by all paint tools. Airbrush, Smudge, and
> Convolve use it but have different meanings and have no tooltips in current version of GIMP. I got comfused until I
> realized that they have different meanings.
> But the paint dynamics system might become too complex if 3 different parameters were used.
> So I think exactly naming will have drawbacks in paint dynamics, but a good tooltip can help.
>
> ----
>
> About the boolean toggle, set Flow=0 will disable finger-painting and acts as original smudge tool. I think a toggle and
> a scale control are a little more complex than a scale control only. Just my opinion.
> _______________________________________________
> gimp-developer-list mailing list
> List address:    [hidden email]
> List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
> List archives:   https://mail.gnome.org/archives/gimp-developer-list
>


_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

Øyvind Kolås-2
in the .7z file linked in a google drive link earlier in this thread,
and temporarily also more easily accesibly in my wip/pippin branch in
git - for now.

/pippin

On Sun, Apr 16, 2017 at 1:45 PM, JLuc <[hidden email]> wrote:

> Where is the diff to be seen ?
> JL
>
>
> Le 16/04/2017 à 07:07, [hidden email] a écrit :
>>
>> Agree. I also hope that someone could suggest a better name because
>> English is not my native language. The names can be
>> discussed.
>>
>> The UI texts I added:
>> No erasing effect
>> tooltip: Never decrease alpha of existing pixels
>> Flow
>> tooltip: The amount of brush color to blend
>> Rate
>> tooltip: The strength of smudging
>>
>> About the name "Flow", the main problem I met is if I gave a new name, it
>> had to be added to paint dynamics too.
>> (Without dynamics this parameter has little use.)
>> In that experiment I just picked a parameter not used by smudge for quick
>> implementing (Flow is only used by Airbrush
>> now). And I thought the word "Flow" was somewhat reasonable here, like the
>> amount of pigment in water color.
>>
>> Not sure witch way is better, use the name "Flow" and explain it in a
>> tooltip, rename it and consider the compatibility
>> with Airbrush, or add a new parameter to dynamics.
>>
>> ----
>>
>> Talk about a experience I learned GIMP. "Rate" is another parameter not
>> used by all paint tools. Airbrush, Smudge, and
>> Convolve use it but have different meanings and have no tooltips in
>> current version of GIMP. I got comfused until I
>> realized that they have different meanings.
>> But the paint dynamics system might become too complex if 3 different
>> parameters were used.
>> So I think exactly naming will have drawbacks in paint dynamics, but a
>> good tooltip can help.
>>
>> ----
>>
>> About the boolean toggle, set Flow=0 will disable finger-painting and acts
>> as original smudge tool. I think a toggle and
>> a scale control are a little more complex than a scale control only. Just
>> my opinion.
>> _______________________________________________
>> gimp-developer-list mailing list
>> List address:    [hidden email]
>> List membership:
>> https://mail.gnome.org/mailman/listinfo/gimp-developer-list
>> List archives:   https://mail.gnome.org/archives/gimp-developer-list
>>
>
>
> _______________________________________________
> gimp-developer-list mailing list
> List address:    [hidden email]
> List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
> List archives:   https://mail.gnome.org/archives/gimp-developer-list
_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

Michael Natterer
In reply to this post by b91502038
Hi,

sorry for replying so late, we're all at LGM and quite busy.

I really love that new way of smudge painting, we absolutely
want this in 2.10.

Could you perhaps do some cleanup to the patches?

- gimp_gegl_smudge_blend() and its parameters were renamed
  for (imo) no good reason

- variables should be declared at the start of a block

- we don't use c++ comments

Also, can you upload the patches to a new bug in bugzilla
please?

Regards,
Mitch

On Fri, 2017-04-14 at 02:09 +0800, [hidden email] wrote:

> Hi everyone. I did an experiment that enhanced the smudge tool, which
> can not only smudge existing color on the canvas, but also blend
> brush color on it. This is useful in digital painting.
>
> Details and test drawings
> http://www.gimp-forum.net/Thread-Customized-smudge-tool-Smudge-with-p
> ainting
>
> It was not difficult to implement. Only 6 files were modified and had
> no compatibility issues.
>
> Current issues:
>
> --Color from gradient and color brushes are not supported, only
> foreground color can be used.
> I can try to fix it.
>
> --Doesn't support layer modes (multiply, screen, add, etc.)
> It's difficult to implement because smudge tool calculates brush-to-
> drawable blending by itself and calls
> gimp_brush_core_replace_canvas(), unlike other brushes.
> MyPaint brush doesn't support this either.
> I don't think this is a true problem. Normal mode is enough in
> practice. But I'm not sure other users' requirements.
>
> --Have not modifird the relative script procedure
> The "gimp-smudge" in Procedure Browser, I havn't added new parameters
> yet.
>
> An optional idea:
>
> --"No erasing effect" may be implemented as a layer property, like
> "Lock alpha channel", "Lock pixels" switches.
> That is, for any operations effecting pixels' alpha
> if(no_erasing_effect)
>   now_alpha = MAX(updated_alpha, now_alpha);
> else
>   now_alpha = updated_alpha;
> But I'm not sure the difficulty to implement and the usefulness.
> As my experience, only smudge and MyPaint brush really need this.
> _______________________________________________
> gimp-developer-list mailing list
> List address:    [hidden email]
> List membership: https://mail.gnome.org/mailman/listinfo/gimp-develop
> er-list
> List archives:   https://mail.gnome.org/archives/gimp-developer-list
_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

b91502038
Sorry that recently I have no much spare time to work at it. I know this
tool still needs some improvements before it can be officially released.

----------
From: Michael Natterer
Sent: Saturday, April 22, 2017 9:55 AM
To: [hidden email] ; [hidden email]
Subject: Re: [Gimp-developer] Enhanced smudge tool : Smudge with painting

> - gimp_gegl_smudge_blend() and its parameters were renamed
>   for (imo) no good reason

> - variables should be declared at the start of a block

> - we don't use c++ comments

About the first one, gimp_gegl_smudge_with_paint() is not a renaming, but a
new function with different algorithm. The old one,
gimp_gegl_smudge_blend(), was removed since only smudge tool used it.
I used the same variable name with gimp_smudge_motion() for easier to read.

And the other two, I have changed yet. I would try to implement color from
gradient and color brush later, and update both changes together.

_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

Michael Natterer
On Fri, 2017-04-28 at 01:22 +0800, [hidden email] wrote:
> Sorry that recently I have no much spare time to work at it. I know
> this 
> tool still needs some improvements before it can be officially
> released.

No worries, same here :)

> ---------- 
> From: Michael Natterer
> Sent: Saturday, April 22, 2017 9:55 AM
> To: [hidden email] ; [hidden email]
> Subject: Re: [Gimp-developer] Enhanced smudge tool : Smudge with
> painting
>
> > - gimp_gegl_smudge_blend() and its parameters were renamed
> >   for (imo) no good reason
> > - variables should be declared at the start of a block
> > - we don't use c++ comments
>
> About the first one, gimp_gegl_smudge_with_paint() is not a renaming,
> but a 
> new function with different algorithm. The old one, 
> gimp_gegl_smudge_blend(), was removed since only smudge tool used it.
> I used the same variable name with gimp_smudge_motion() for easier to
> read.

You are right, the renaming makes sense, let's keep it.

> And the other two, I have changed yet. I would try to implement color
> from 
> gradient and color brush later, and update both changes together. 

Great, looking forward to it!

One more thing: can we credit you (log and AUTHORS) with a real
name, or do you prefer to stay anonymous (which is perfectly fine
too)?

Thanks,
Mitch
_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

b91502038
In reply to this post by Michael Natterer
> One more thing: can we credit you (log and AUTHORS) with a real
> name, or do you prefer to stay anonymous (which is perfectly fine
> too)?

Use shark0r, this is the username I used on the internet.


Another work was done.
Patch (includes two patches I posted in April)
https://drive.google.com/file/d/0ByvJcJmOQlkRQjNqcXkwRGw2UlU/view?usp=sharing

Changes:
--Besides current foreground color, now it supports color from gradients and
color brushes.
--In smudge tool's options -> Dynamics Options, add Color Options to control
gradients.
--Fit the coding standards.

Their priority is the same as other paintbrush tools
-If gradient is activated by brush dynamics, use gradient.
-Else if current brush is a color brush, use its color.
-Else it uses foreground colot.

About this smudge painting tool the last work is "gimp-smudge" script
procedure.

And about optional and (IMO)less important ideas mentioned before, if no one
has requirements, I will not work on them.
--UI text suggestions.
--Supports blend modes other than normal. (Difficult to implement)
--Implement "No erasing effect"(Don't decrease alpha of existing pixels) as
layer property.

_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Enhanced smudge tool : Smudge with painting

b91502038
In reply to this post by Michael Natterer
> One more thing: can we credit you (log and AUTHORS) with a real
> name, or do you prefer to stay anonymous (which is perfectly fine
> too)?

Use shark0r, this is the username I used on the internet.


Another work was done.
Patch (includes two patches I posted in April)
https://drive.google.com/file/d/0ByvJcJmOQlkRQjNqcXkwRGw2UlU/view?usp=sharing

Changes:
--Besides current foreground color, now it supports color from gradients and
color brushes.
--In smudge tool's options -> Dynamics Options, add Color Options to control
gradients.
--Fit the coding standards.

Their priority is the same as other paintbrush tools
-If gradient is activated by brush dynamics, use gradient.
-Else if current brush is a color brush, use its color.
-Else it uses foreground colot.

About this smudge painting tool the last work is "gimp-smudge" script
procedure.

And about optional and (IMO)less important ideas mentioned before, if no one
has requirements, I will not work on them.
--UI text suggestions.
--Supports blend modes other than normal. (Difficult to implement)
--Implement "No erasing effect"(Don't decrease alpha of existing pixels) as
layer property.

_______________________________________________
gimp-developer-list mailing list
List address:    [hidden email]
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list
Loading...