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

Re: [pygame] 10 bits per color



David Gowers wrote:

Where's a linear encoding? sRGB (ie. the RGB888 encoding used on 99%
of standard displays)
is encoded nonlinearly with approximately gamma 2.2.

Yes, but image processing operations often ignore that and
add RGB components together as though they were linear. You
can get away with that because the curve isn't too far from
linear with gamma values typically used.

However, the purpose of gamma encoding is to correct for
nonlinearities in the display device, not in human vision.
For the latter, you would need some kind of log scale, and
you wouldn't be able to get away with treating the values
as linear.

Also, the idea of encoding images with some kind of assumed
gamma for the display device is becoming less and less
sensible as CRTs are disappearing and being replaced with
LCDs and other display technologies, which presumably
require quite different gamma values. It would be more
sensible to encode all images linearly and apply gamma
correction in the output hardware.

I think it's also true that there are some RGB101010 displays that can
actually display color values outside of standard sRGB

Seems to me that if there is a linear relationship between
RGB components and light intensity, then given enough dynamic
range, you should be able to represent any colour that a
human is capable of seeing, no?

--
Greg