[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] The Newly Expanded Color Space Issue



On Sep 7, 2010, at 10:19 AM, Steve Baker wrote:

> I think we have to take this one teeny-tiny step at a time.   First, let
> us establish once and for all what color space GLSL shaders operate in.

Let me give a much simpler answer than I think you're looking for. I can say with complete and utter certitude that a GLSL shader can operate in any color space it chooses to operate in. I could make my shader work in a CIE 1976 (L*, a*, b*) color space if I so chose. And as long as I did the appropriate conversions on output, everything would would be correct to within the precision limits of the system. It might be exceedingly difficult, and maybe even impossible to do with complete mathematical accuracy. But it is the beauty of shaders that they allow you to do virtually anything.

 If there's one thing I've learned from this thread, including all the interesting supporting websites to which I have been lead, it's that there is not one correct answer. All the game developers in the world could get locked into a room and argue until they all die of starvation and they still would not agree on the One True Way of managing color spaces in OpenGL.

What we can do is to give authors as many tools as is practical to let them manage the color space however they want. As I said before, in the WebGL timeframe this cannot include any extensions, nor can we require support of drawing buffers with more than 8 bits per color component. But we can give authors control over whether or not incoming images are transformed into some agreed upon color space and we can let them control how the resultant drawing buffer is transformed into a known color space on output.

I think that's all we can do.

-----
~Chris
cmarrin@apple.com




-----------------------------------------------------------
You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email: