Re: [Gimp-developer] Attempt to summarize the discussion of my examples of what doesn't work in unbounded sRGB

On 04/21/2014 07:35 AM, Teo Mazars wrote:

Hmm, I understand, then the default black-to-white gradient would
be non perceptually linear, which is more surprising than the
color-to-color gradient. I think I am now convinced this is
correct, but it will probably be puzzling to use.

BTW, "gradient" is not such a good example because it's not related
to chromaticities, "Invert" would be a better one.

I don't understand what you are trying to say. How is drawing a
from most saturated red to most saturated green in any given color
not related to chromaticities?

Well, a gradient operation doesn't have to know what are the coordinates of chromaticities. The two colors used for a 
particular gradient are given by the user, if he want the "from most saturated red to most saturated green", 
he just have to send the coordinates of the red and the green to the operation, which could be the scaled/translated 
[1.0, 0.0, 0.0], [0.0, 1.0, 0.0] for a GIMP user. Since we just say that the operation have to work in a linear color 
space, there is no issue with out-of-gamut values.

Is that correct? If so, that's why "Gradient" is not a good example.

Ah, I see what you mean.

I wasn't saying that gradient uses chromaticities information directly, rather that the chromaticities of a color space determine what the equivalent unbounded mode sRGB RGB values are, to colors that were chosen in the source color space.

Gradient is an operation that *should* produce the same result in any unbounded mode color space. The actual chromaticities should be irrelevant. But gradient does only works in unbounded mode sRGB when operating on linear values.

Linear gamma unbounded sRGB Rec. 2020 red and green:
reddest red:     1.660581 -0.124595 -0.018144
greenest green: -0.587709  1.132939 -0.100573

Regular (perceptual) unbounded mode sRGB Rec. 2020 red and green:
reddest red:     1.248251 -1.609913 -0.234435
greenest green: -7.593863  1.056319 -1.299524

Those negative RGB values after converting to unbounded mode *perceptual* sRGB are what make the resulting gradient from Rec. 2020 red to Rec. 2020 green look so awful.

 "Invert" needs to know what are the chromaticities because it uses them to compute the "inverted" colors.

You mean "Value Invert"? If done in a linear gamma version of sRGB, regular Invert does work (and should work, it's the same as swapping the lower left and right Levels sliders) in unbounded mode sRGB, but Value Invert does not.

As the Value Invert code uses the chromaticities, that nicely explains why Value Invert doesn't work even in a true linear gamma version of sRGB.


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