- From: Tavmjong Bah <tavmjong@free.fr>
- Date: Mon, 11 Nov 2013 21:51:06 +0100
- To: "public-fx@w3.org" <public-fx@w3.org>
- Cc: www-svg list <www-svg@w3.org>
Since there seems to be a lot of discussion planned at the TPAC F2F for filter effects, I want to add a few issues to the list: 1. 'in2' For 'feBlend' and 'feComposite' the spec says: in2 = "(see ‘in’ attribute)" The second input image to the compositing operation. This attribute can take on the same values as the ‘in’ attribute. I interpret this that 'in2' behaves like 'in', thus if 'in2' is not given and this is the first primitive, 'SourceGraphic' is used, if not given and this is not first primitive, the result of the previous filter is used. Inkscape, rsvg, and Opera (12.16) agree with this interpretation. Batik as well as 'validator.w3.org' says 'in2' is required. Firefox and Chrome require 'in2' to be defined. For an example, see: http://tavmjong.free.fr//INKSCAPE/MANUAL/images/FILTERS/Filters_SolarFlare.svg 2. 'feSpecularLighting' The specification states: "Such a map is intended to be combined with a texture using the add term of the arithmetic ‘feComposite’ method.". It does not state that one is required to use it this way. The browsers disagree on how the filter is rendered if the compositing step is not done. ('Such a map' should be 'Such an image', I think.) Trivial, example: <filter id="emboss"> <feColorMatrix type="luminanceToAlpha" /> <feSpecularLighting lighting-color="#808080"> <feDistantLight elevation="0"/> </feSpecularLighting> </filter> Compare "Specular Lighting" example in: http://tavmjong.free.fr/SVG/COLOR_INTERPOLATION/filter_interpolate.svg Inkscape, rsvg, Opera agree on rendering (outer square matches inner square). Firefox and Chrome agree (outer square does not match inner square). Batik can't render example. (Note: Chrome has a problem with 'feDiffuseLighting' primitive when interpolation is set to 'linearRGB'.) 3. CSS Compositing and Blending modes. CSS Filters should extend 'feComposite' and 'feBlend' to include all the operators defined in Compositing and Blending Level 1. The new operators are trivial to implement once the existing operators in the basic filter primitives are implemented and thus there is no reason not to include them. Tav
Received on Monday, 11 November 2013 20:51:37 UTC