W3C home > Mailing lists > Public > www-style@w3.org > June 2012

Re: [css4-color] unclamped values for RGB

From: Rik Cabanier <cabanier@gmail.com>
Date: Fri, 15 Jun 2012 23:06:43 +0200
Message-ID: <CAGN7qDBG9kmXbp3snydxvGoR4j3eh-qUkcTfyOa9qr8VDUQg=A@mail.gmail.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>
Cc: www-style list <www-style@w3.org>
On Fri, Jun 15, 2012 at 9:24 PM, Tab Atkins Jr. <jackalmage@gmail.com>wrote:

> On Fri, Jun 15, 2012 at 12:07 PM, Rik Cabanier <cabanier@gmail.com> wrote:
> > currently the CSS color allows color values larger than 1 and smaller
> than 0
> > (see the bottom section
> > of http://www.w3.org/TR/CSS21/syndata.html#value-def-color). I'm unsure
> if
> > anyone has actually implemented this.
> >
> > The spec currently defines that all non-image colors are defined in sRGB
> > which is a simplistic profile. It's gamma correction + a simple translate
> > function. Clamping to [0..1] is part of the definition
> > (see http://en.wikipedia.org/wiki/SRGB)
> >
> > The problem with this is:
> > a. This is breaking the profile math.  Are all out of gamut colors
> possible
> > or only a subsection?
> > b. Colors with out of gamut colors will display different than they print
> > c. What if we want to improve color on the web later on? sRGB used to
> make
> > sense but current displays are capable of a wider gamut (ie Super OLED)
> > which currently goes unused or abused to show colors that are too
> vibrant.
> > New displays will probably have table based profiles where unclamped
> input
> > makes no sense.
> >
> > I think this feature should be dropped and replaced with something that
> is
> > colorimetrically correct. This could be Lab or the ability to specify
> what
> > profile the author intends to use (or both :-0)
>
> The intention (possibly not properly captured in the draft) is that
> the rgb() function specifies a color in an unclamped sRGB space.  The
> browser can then clamp the components to restrict the color to the
> gamut of the output device.
>
>
Except that this is really not how you want to do color transformations.
You almost always want to do perceptual colorrendering [1].
The current behavior is to map to XYZ (without clamping) and then mapping
to the destination space. Because these are 2 separate operations,
information is lost and you can't do perceptual any more.

Rik

[1] http://en.wikipedia.org/wiki/Color_management#Rendering_intent
Received on Friday, 15 June 2012 21:07:12 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:55 GMT