Re: [Gimp-developer] New Image/Color Management option

On Sun, Jun 5, 2016 at 5:14 PM, Gez <listas ohweb com ar> wrote:
There is also flipping to/from formats with alpha. Pre-multiplied and
non-premultiplied alpha. As well as flips to/from higher and lower
bit-depths as well as to/from CIE Lab. By necessity of the operations
involved, working on linear data is another one of these constraints
that should be fulfilled. Whenever possible the developer/designer of
image processing algorithms should be burdened with reducing the
number of parameters, as well as sticking with good defaults - making
efficient work-flows possible. If you continue calling it "babl
I will start calling your non-flipping-babl a lobotomized babl - you
could also collapse "RaGaBaA float" into "RGBA float" along with
"R'G'B'A float" to make babl even less capable of providing internal
color / pixel-representation management for GEGL and thus GIMP and
other applications using GEGL. Before scaling or blurring an image a
user would then have to run a pre-multiply filter and after-wards
un-premultiply filter.

The fully automatic choice of alpha association is not always the best
way to go.
Sure, there are many documented cases where you know exactly what's the
most adequate association, but then there are also cases (which are not
corner cases at all) that completely fall apart with an automatic
For instance, take an EXR file with luminescent transparent pixels.
That's a perfectly valid case that is used extensively in VFX to
composite fire, light effects and any kind of emissive phenomena that
produce light but don't occlude light from the background.
It's important to note that what I mention is not a hack used by
artists at all. It's a valid alpha compositing situation described both
in the original porter-duff paper and the EXR specs.
If you feed that data to a program that decides a strategy of alpha
association, the most probable outcome is that the information in
pixels with zero alpha is discarded.
There is an infamous thread at Adobe Forums that had the most renowned
imagers ranting about how Photoshop was screwing image data because
programmers decided for users and made assumptions.

That's why it's important to know what artists will do with your
software before making such assumptions.
I'm not saying that every single option in a graphics program should
come with a toggle, but you can't choose for users if you don't know
what they need.

babl being able to deal with pre-multipled/associated and
non-premultiplied / non-associated alpha/transparency and know if a
buffer contains one or the other is a neccesary for being able to make
the choice of doing things automatically or not in GEGL/GIMP ; remove
this capabilitity from babl - like removing the capability to request
RGB data in a linear variant of the used RGB color space, removes the
ability to deal with thing automatically and requires full manual
control by the operator.

/pippin - digital media artist and toolsmith

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