Enhanced smudge tool : Smudge with painting
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
Enhanced smudge tool : Smudge with painting
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.
Enhanced smudge tool : Smudge with painting
On Thu, Apr 13, 2017 at 8:09 PM, 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
Enhanced smudge tool : Smudge with painting
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
Enhanced smudge tool : Smudge with painting
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
Enhanced smudge tool : Smudge with painting
On Fri, Apr 14, 2017 at 2:09 PM, 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
Enhanced smudge tool : Smudge with painting
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.
Enhanced smudge tool : Smudge with painting
Where is the diff to be seen ?
JL
Le 16/04/2017 07:07, b91502038@ntu.edu.tw 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 smudgingAbout 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: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list
Enhanced smudge tool : Smudge with painting
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 wrote:
Where is the diff to be seen ?
JLLe 16/04/2017 à 07:07, b91502038@ntu.edu.tw 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 smudgingAbout 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: gimp-developer-list@gnome.org 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: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list
Enhanced smudge tool : Smudge with painting
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, b91502038@ntu.edu.tw 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: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-develop er-list
List archives: https://mail.gnome.org/archives/gimp-developer-list
Enhanced smudge tool : Smudge with painting
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: b91502038@ntu.edu.tw ; gimp-developer-list@gnome.org
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.
Enhanced smudge tool : Smudge with painting
On Fri, 2017-04-28 at 01:22 +0800, b91502038@ntu.edu.tw 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: b91502038@ntu.edu.tw ; gimp-developer-list@gnome.org 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++ commentsAbout 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
Enhanced smudge tool : Smudge with painting
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.
Enhanced smudge tool : Smudge with painting
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.
Enhanced smudge tool : Smudge with painting
On Tue, Jun 13, 2017 at 11:33 AM, wrote:
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
Mitch has gotten around to integrating this exciting new capability in GIMP master now; thanks to akk who filed a bug and attached the patches somewhere more easily accessed and referenced than google drive. See https://bugzilla.gnome.org/show_bug.cgi?id=785001 for more details :)
/pippin