[fxtf-drafts] Clarify color-interpolation-filters behavior on feMerge (#326)

RazrFalcon has just created a new issue for https://github.com/w3c/fxtf-drafts:

== Clarify color-interpolation-filters behavior on feMerge ==
https://drafts.fxtf.org/filter-effects/#propdef-color-interpolation-filters, https://drafts.fxtf.org/filter-effects/#feMergeElement

Let's say I have something like this:

<svg id="svg1" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
    <filter id="filter1" filterUnits="userSpaceOnUse" width="200" height="200">
        <feGaussianBlur in="SourceGraphic" stdDeviation="1" color-interpolation-filters="sRGB" result="blur1"/>

        <feGaussianBlur in="SourceGraphic" stdDeviation="1" color-interpolation-filters="linearRGB"/>
        <feOffset dx="40" dy="40" result="blur2"/>

        <feMerge color-interpolation-filters="linearRGB">
            <feMergeNode in="blur1"/>
            <feMergeNode in="blur2"/>
    <g filter="url(#filter1)">
        <rect id="rect1" x="40" y="40" width="40" height="40" fill="yellow"/>
        <rect id="rect1" x="60" y="60" width="40" height="40" fill="blue"/>

1. What color space `feMergeNode` should use? The one that set on the parent `feMerge` or on the result primitive?
1. I have to convert all `in` images/buffers to the specified color space, than merge them, than convert the result back to sRGB? Or should I leave it in the specified color space?
   This one actually affects all filters. Should the result be kept in the specified color space or should it be converted back to sRGB?

The actual results are mostly ok. The main problem is that Batik breaks colors and my application have a wrong color on the overlapped part.


\* the diff is relative to Chrome

Please view or discuss this issue at https://github.com/w3c/fxtf-drafts/issues/326 using your GitHub account

Received on Sunday, 2 December 2018 10:46:09 UTC