Road map for remaining pixman refactoring
Simon Thum
simon.thum at gmx.de
Wed Jun 10 04:12:20 PDT 2009
Soeren Sandmann wrote:
> Simon Thum <simon.thum at gmx.de> writes:
>
>> For the more artistic cases directed at perceptual qualities (like
>> some gradients, but not the WM shadow gradient!), luma modulation is
>> of course desirable. But there are better tools for this purpose, like
>> the L*a*b* space. So why go to such great lengths with luma mod?
>
> Compositing in sRGB is hardly going to great lengths. All I'm saying
> is that compositing in linear RGB it not always the right choice.
Me too, I was trying to say an additional channel is 'going to great
lenghts'.
> can work out a formula that looks something like this:
>
> (m * s ** 2.2 + (1 - m) d ** 2.2) ** 1/2.2 + (1 - s_a * m) * d
>
> With current pixman you get the right color, but wrong antialiasing -
> if you treated alpha as coverage, you'd get the wrong color, but the
> right default. I don't think this can be broken into a simple property
> on the operation; you really need an indication what the alpha channel
> actually means.
Ok, got it. Nice idea, it just wasn't apparent to me from the docs.
However I wouldn't restrict that to luma modulation; newer SVG drafts
enable also Lab and Lch to be specified for color interpolation.
> I don't see how L*a*b bails you out either, because it
> doesn't deal with translucency/coverage at all.
Right, It's just better at reflecting properties of the visual system
than plain RGB. Personally, I would use either linear RGB or Lab/Lch for
colour interpolation, not encoded RGB. It's convenient, but 'between the
chairs'.
Cheers,
Simon
More information about the xorg-devel
mailing list