Demos using sRGB?
category: code [glöplog]
Is anyone using sRGB in demos, or just the plain old regular linear RGB? Does it make any real difference to have gamma corrected display?
Quote:
Does it make any real difference to have gamma corrected display
Yes.
OK! Proceed to the next question please...
There were two questions.
I got bitten by this a year or two back (on mac not PC, colour correction is a bit more complex on mac i suspect but the theory is the same). The demo looked fine realtime, with everything colour corrected for the hardware + display. I only had seriously slow hardware with me at the party, so I captured it.. at that point I lost the colour correction, and the demo looked like shit, some of the effects were totally missing :(
So yeah, what keops said.
So yeah, what keops said.
Read this blog and the presentations linked from it, and you'll know everything anyone could possibly want to know about srgb, HDR and gamma-correct rendering.
http://filmicgames.com/archives/category/gamma
(this is pretty good too)
psonice - are you sure your capture-software and/or video-compression didn't just suck?
http://filmicgames.com/archives/category/gamma
(this is pretty good too)
psonice - are you sure your capture-software and/or video-compression didn't just suck?
hornet: Thanks, those are some nice readings.
Doing work in linear RGB is the better way to perform color operation.
It deliver usually subtle differences... thats why I would say most graphic tweakers dont know the difference.
On the CPU its also costly (bandwidth and/or computation)
I have yet to come across a GPU that doesn't do sRGB load/stores with dedicated logic, so its free to enable sRGB in the GPU hw sampler and doing sRGB Writes.
To prove this point, even Intel old IGP support it.
note: this is a.ok for demos, but GPU dont implement the full precision sRGB formula.
.. BTW, what demo use "plain old linear RGB" ??!?!?!?!
From what I know ALL demos use gamma compressed source textures and have gamma compressed render/display surfaces (gamma compressed / sRGB)
8 bit linear RGB look like total crap unless you are doing a 'white demo'
It deliver usually subtle differences... thats why I would say most graphic tweakers dont know the difference.
On the CPU its also costly (bandwidth and/or computation)
I have yet to come across a GPU that doesn't do sRGB load/stores with dedicated logic, so its free to enable sRGB in the GPU hw sampler and doing sRGB Writes.
To prove this point, even Intel old IGP support it.
note: this is a.ok for demos, but GPU dont implement the full precision sRGB formula.
.. BTW, what demo use "plain old linear RGB" ??!?!?!?!
From what I know ALL demos use gamma compressed source textures and have gamma compressed render/display surfaces (gamma compressed / sRGB)
8 bit linear RGB look like total crap unless you are doing a 'white demo'
Hornet: nope, was a bug in the demo. I was using different colorspaces in different places (sometimes using the display gamma tables, sometimes using linearRGB (it does have a speed impact in some cases on osx)).
Btw, there's a ton of stuff you can do with the gamma tables themselves (the ones that store the colour profile information on the GPU). If you modify them, you can do some simple colour based effects pretty much for free. Gamma fades are a good example, but you can do colour filters too (I've written an app to do this for night vision, it turns the whole OS red + black).
Btw, there's a ton of stuff you can do with the gamma tables themselves (the ones that store the colour profile information on the GPU). If you modify them, you can do some simple colour based effects pretty much for free. Gamma fades are a good example, but you can do colour filters too (I've written an app to do this for night vision, it turns the whole OS red + black).
yeah the general idea is to convert your source material to linear space for operations and to recorrect stuff before the final blit
For one... Haumea performs lighting calculation and summation in linear color space with a poor-man's conversion to sRGB (simple square root) at the very end of the shader. Without this, it would get far too bright when the two light sources are near each other.
sRGB? We're more into frGB.