[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
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.
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Hi
I think the current brush outline for fuzzy brushes is too big. The attached patch improves the brush outline for fuzzy brushes (see screenshot [1]). If using a higher threshold doesn't result in any outline at all, the patch fallbacks to the old brush outline so that a brush outline always is shown even if the brush only has low-intensity values.
Does this patch make sense to anyone else?
/ Martin
[1] http://www.chromecode.com/temp/improve-fuzzy-brush-outline.png
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Martin Nordholts wrote:
I think the current brush outline for fuzzy brushes is too big. The attached patch improves the brush outline for fuzzy brushes (see screenshot [1]). If using a higher threshold doesn't result in any outline at all, the patch fallbacks to the old brush outline so that a brush outline always is shown even if the brush only has low-intensity values.
In my opinion the idea of the brush outline is that it represents its total area of effect, or in other words, the area where pixels will be affected in a way or another while drawing. The brush outline for fuzzy brushes (assuming dynamics aren't applied) *looks* too big, but it actually isn't. This is most evident by drawing a few strokes with the fuzzy brush on a transparent layer and then adjusting the alpha level channel on Colors>Levels to coordinates (0;255) .
A more useful patch (in my opinion) for brush outlines would be making them change together with brush dynamics (even if the user isn't actually drawing, just moving the cursor on the drawing area) if they are enabled. This could be useful in many ways, but I have the impression it would lead to performance issues.
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Hi all,
My opinion about that is the same as shirakawa if we want to do photography
retouch and "superexact" works like these, but artisticaly i would prefer
something like Martin says. It is more useful for the eye, if we want to
make an stroke fast and not acuratly but in the aprox right place.the old
method requieres user imagination to preview in his mind what will happen...
but i have to say that i don´t use this "brush outline feature" becouse it
makes my gimp sloooooower with complex outlines.So if somebody has the
solution for this... i am listening.
best regards
2009/8/30 SHIRAKAWA Akira
Martin Nordholts wrote:
I think the current brush outline for fuzzy brushes is too big. The attached patch improves the brush outline for fuzzy brushes (see screenshot [1]). If using a higher threshold doesn't result in any outline at all, the patch fallbacks to the old brush outline so that a brush outline always is shown even if the brush only has low-intensity values.
In my opinion the idea of the brush outline is that it represents its total area of effect, or in other words, the area where pixels will be affected in a way or another while drawing. The brush outline for fuzzy brushes (assuming dynamics aren't applied) *looks* too big, but it actually isn't. This is most evident by drawing a few strokes with the fuzzy brush on a transparent layer and then adjusting the alpha level channel on Colors>Levels to coordinates (0;255) .
A more useful patch (in my opinion) for brush outlines would be making them change together with brush dynamics (even if the user isn't actually drawing, just moving the cursor on the drawing area) if they are enabled. This could be useful in many ways, but I have the impression it would lead to performance issues.
-- SHIRAKAWA Akira
_______________________________________________ Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
hi,
what about using a dashed outline for fuzzy brushes?
perhaps like a) in
http://yahvuu.files.wordpress.com/2009/08/fuzzy-outline.png
I think it's rewarding to visually mark fuzzy outlines / feathered selections, as it opens the path for on-canvas adjustments -- as has been pointed out on the brainstorm [1]-[3]. Not trivial to get it right, though.
greetings, peter
[1] http://gimp-brainstorm.blogspot.com/2007/09/feathering.html [2] http://gimp-brainstorm.blogspot.com/2009/02/quick-brush-radius.html [3] http://gimp-brainstorm.blogspot.com/2009/07/selective-distort.html
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Y like the idea a lot. i see much more clear. But with complex autlines for example grunge brush? what will be happend? maybe it will be a chaos? i don´t know. but for round brushes sounds great.
2009/8/30 yahvuu
hi,
what about using a dashed outline for fuzzy brushes? perhaps like a) in
http://yahvuu.files.wordpress.com/2009/08/fuzzy-outline.pngI think it's rewarding to visually mark fuzzy outlines / feathered selections,
as it opens the path for on-canvas adjustments -- as has been pointed out on
the brainstorm [1]-[3]. Not trivial to get it right, though.greetings, peter
[1] http://gimp-brainstorm.blogspot.com/2007/09/feathering.html [2] http://gimp-brainstorm.blogspot.com/2009/02/quick-brush-radius.html [3] http://gimp-brainstorm.blogspot.com/2009/07/selective-distort.html _______________________________________________ Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
On Sunday 30 August 2009, Martin Nordholts wrote:
[1] http://www.chromecode.com/temp/improve-fuzzy-brush-outline.png
One more thing that has always irritated me (not related to your change though): The lower-left -> upper right lines ("/") seem to use a different corner case of the same algorithm (looks like a different algorithm even) as compared to the other side ("\").
Other than that I think it makes sense to show not the total affected area but only the area which is affected by more than a certain nonzero threshold (say opacity >= 20%).
My weekend comment, Daniel
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
yahvuu wrote:
hi,
what about using a dashed outline for fuzzy brushes? perhaps like a) in
http://yahvuu.files.wordpress.com/2009/08/fuzzy-outline.png
This is a very good idea, but I think it would be more logic and consistent with the style of brush outlines in GIMP if it was the opposite: solid external outline (representing the brush area limits), and dashed internal outline.
One of the reasons for this is that hardness (which creates the fuzzyness) is a brush attribute which can dynamically change with brush dynamics (in static conditions hardness could be 100% hard, but become completely fuzzy as drawing pressure increases for example), and would better work with my proposal of varying in realtime brush outlines according to them.
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
hi,
SHIRAKAWA Akira wrote:
yahvuu wrote:
hi,
what about using a dashed outline for fuzzy brushes? perhaps like a) in
http://yahvuu.files.wordpress.com/2009/08/fuzzy-outline.pngThis is a very good idea, but I think it would be more logic and consistent with the style of brush outlines in GIMP if it was the opposite: solid external outline (representing the brush area limits), and dashed internal outline.
this is now variant b) in the updated picture http://yahvuu.files.wordpress.com/2009/08/fuzzy-outline1.png
greetings, peter
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Hello Martin,
once i suggested at GIMP brainstorm painting two lines for fuzzy brushes
and feather borders.
One dotted where pacity = 100% and on with just any secound dot where
opacity = 0%.
A center mark would be great too.
So artists know where is the center of the stroke (may for connecting
border or painting along a line)
and where is 100% color and where is it faded out.
This border feature would be great for feather borders too (without center mark of course).
Take a look at this mockup: http://www.neeneenee.de/bart/gimp-border.png
Best regards and happy development!
___/\________________________
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
On Sunday 30 August 2009 22:30:54 Eckhard M. Jäger wrote:
Hello Martin,
once i suggested at GIMP brainstorm painting two lines for fuzzy brushes and feather borders.
One dotted where pacity = 100% and on with just any secound dot where opacity = 0%.
A center mark would be great too.
There is just one major problem with this suggestion. Outline drawing is second most expensive operation in painting, first being the operation of applying the stamp to the canvas. Drawing two outlines would double that. Until there is on demand rendering with a gegl paint core, I do not see the resources to do this.
--Gegl
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
On Sun, Aug 30, 2009 at 5:57 PM, yahvuu wrote:
hi,
what about using a dashed outline for fuzzy brushes?
This is more or less what gogh has: two circles to represent fuzzyness. It was really really useful.
Alexandre
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
On Mon, Aug 31, 2009 at 11:11:32AM +0400, Alexandre Prokoudine wrote:
This is more or less what gogh has: two circles to represent fuzzyness. It was really really useful.
I think in gogh the two circles represent the brush radius at minimum and maximum pressure, not the fuzziness.
bye, Martin
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
what about printing a semi transparent copy of the actual brush on the
canvas? Is it possible?
The "ghosted" brush can have two opacities, one for the preview when the
tool isn't in use, and one more transparent when the tool is in use.
I wouldn't mind to have a simple circle of the size of the brush as the
default mode and an alternative option for overlaying a semi-transparent
brush image.
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Guillermo Espertino wrote:
what about printing a semi transparent copy of the actual brush on the canvas?
exactly what I thought.
--ps
founder + principal interaction architect man + machine interface works
http://mmiworks.net/blog : on interaction architecture
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
On 09/01/2009 07:29 PM, peter sikking wrote:
Guillermo Espertino wrote:
what about printing a semi transparent copy of the actual brush on the canvas?
exactly what I thought.
Even though I think the patch made the brush outline better for fuzzy brushes, it is still not without flaws. Let's ignore the patch and aim for the above instead
/ Martin
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Hi all,
Martin Nordholts wrote:
On 09/01/2009 07:29 PM, peter sikking wrote:
Guillermo Espertino wrote:
what about printing a semi transparent copy of the actual brush on the canvas?
exactly what I thought.
Even though I think the patch made the brush outline better for fuzzy brushes, it is still not without flaws. Let's ignore the patch and aim for the above instead
i guess what works best is to display the brush outline while drawing and to use the brush stamp when idling.
If you want to test-drive the look and feel, here's a flash applet
featuring various outline designs:
http://sites.google.com/site/yahvuu/stuff/brushtester-web.lzx.swf8.swf?attredirects=0
Other designs can be tested with a download version from http://yahvuu.wordpress.com/2009/09/09/brush-tester/
simply replace the PNGs (e.g. tester*.png) or edit brushes.xml and hit the "reload brushes" button.
have fun, peter
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
If you want to test-drive the look and feel, here's a flash applet featuring various outline designs:
http://sites.google.com/site/yahvuu/stuff/brushtester-web.lzx.swf8.swf?attredirects=0
This is the good approach : prototype, test and decide. Thanks a lot for the flash test.
I personnaly think a call to the community via the user mailing list should be done to decide which behavior to adopt. What do you think ?
ciao,
Steren
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
On 09/09/2009 09:39 PM, Steren wrote:
If you want to test-drive the look and feel, here's a flash applet featuring various outline designs: http://sites.google.com/site/yahvuu/stuff/brushtester-web.lzx.swf8.swf?attredirects=0
This is the good approach : prototype, test and decide. Thanks a lot for the flash test.
I personnaly think a call to the community via the user mailing list should be done to decide which behavior to adopt. What do you think ?
Hi!
We don't design GIMP for the arbitrary set of people who would reply to such a poll. We design GIMP so that we can realize our product vision [1]. Because of this, such a poll would not have very much value.
BR,
Martin
[1] http://gui.gimp.org/index.php/GIMP_UI_Redesign#product_vision
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
(peter) yahvuu wrote:
what about printing a semi transparent copy of the actual brush on the
canvas?exactly what I thought.
Even though I think the patch made the brush outline better for fuzzy brushes, it is still not without flaws. Let's ignore the patch and aim for the above instead
i guess what works best is to display the brush outline while drawing and to use the brush stamp when idling.
If you want to test-drive the look and feel, here's a flash applet featuring various outline designs:
http://sites.google.com/site/yahvuu/stuff/brushtester-web.lzx.swf8.swf?attredirects=0
I tried that, and although I would not call that exactly a solution, it did help to observe some things:
- it is fantastic to see a fuzzy/grunge brush as a real "copy of the actual brush" when one is not painting, but it has to _contrast_ with what is under it or else it just disappears. When it contrasts (some X-OR variation, or so) I think it should not be semi transparent anymore, just exactly reflect the brush alpha value for each of its 'pixels'.
- that really opens up what (dynamic) paint parameters should be reflected by the brush when not painting: looks like brush geometry (brush, scale, aspect ratio, angle) yes, hardness: maybe, rest (opacity, spacing, jitter, color(gradient)) no.
- when painting, first I feel that this outline is a lousy
representative
for a brush. next I notice that getting the 'brush' out of the way
and
showing the immediate paint result rules. so now I am thinking:
what about no outline at all and just a cross-hair for mouse position
when the mouse is down?
--ps
founder + principal interaction architect man + machine interface works
http://mmiworks.net/blog : on interaction architecture
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
second try sending this...
(peter) yahvuu wrote:
what about printing a semi transparent copy of the actual brush on the
canvas?exactly what I thought.
Even though I think the patch made the brush outline better for fuzzy brushes, it is still not without flaws. Let's ignore the patch and aim for the above instead
i guess what works best is to display the brush outline while drawing and to use the brush stamp when idling.
If you want to test-drive the look and feel, here's a flash applet featuring various outline designs:
http://sites.google.com/site/yahvuu/stuff/brushtester-web.lzx.swf8.swf?attredirects=0
I tried that, and although I would not call that exactly a solution, it did help to observe some things:
- it is fantastic to see a fuzzy/grunge brush as a real "copy of the actual brush" when one is not painting, but it has to _contrast_ with what is under it or else it just disappears. When it contrasts (some X-OR variation, or so) I think it should not be semi transparent anymore, just exactly reflect the brush alpha value for each of its 'pixels'.
- that really opens up what (dynamic) paint parameters should be reflected by the brush when not painting: looks like brush geometry (brush, scale, aspect ratio, angle) yes, hardness: maybe, rest (opacity, spacing, jitter, color(gradient)) no.
- when painting, first I feel that this outline is a lousy
representative
for a brush. next I notice that getting the 'brush' out of the way and
showing the immediate paint result rules. so now I am thinking:
what about no outline at all and just a cross-hair for mouse position
when the mouse is down?
--ps
founder + principal interaction architect man + machine interface works
http://mmiworks.net/blog : on interaction architecture
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Peter-
To clarify, you are suggesting the on screen pointer icon/sprite could show the actual brush as it would look painted with a single mouse click, but once painting/holding the mouse down it would render as a cross hair? And once the mouse is released it would turn back to a static "sprite"?
That should keep the response faster when painting then, right?
That would great for a mouse user, but would it work for a size dynamic tablet user?
-Rob A>
On 9/11/09, peter sikking wrote:
second try sending this...
(peter) yahvuu wrote:
what about printing a semi transparent copy of the actual brush on the
canvas?exactly what I thought.
Even though I think the patch made the brush outline better for fuzzy brushes, it is still not without flaws. Let's ignore the patch and aim for the above instead
i guess what works best is to display the brush outline while drawing and to use the brush stamp when idling.
If you want to test-drive the look and feel, here's a flash applet featuring various outline designs:
http://sites.google.com/site/yahvuu/stuff/brushtester-web.lzx.swf8.swf?attredirects=0I tried that, and although I would not call that exactly a solution, it did help to observe some things:
- it is fantastic to see a fuzzy/grunge brush as a real "copy of the actual brush" when one is not painting, but it has to _contrast_ with what is under it or else it just disappears. When it contrasts (some X-OR variation, or so) I think it should not be semi transparent anymore, just exactly reflect the brush alpha value for each of its 'pixels'.
- that really opens up what (dynamic) paint parameters should be reflected by the brush when not painting: looks like brush geometry (brush, scale, aspect ratio, angle) yes, hardness: maybe, rest (opacity, spacing, jitter, color(gradient)) no.
- when painting, first I feel that this outline is a lousy representative
for a brush. next I notice that getting the 'brush' out of the way and showing the immediate paint result rules. so now I am thinking: what about no outline at all and just a cross-hair for mouse position when the mouse is down?--ps
founder + principal interaction architect man + machine interface works
http://mmiworks.net/blog : on interaction architecture
_______________________________________________ Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
On Sun, Sep 13, 2009 at 10:22 AM, Rob Antonishen wrote:
Peter-
To clarify, you are suggesting the on screen pointer icon/sprite could show the actual brush as it would look painted with a single mouse click, but once painting/holding the mouse down it would render as a cross hair? And once the mouse is released it would turn back to a static "sprite"?
That should keep the response faster when painting then, right?
That would great for a mouse user, but would it work for a size dynamic tablet user?
As a tablet user, the above is exactly what I want; I certainly don't want an outline while painting (may not be completely accurate, and I tend to move too fast for the outline to have any real use)
When using a mouse, visual response to movement tends to be predictable enough that I don't really gain anything from the brush outline during painting either.
+1 on crosshairs-only during painting
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
hi,
peter sikking wrote:
- it is fantastic to see a fuzzy/grunge brush as a real "copy of the actual brush" when one is not painting, but it has to _contrast_ with what is under it or else it just disappears. When it contrasts (some X-OR variation, or so) I think it should not be semi transparent anymore, just exactly reflect the brush alpha value for each of its 'pixels'.
on the other hand, showing the brush stamp gives a good preview of drawing. This can be taken to the extreme by setting 'idle' opacity to 100%. But then this only makes sense for drawing in normal mode on the top layer. And becomes totally useless for the dodge/burn tool.
Adding contrast needs some thought -- at least the standard XOR 0x7FFF7F doesn't perform well using simple blending according to brush stamp alpha: http://yahvuu.wordpress.com/2009/08/30/scratch-trash/
somebody got ideas for better algorithms?
- that really opens up what (dynamic) paint parameters should be reflected by the brush when not painting: looks like brush geometry (brush, scale, aspect ratio, angle) yes, hardness: maybe, rest (opacity, spacing, jitter, color(gradient)) no.
i'd love to indicate hardness somehow. Seems to me what's interesting is not so much the exact border of, say 25% opacity, but rather a hint about how wide the feathering is.
greetings,
peter
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
hi,
David Gowers wrote:
On Sun, Sep 13, 2009 at 10:22 AM, Rob Antonishen wrote:
Peter-
To clarify, you are suggesting the on screen pointer icon/sprite could show the actual brush as it would look painted with a single mouse click, but once painting/holding the mouse down it would render as a cross hair? And once the mouse is released it would turn back to a static "sprite"?
That should keep the response faster when painting then, right?
That would great for a mouse user, but would it work for a size dynamic tablet user?
As a tablet user, the above is exactly what I want; I certainly don't want an outline while painting (may not be completely accurate, and I tend to move too fast for the outline to have any real use)
When using a mouse, visual response to movement tends to be predictable enough that I don't really gain anything from the brush outline during painting either.
does this still hold true when using the dodge/burn tool, too?
greetings, peter
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
On Fri, Sep 11, 2009 at 1:24 PM, peter sikking wrote:
- when painting, first I feel that this outline is a lousy representative
for a brush. next I notice that getting the 'brush' out of the way and showing the immediate paint result rules. so now I am thinking: what about no outline at all and just a cross-hair for mouse position when the mouse is down?
What exactly do you mean? Disabling brush outline at all? Or disabling brush outline when mouse button is pressed (stylus is touching surface and moving)? The latter could work, but disabling brush outline completely won't work at all.
Alexandre
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
hi,
Alexandre Prokoudine wrote:
On Fri, Sep 11, 2009 at 1:24 PM, peter sikking wrote:
- when painting, first I feel that this outline is a lousy representative
for a brush. next I notice that getting the 'brush' out of the way and showing the immediate paint result rules. so now I am thinking: what about no outline at all and just a cross-hair for mouse position when the mouse is down?What exactly do you mean? Disabling brush outline at all? Or disabling brush outline when mouse button is pressed (stylus is touching surface and moving)?
you may try this with the brush tester [1], by setting opacity values for 'MouseDown' and 'MouseMove' to zero.
greetings, peter
PS: a dhtml version is also available from [2]
[1] http://sites.google.com/site/yahvuu/stuff/brushtester-web.lzx.swf8.swf?attredirects=0 [2] http://yahvuu.wordpress.com/2009/09/09/brush-tester/
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Alexandre wrote:
What exactly do you mean?
OK, I'll try to be clearer:
mouse up/not painting/just hovering over the canvas:
show the real brush pixmap, with all the contrast we can muster vs. the canvas under it, 100% true opacity for each stamp pixel, reflecting brush, scale, aspect ratio, angle + hardness (?) parameters and dynamics, but not opacity, spacing, jitter, color(gradient) parameters and dynamics.
mouse down/painting/stroking on the canvas:
the applied 'paint' is the feedback. show nothing but a cross-hair (again in all the contrast we can muster) at the mouse position. this is really just there to keep users 'rooted', a confidence builder.
--ps
founder + principal interaction architect man + machine interface works
http://mmiworks.net/blog : on interaction architecture
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
That would be fine if GIMP only supported mouse click painting, not dragging. When one moves mouse while painting seeing brush outline and borders of analyzed area for healing brush is useful.
peter sikking wrote:
mouse down/painting/stroking on the canvas: the applied 'paint' is the feedback. show nothing but a cross-hair (again in all the contrast we can muster) at the mouse position. this is really just there to keep users 'rooted', a confidence builder.
With respect
Alexander Rabtchevich
[PATCH] Improve brush outline for fuzzy brushes, sample screenshot included
Alexander Rabtchevich wrote:
That would be fine if GIMP only supported mouse click painting, not dragging. When one moves mouse while painting seeing brush outline and borders of analyzed area for healing brush is useful.
peter sikking wrote:
mouse down/painting/stroking on the canvas: the applied 'paint' is the feedback. show nothing but a cross-hair (again in all the contrast we can muster) at the mouse position. this is really just there to keep users 'rooted', a confidence builder.
I think you are right in pointing out that not all 'painting' actions (like heal or dodge and burn, or just subtle painting) give strong enough results that can 'speak for themselves.'
trying that out myself with heal, dodge and burn and the round fuzzy
brush,
I found the outline also utterly useless at showing me what was going to
change how strongly within that outline.
nice pair of opposing requirements during painting: 1) give a clear and exact impression of the effective brush, including its fuzziness, no matter what's on the canvas 2) get out of the way of very subtle 'painting' results
--ps
founder + principal interaction architect man + machine interface works
http://mmiworks.net/blog : on interaction architecture