3 ms·
Whenever linear RGB / gamma discussions come up, you know there's going to be a lot of folks going on about how frustrating it is that the default for most apps
by Remnant44 3y ago
Whenever linear RGB / gamma discussions come up, you know there's going to be a lot of folks going on about how frustrating it is that the default for most apps is to do their blending/filters/etc in gamma space (as TFA does).
And they're right. But there's an entire flip side of this coin, called Linear is Not Always The Answer.
Are you dealing with the behavior of light? Then you should be a linear colorspace.
But if you're performing artistic operations or other things that need to look right to a human, this is not what you want. What you actually want is a perceptually-uniform colorspace. Linear RGB is most definitely _not_ perceptually uniform! It's in fact, much worse than sRGB!
sRGB for all its flaws is at least roughly perceptually uniform for grey tones, a kind of "poor man's perceptual space". Color mixing, gradients, etc etc all work much better in a uniform space.
I've fallen in love with Oklab as a colorspace. (https://bottosson.github.io/posts/oklab/ https://bottosson.github.io/posts/oklab/ ), which has in practice provided excellent results.
Light? Use linear rgb. Human vision? Use Oklab.
- mfost 3y agoI don't understand that point. Of course you use gamma so that you have a more perceptually correct colorspace, mostly because 8 bit isn't enough accuracy to represent correctly the various shades of black the eye can percieve. Or because it's easier to make a perceptually linear gradient in gamma space. But the blending in gamma space looks WRONG. It isn't perceptually correct! Try blending at 50% pure white and pure black and the grey you obtain is the wrong one, far too dark. Surely this cannot be what people want.