# gamma transform in webGLSL: when already done or yet to be done?

Color spaces issues are such a pain, especially when you create color data at the middle of the chain, and a pile of libs and apps separate this to the display... Here I only worry about gamma transform.

Shadertoy addicts are coding in this web site webGLSL shaders, which in my case are rendered through google chrome on linux ubuntu and displayed on a calibrated monitor.

Is one layer already doing the gamma transform, or should I do pow(color,1./2.2) at the end of my rendering ? For me (linux,etc), it seems I must do it. Is it also true on windows, mac OS, whether Angle or Native OpenGL is used (windows), whatever the browser ? The point is that often shaders look ok on windows and very dark on linux, for instance, both people being sure of their settings and qualibration.

• Great question, I'm also curious. – Alan Wolfe Mar 17 '16 at 3:48
• I suggest you do a test by outputting a grey scale band, and see how it looks on all your available platforms. then try the same thing with pow(c, 1/2.2) at the end of the pipeline. Your trained eye will immediately see which is good and which is over-done. Over-done gamma should result in banding. – v.oddou Mar 17 '16 at 8:23
• I came here because of the test I've done :-) shadertoy.com/view/4stSRN The real world of webGLSL is incredibly messy and unrobust: behaviors can depend on driver, browser, OS, settings (Angle vs native OpenGL, display settings - soft and hard), plus the versions of all these. ( Of course here I had to trust people telling there system is well calibrated. ) – Fabrice NEYRET Mar 17 '16 at 8:28
• You cold add that to your post ;) Unfortunately this is all just a case of futility. – joojaa Mar 17 '16 at 20:23