Re: Pre-meeting Thoughts on HDR Canvas

I agree with Lars, "it depends on what you are doing". There are four 
basic categories I can think of:

1. Linear-light compositing and manipulation. CSS Compositing should do 
this in CIE XYZ (but doesn't, currently; it uses gamma-encoded sRGB for 
historical reasons). SVG filters do this in linear-light sRGB.

2. Perceptually uniform rectangular space for (linear, radial, conic, 
mesh etc)  gradients, generation of color scales, and so on. CIE Lab is 
common for this, with other more uniform spaces starting to be used as well

3. Perceptually uniform polar spaces, where chroma-preserving 
interpolation is desirable. CSS color-mix for example uses CIE LCH (Lab, 
not Luv) for this.

4. Some gamma-encoded RGB space, typically for reasons of backwards 
compatibility, speed, or both.


On 2021-01-27 21:49, Justin Novosad wrote:
>
>
> On Wed, Jan 27, 2021 at 2:23 PM Lars Borg <borg@adobe.com 
> <mailto:borg@adobe.com>> wrote:
>
>     It is easy to assume that blending in gamma space is always
>     undesirable.
>
>     History tells a different story. Blending in non-linear space is
>     common.
>
>     For example, in Photoshop you can select to blend in linear or
>     non-linear space.
>
>     It’s a creative choice. It seems most users select the non-linear
>     option.
>
>     AFAIK video fades are typically in code space, not linear space.
>
>     So it seems we should retain this option.
>
>     Lars
>
>
> Right, it is definitely an issue that content creators have gotten 
> used to living with.  From the developer's perspective though it can 
> be haunting, especially when working on apps that aim to be profile 
> agnostic.  Of course, the web dev community will figure out how to 
> work around this, and the complicated bits will be hidden deep in the 
> guts of popular graphics frameworks and game engines. But this will 
> likely come with a performance cost especially for 2D contexts.  On 
> the other hand, if the canvas API could provide additional levers to 
> control this behaviour, then the browser could leverage hardware 
> acceleration features.
>
>     *From: *Justin Novosad <junov@google.com <mailto:junov@google.com>>
>     *Date: *Wednesday, January 27, 2021 at 7:59 AM
>     *To: *Chris Lilley <chris@w3.org <mailto:chris@w3.org>>
>     *Cc: *"public-colorweb@w3.org <mailto:public-colorweb@w3.org>"
>     <public-colorweb@w3.org <mailto:public-colorweb@w3.org>>
>     *Subject: *Re: Pre-meeting Thoughts on HDR Canvas
>     *Resent-From: *<public-colorweb@w3.org
>     <mailto:public-colorweb@w3.org>>
>     *Resent-Date: *Wednesday, January 27, 2021 at 7:59 AM
>
>     Thanks Chris for correcting me.
>
>     I realize this is an old problem, but I think that adding HDR
>     capabilities to canvas risks exacerbating it greatly because we
>     will end up with inconsistent blending and gradient interpolation
>     based on the canvas's working profile.
>
>     For example, if a hypothetical app selects a canvas working
>     profile to match the output device's capabilities, these behavior
>     discrepancies risk being perceived as bugs and will be unpleasant
>     to work around for web developers.
>
>     On Wed, Jan 27, 2021 at 12:46 PM Chris Lilley <chris@w3.org
>     <mailto:chris@w3.org>> wrote:
>
>
>         On 2021-01-27 18:32, Justin Novosad wrote:
>         > The CSS and SVG specifications do not explicitly address the
>         issue of
>         > gamma-correct blending, but the examples in the CSS spec
>         suggest doing
>         > things the "wrong" way, which ignores gamma correctness.
>
>         The SVG specification explicitly says that filer operations
>         are in
>         linear-light sRGB by default (with an option to change to
>         sRGB, where
>         speed is more important than getting the right result); and
>         that all
>         other operations are (sadly) in gamma-encoded sRGB by default
>         (with an
>         opt-in for linear-light sRGB).
>
>         The CSS Compositing specification, sadly, requires operations in
>         gamma-encoded sRGB. This choice was primarily driven by backwards
>         compatibility with existing content; and secondarily with
>         compatibility
>         of blend modes, as popularized in Adobe Photoshop, which are also
>         computed in gamma-encoded RGB spaces.
>
>         CSS Compositing thus needs to add an opt-in for linear-light
>         compositing.
>
>         -- 
>         Chris Lilley
>         @svgeesus
>         Technical Director @ W3C
>         W3C Strategy Team, Core Web Design
>         W3C Architecture & Technology Team, Core Web & Media
>
-- 
Chris Lilley
@svgeesus
Technical Director @ W3C
W3C Strategy Team, Core Web Design
W3C Architecture & Technology Team, Core Web & Media

Received on Thursday, 28 January 2021 02:18:09 UTC