Shape layers for GIMP?
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.
Shape layers for GIMP? | Jeremy Morton | 08 Sep 10:34 |
Shape layers for GIMP? | Richard Gitschlag | 08 Sep 17:29 |
Shape layers for GIMP? | Jeremy Morton | 08 Sep 18:02 |
Shape layers for GIMP? | Richard Gitschlag | 09 Sep 01:20 |
Shape layers for GIMP? | Richard Gitschlag | 09 Sep 01:20 |
Shape layers for GIMP? | yahvuu | 09 Sep 11:24 |
Shape layers for GIMP? | Jeremy Morton | 09 Sep 11:32 |
Shape layers for GIMP? | Ofnuts | 09 Sep 15:26 |
Shape layers for GIMP? | Jeremy Morton | 08 Sep 18:02 |
Shape layers for GIMP? | Liam R E Quin | 08 Sep 19:08 |
Shape layers for GIMP? | Jeremy Morton | 08 Sep 19:23 |
Shape layers for GIMP? | Guillermo Espertino (Gez) | 08 Sep 20:47 |
Shape layers for GIMP? | Bill Skaggs | 08 Sep 21:06 |
Shape layers for GIMP? | Alexandre Prokoudine | 09 Sep 00:30 |
Shape layers for GIMP? | Jeremy Morton | 08 Sep 19:23 |
Shape layers for GIMP? | Liam R E Quin | 08 Sep 19:08 |
Shape layers for GIMP? | Jeremy Morton | 09 Sep 21:22 |
Shape layers for GIMP? | Guillermo Espertino (Gez) | 10 Sep 02:57 |
Shape layers for GIMP?
I've looked around and it looks like GIMP doesn't have anything like Photoshop's shape layers. Shape layers are really cool because they're a path tied to a normal layer whose purpose is simply to ummask that normal layer. Photoshop then gives you a live preview of what that unmasked layer looks like when the path is closed, and automatically updates that preview as you edit the path's nodes. In addition, Photoshop offers the option to apply layer effects live (updated each time you edit the nodes in the shape layer's path).
Although you can do this in GIMP, you have to do it all manually (create path, convert to selection, fill selection) so it's much slower and it isn't a "live preview". Are there any plans to introduce something like this for GIMP?
Shape layers for GIMP?
Date: Sat, 8 Sep 2012 11:34:00 +0100 From: admin@game-point.net
To: gimp-developer-list@gnome.org; gegl-developer-list@gnome.org Subject: [Gimp-developer] Shape layers for GIMP?I've looked around and it looks like GIMP doesn't have anything like Photoshop's shape layers. Shape layers are really cool because they're a path tied to a normal layer whose purpose is simply to ummask that normal layer. Photoshop then gives you a live preview of what that unmasked layer looks like when the path is closed, and automatically updates that preview as you edit the path's nodes. In addition, Photoshop offers the option to apply layer effects live (updated each time you edit the nodes in the shape layer's path).
Although you can do this in GIMP, you have to do it all manually (create path, convert to selection, fill selection) so it's much slower and it isn't a "live preview". Are there any plans to introduce something like this for GIMP?
There's a slightly faster manual way: Stroke the path onto a layer mask, this keeps the "shape" of the layer separate from its actual content. True, you still have no live preview (you have to fill inside/outside of selection with 0% and 100% to set the mask) linked to a path object, but it's non-destructive to the layer's constituent pixels.
-- Stratadrake
strata_ranger@hotmail.com
--------------------
Numbers may not lie, but neither do they tell the whole truth.
Shape layers for GIMP?
On 08/09/2012 18:29, Richard Gitschlag wrote:
There's a slightly faster manual way: Stroke the path onto a layer mask, this keeps the "shape" of the layer separate from its actual content. True, you still have no live preview (you have to fill inside/outside of selection with 0% and 100% to set the mask) linked to a path object, but it's non-destructive to the layer's constituent pixels.
Destroying the constituent pixels isn't really what's taking up the time. What's taking up the time is going through the following process:
1. Delete previous applied "effects layers".
2. Modify path.
3. Convert path to selection.
4. Fill selection with colour.
5. Apply inner shadow to layer.
6. Apply inner glow to layer.
7. Apply gradient to layer.
8. [etc...]
With a shape layer, assuming it had been set up already with the desired effects, the above steps would change to the following:
1. Modify path.
Shape layers for GIMP?
On 08/09/2012 18:29, Richard Gitschlag wrote:
There's a slightly faster manual way: Stroke the path onto a layer mask, this keeps the "shape" of the layer separate from its actual content. True, you still have no live preview (you have to fill inside/outside of selection with 0% and 100% to set the mask) linked to a path object, but it's non-destructive to the layer's constituent pixels.
Destroying the constituent pixels isn't really what's taking up the time. What's taking up the time is going through the following process:
1. Delete previous applied "effects layers".
2. Modify path.
3. Convert path to selection.
4. Fill selection with colour.
5. Apply inner shadow to layer.
6. Apply inner glow to layer.
7. Apply gradient to layer.
8. [etc...]
With a shape layer, assuming it had been set up already with the desired effects, the above steps would change to the following:
1. Modify path.
Shape layers for GIMP?
On Sat, 2012-09-08 at 11:34 +0100, Jeremy Morton wrote:
Are there any plans to introduce something like this for GIMP?
The GIMP plans are limited by having very few active programmers.
Are you volunteering to work on a feature like this? That would indeed be awesome.
Liam
Shape layers for GIMP?
On Sat, 2012-09-08 at 11:34 +0100, Jeremy Morton wrote:
Are there any plans to introduce something like this for GIMP?
The GIMP plans are limited by having very few active programmers.
Are you volunteering to work on a feature like this? That would indeed be awesome.
Liam
Shape layers for GIMP?
I think the first stage, to make it really useful, would be to incorporate the Script-fu layer effects here into GIMP proper: http://registry.gimp.org/node/186
Are they already in GIMP? I can't see most of them. Once they were in, GIMP could apply them to shape layers automatically.
Shape layers for GIMP?
I think the first stage, to make it really useful, would be to incorporate the Script-fu layer effects here into GIMP proper: http://registry.gimp.org/node/186
Are they already in GIMP? I can't see most of them. Once they were in, GIMP could apply them to shape layers automatically.
Shape layers for GIMP?
El 08/09/12 16:23, Jeremy Morton escribi:
I think the first stage, to make it really useful, would be to incorporate the Script-fu layer effects here into GIMP proper: http://registry.gimp.org/node/186
Are they already in GIMP? I can't see most of them. Once they were in, GIMP could apply them to shape layers automatically.
Those layer effects are just scripts inspired in Photoshop's layer
effects (which are non-destructive and editable).
As far as I know having GIMP ported completely to GEGL will make things
like that possible (while the old core didn't), but still somebody has
to code the feature.
I'm afraid it's not as simple as incorporate the existing effects to
GIMP proper.
Regarding the original topic, I remember there was a "vector layers" GSoC project that never made it into GIMP. It's from 2006, so it was designed for the old core, but maybe somebody could take a look, at least to see if some of that code is useful for introducing the feature to the new GEGLized GIMP.
Gez.
gimp-developer-list mailing list gimp-developer-list@gnome.org https://mail.gnome.org/mailman/listinfo/gimp-developer-list
Shape layers for GIMP?
I would call this a "clipping path" rather than a shape layer. I don't think it would be very hard to implement, except for one difficulty. The last time I looked (a couple of years ago), the GIMP path system required all paths to belong to an image's path list, making it impossible for a path to belong properly to a layer or other object. Until that requirement is relaxed, it won't be possible to do this in a reasonable way. The requirement also prevents a proper implementation of text-along-a-path.
- Bill
Shape layers for GIMP?
On Sun, Sep 9, 2012 at 12:47 AM, Guillermo Espertino (Gez) wrote:
Regarding the original topic, I remember there was a "vector layers" GSoC project that never made it into GIMP.
The back-end part of it did.
Alexandre Prokoudine http://libregraphicsworld.org
Shape layers for GIMP?
Date: Sat, 8 Sep 2012 19:02:53 +0100 From: admin@game-point.net
To: strata_ranger@hotmail.com
CC: gimp-developer-list@gnome.org; gegl-developer-list@gnome.org Subject: Re: [Gimp-developer] Shape layers for GIMP?On 08/09/2012 18:29, Richard Gitschlag wrote:
There's a slightly faster manual way: Stroke the path onto a layer mask, this keeps the "shape" of the layer separate from its actual content. True, you still have no live preview (you have to fill inside/outside of selection with 0% and 100% to set the mask) linked to a path object, but it's non-destructive to the layer's constituent pixels.
Destroying the constituent pixels isn't really what's taking up the time. What's taking up the time is going through the following process:
1. Delete previous applied "effects layers". 2. Modify path.
3. Convert path to selection.
4. Fill selection with colour.
5. Apply inner shadow to layer.
6. Apply inner glow to layer.
7. Apply gradient to layer.
8. [etc...]With a shape layer, assuming it had been set up already with the desired effects, the above steps would change to the following:
1. Modify path.
-- Best regards,
Jeremy Morton (Jez)
Then the issue here is not with "shaped" layers itself, but layer post-processing effects in general. From those steps I assume you're telling Photoshop that the "shadow" and "glow" are live effects that Photoshop applies for you automatically, and re-applies whenever you change the path source. GIMP indeed can not do that and probably won't be able to for some time.
Otherwise, the fastest GIMP steps I can come up for managing a layer "clipping path" are this:
1 - Create desired path shape.
2 - Path to selection.
3 - Add layer mask, initialized with selection.
Then if/when you need to change the layer shape, you simply:
1 - Modify path object.
2 - Same path to selection.
3 - Delete layer mask.
4 - Add layer mask, initialized with selection.
This does not include other effects, of course, only the layer shape itself.
(And perhaps we really need a command to reinitialize the layer mask. I spot no easy way of telling GIMP to copy from selection mask channel to layer mask channel...)
-- Stratadrake
strata_ranger@hotmail.com
--------------------
Numbers may not lie, but neither do they tell the whole truth.
Shape layers for GIMP?
Date: Sat, 8 Sep 2012 19:02:53 +0100 From: admin@game-point.net
To: strata_ranger@hotmail.com
CC: gimp-developer-list@gnome.org; gegl-developer-list@gnome.org Subject: Re: [Gimp-developer] Shape layers for GIMP?On 08/09/2012 18:29, Richard Gitschlag wrote:
There's a slightly faster manual way: Stroke the path onto a layer mask, this keeps the "shape" of the layer separate from its actual content. True, you still have no live preview (you have to fill inside/outside of selection with 0% and 100% to set the mask) linked to a path object, but it's non-destructive to the layer's constituent pixels.
Destroying the constituent pixels isn't really what's taking up the time. What's taking up the time is going through the following process:
1. Delete previous applied "effects layers". 2. Modify path.
3. Convert path to selection.
4. Fill selection with colour.
5. Apply inner shadow to layer.
6. Apply inner glow to layer.
7. Apply gradient to layer.
8. [etc...]With a shape layer, assuming it had been set up already with the desired effects, the above steps would change to the following:
1. Modify path.
-- Best regards,
Jeremy Morton (Jez)
Then the issue here is not with "shaped" layers itself, but layer post-processing effects in general. From those steps I assume you're telling Photoshop that the "shadow" and "glow" are live effects that Photoshop applies for you automatically, and re-applies whenever you change the path source. GIMP indeed can not do that and probably won't be able to for some time.
Otherwise, the fastest GIMP steps I can come up for managing a layer "clipping path" are this:
1 - Create desired path shape.
2 - Path to selection.
3 - Add layer mask, initialized with selection.
Then if/when you need to change the layer shape, you simply:
1 - Modify path object.
2 - Same path to selection.
3 - Delete layer mask.
4 - Add layer mask, initialized with selection.
This does not include other effects, of course, only the layer shape itself.
(And perhaps we really need a command to reinitialize the layer mask. I spot no easy way of telling GIMP to copy from selection mask channel to layer mask channel...)
-- Stratadrake
strata_ranger@hotmail.com
--------------------
Numbers may not lie, but neither do they tell the whole truth.
Shape layers for GIMP?
Am 08.09.2012 20:02, schrieb Jeremy Morton:
[..] What's taking up the time is going through the following process:
1. Delete previous applied "effects layers". 2. Modify path.
3. Convert path to selection.
4. Fill selection with colour.
5. Apply inner shadow to layer.
6. Apply inner glow to layer.
7. Apply gradient to layer.
8. [etc...]With a shape layer, assuming it had been set up already with the desired effects, the above steps would change to the following:
1. Modify path.
One of the most important features of future GIMP is to enable the user to "revisit the past". Citing [1]: "No matter if it was done five seconds or five months ago, one can recall any previous operation applied to this layer and readjust it. "
My understanding is that you will be able to go back in the operations history and just modify the path. All consequences of this modification will be displayed live. No need to declare special "layer effects" or special "shape layers".
On a related note, what keeps me thinking is that the photoshop developers a) are painfully aware of the mess that the destructive-editing heritage left in the photoshop user interface [2] b) have a non-destructive back-end working under the hood c) and despite of that, seem to keep bloating the UI with ever-more kinds of special layers instead of moving towards a clean non-destructive interface.
It seems that Adobe rather strongly favors to protect their existing user base's learning investments over any rewards to be gained by a simpler, cleaner interface.
Not sure what to learn from that regarding GIMP UI development.
best regards, yahvuu
[1] http://blog.mmiworks.net/2012/01/gimp-full-gegl-ahead.html [2] interview with photoshop developers [in german]: http://www.heise.de/foto/artikel/Photoshop-quo-vadis-Die-Entwickler-im-Interview-227008.html
Shape layers for GIMP?
On 09/09/2012 12:24, yahvuu wrote:
Am 08.09.2012 20:02, schrieb Jeremy Morton:
[..] What's taking up the time is going through the following process:
1. Delete previous applied "effects layers". 2. Modify path.
3. Convert path to selection.
4. Fill selection with colour.
5. Apply inner shadow to layer.
6. Apply inner glow to layer.
7. Apply gradient to layer.
8. [etc...]With a shape layer, assuming it had been set up already with the desired effects, the above steps would change to the following:
1. Modify path.
One of the most important features of future GIMP is to enable the user to "revisit the past". Citing [1]: "No matter if it was done five seconds or five months ago, one can recall any previous operation applied to this layer and readjust it. "
My understanding is that you will be able to go back in the operations history and just modify the path. All consequences of this modification will be displayed live. No need to declare special "layer effects" or special "shape layers".
Well that sounds great, but I don't really see how it's feasible. What if you want to modify an operation 1000 complex edits ago? The CPU is going to have to redo those 1000 edits every time you modify; surely this would become cumbersome very quickly?
Shape layers for GIMP?
On 09/09/2012 01:24 PM, yahvuu wrote:
It seems that Adobe rather strongly favors to protect their existing user base's learning investments over any rewards to be gained by a simpler, cleaner interface.
Not sure what to learn from that regarding GIMP UI development.
Well, given the recent brawl around the Save/Export change in Gimp... :)
On the other hand it may be important for Gimp to come up first with a clean interface for this, lest it be patented by someone else...
Shape layers for GIMP?
Yes, processors nowadays are very powerful and indeed applying a bunch of effects onto a shape layer every time you make a change takes a good amount of CPU power; but that's fundamentally different, because at least there, there is a finite limit of the number of operations that will need to be reapplied per change (ie. every single layer effect is turned on, the CPU will have to re-apply every single layer effect). However, the idea of being able to modify any change in the undo buffer is much more difficult, because there is a potentially infinite number of past changes. I could design a really complex shape, apply 100 effects, then go away and do loads more complex work with loads more complex effects, then design another really complex shape, etc. By the time I want to go back 1000 (by the way, actually finding the edit I want to modify would be rather difficult at this point too!), the CPU has to apply 1000 processor-intensive effects. That's WAY more work than even the worst-case scenario with something like a shape layer. But it just gets worse and worse. What will the performance be like if I want to modify something 10,000 moves back? 100,000? At some point this idea because unfeasible, it seems to me. Modern CPUs can perform "quite a lot of operations without cumbersome delay", but even the most powerful CPU is going to start to hurt at some point, and in advanced graphics editing, that point may arrive rather quickly.
> operations without cumbersome delay. And, clearly: if many slow
> filters have to be recalculated
> in order to update the screen, the user may have to wait. But again,
> what would be the better
> alternative -- simply not allow to re-adjust that operation from long
> ago?
Yes. Or to give the user a warning that this operation is likely to take a long time. But because it may be likely to take a long time, it is no replacement for shape layers. The great thing about shape layers in Photoshop is that you get a "live preview" - it is able to render the layer effects almost immediately every time you make a change. It wouldn't be worth it if you had to wait 10 seconds every time.
Shape layers for GIMP?
El 09/09/12 18:22, Jeremy Morton escribi:
Yes, processors nowadays are very powerful and indeed applying a bunch of effects onto a shape layer every time you make a change takes a good amount of CPU power; but that's fundamentally different, because at least there, there is a finite limit of the number of operations that will need to be reapplied per change (ie. every single layer effect is turned on, the CPU will have to re-apply every single layer effect). However, the idea of being able to modify any change in the undo buffer is much more difficult, because there is a potentially infinite number of past changes. I could design a really complex shape, apply 100 effects, then go away and do loads more complex work with loads more complex effects, then design another really complex shape, etc. By the time I want to go back 1000 (by the way, actually finding the edit I want to modify would be rather difficult at this point too!), the CPU has to apply 1000 processor-intensive effects. That's WAY more work than even the worst-case scenario with something like a shape layer. But it just gets worse and worse. What will the performance be like if I want to modify something 10,000 moves back? 100,000? At some point this idea because unfeasible, it seems to me. Modern CPUs can perform "quite a lot of operations without cumbersome delay", but even the most powerful CPU is going to start to hurt at some point, and in advanced graphics editing, that point may arrive rather quickly.
Well, I guess that it all depends on how GEGL manages the nodetree.
AFAIK GEGL works internally as a nodetree. It's not a linear stack of
operations, so every branch of that nodetree will have its own history
of operations, and layers, text objects, etc. will be different branches.
So if you did 100000 operations in your document, probably only a small
percentage of those operations belong to the layer you're working on.
The rest can be cached, and that cache should survive until you do
something that affects that cached layers/elements.
Apart from that, 1000 move operations don't necessarily mean 1000 cached
bitmaps of every position. It doesn't even mean 1000 move operations
again if you have to recalculate the tree. If you have a stack of 1000
move operations, the only two operations that matter are the original
and the final position. It's not necessary to recalculate all of them if
you don't have to go back to an intermediate position.
I don't know the internals of GEGL and I'm sure that creating a
high-performance non-destructive workflow is a challenging task, but I
can think of several tricks that would work around the complexity of a
node tree. It can be optimized if you can avoid redundant operations.
It's possible to take "snapshots" of everything but the area you're
working on, etc.
I know nothing about programming, but I have some experience with nodal
compositing programs and that's how they work. You don't put 10000 move
nodes if you have to tweak the position of an element 10000 times. You
just tweak the position and the node will store the position. And I
guess that the undo stack of that operation will store only the 10000
changes in the coordinates.
It can be done. Software packages like Nuke or even Blender, which is far simpler, do something similar and for animation! This is a good example of a very complex tree in action: https://www.youtube.com/watch?v=POpi-Jt_EaQ
Gez.
gimp-developer-list mailing list gimp-developer-list@gnome.org https://mail.gnome.org/mailman/listinfo/gimp-developer-list