Re: [Gimp-developer] Overlay Mode - fix.



El 14/11/12 09:32, yahvuu escribió:
Am 13.11.2012 18:37, schrieb Michael Natterer:
The problem is much bigger. Almost *all* of our layer modes
will be "Legacy", and the new modes will operate in linear
light. Just adding a hack for overlay is not going to
fix the root problem.
are you referring to technical concerns or rather to UI design challenges?


I think the solution that was designed to update the color transfer blend modes
(#325564) is sustainable here, too:

     Old modes have '(legacy)' appended in layer mode menu and
     don't show in menu unless an XCF with one of them is openend.
     They never show in paint menu.

Working with a legacy XCF thus offers some 40 blend modes, which can
naturally be displayed in two columns, side by side. This is important
in order to enable manual replacing of the old blend modes on a
layer-by-layer basis.

The legacy modes are CPU hogs, because they need to apply gamma to
both inputs and de-gamma the output. I see no way around that.


When a legacy XCF gets openend, an automatic conversion to the new blend modes
can be offered, informing the user that the color appearance might change.
This needs to be undoable. The notification should be non-intrusive, probably
similar to Firefoxen's door hangers[1]. I believe a lot of the rationales also
apply to GIMP. However, this needs to be in line with general GIMP UI (peter?).


Writing legacy XCF is clearly an export.



@Gez: i believe this is mostly in line with your proposal, only that i'd like to
avoid a modal pop-up on opening the legacy XCF.
I think that a checkbox in the layers panel would be more elegant and less of a clutter than adding "legacy blending modes" to the available blending modes. I was thinking about adding it along with the lock buttons. A checkbox labeled "legacy mode" that adds the needed gamma correction nodes to all the layers and replaces the new overlay for soft-light is all that we need. I can't see a reason for having legacy blending modes co-existing with native. The legacy mode should be only for compatibility. Users should always use the native mode and only use legacy for the very specific cases when old files need to be opened and their appearance has to match with other old files. For artistic purposes, the appearance of the old blending modes should be replicated using different tools (probably adjustment layers in the future. The non-destructive workflow proposed by Peter should provide all the needed tools for that). Duplicating the number of blending modes available adding the old ones is cumbersome and seems quite pointless.

There's an extra use case where legacy mode could be useful, and it's working for web mockups. As far as I could see, and the last time I asked pippin about this he said the same, since web browsers blend RGBA images in gamma-corrected space, it's necessary to design web mockups with gamma-corrected alpha overs to match the web appearance. Currently only alpha-overs are affected, but the web is getting blending modes soon in CSS, and apparently they will be also blended in sRGB space.

For that specific case using the legacy mode would be mandatory. But again, it doesn't have to co-exist with native. It's switching to a mode where everything has to work in the old way (except overlay probably. I'm not sure what overlay formula will be used in web browsers).

So, summarizing:
- There's no real need to make new and legacy co-exist. Those seem more like exclusive "modes".
- The new mode should be default, and the legacy mode an alternative.
- The current and future web seem to blend RGBA in nonlinear space, so having a mode for that could be needed (and in such case the term "legacy" isn't entirely accurate).

Regarding the modal popup: this is a very special situation. The user has to decide wether to use the native mode or the legacy for the imported file. Making that step transparent could mean leaving that important difference unnoticed.

Kind regards,
Gez.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]