[Public WebGL] gamma/color profile and sRGB

Florian Bösch [email protected]
Sun Nov 23 05:17:08 PST 2014

On Sun, Nov 23, 2014 at 1:57 PM, Mark Callow <[email protected]> wrote:
> The display in most cases is sRGB. It is not possible to display part of
> the screen (or composited web page) with a different transfer function from
> the rest. If the display is sRGB, or whatever, a linear buffer/canvas must
> be encoded (a.k.a gamma corrected) to the display’s transfer function,
> otherwise the result is completely wrong. You would be displaying the
> linear data as if it were encoded in sRGB.
Pass trough is the default. This should not be changed. Yes if you're doing
stuff in gamma space, it's wrong. But that doesn't mean you shouldn't be
able to do it, like I say, pass trough is an important usecase for many
things, and necessary to avoid degradation due to back/forth transcoding if
you don't need to account for gamma badly. Not every UI is an application
of PBR, and not every programmer wants to deal with gamma to blit a flat
bitmap on screen, and *NOBODY* wants any additional processing to take
place if it can be avoided. PBR, gamma ramps, sRGB, these are things that
should be up to the application programmer to decide to use, not for the
browser or driver to enforce.

Obviously, this is todays default, and this is the topic of the thread,
because we have no way to discover what gamma ramp to use, and we have no
way to use the default sRGB gamma ramp for output other than coding our own
glsl function for it, which is, not user friendly.

> Even in native land, access for apps to change the transfer function is
> limited to full screen apps. How do you propose that a browser pass through
> just some parts of the displayed web page? If we limit pass through to full
> screen canvases, how do you cope with blending other page content with or
> displaying it over the canvas?

> I am not saying pass through is a bad idea. I don’t see how to implement
> it.
Pass trough is already implemented. It's todays default. Obviously you
cannot escape the displays curves, but that's not the meaning of pass
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://khronos.org/pipermail/public_webgl_khronos.org/attachments/20141123/3392036c/attachment.html>

More information about the public_webgl mailing list