- From: Chris Marrin <cmarrin@apple.com>
- Date: Thu, 23 Feb 2012 17:06:11 -0800
- To: Lea Verou <leaverou@gmail.com>
- Cc: Rik Cabanier <cabanier@gmail.com>, public-fx@w3.org
- Message-id: <0EE61503-C770-4F50-9F65-9F3DCE9ABFE6@apple.com>
On Feb 19, 2012, at 8:31 AM, Lea Verou wrote: > On 19/2/12 17:48, Rik Cabanier wrote: > > Hi Lea, > > I can see how this would be very useful. > > It would also allow people to create libraries with filters that could be used as short hands. > > Exactly! This is one of the benefits I mentioned ;) > > > Can you write out a complete example of such a filter? > > Rik > > Sure. My imagination is running kinda low at the moment, so lets assume hue-rotate wasn't already in the draft. > > An author would include this filter in an SVG called filterlib.svg (which could obviously include other filters as well): > > <filter id="hue-rotate"> > <feColorMatrix type="hueRotate" values="param(angle) 0"/> > </filter> > > Note that the syntax of param() and its default value (of 0 here) is defined in SVGParam [1]. > > And then would define it as a function in their CSS like so: > > @filter { > src: url(/path/to/filterlib.svg#hue-rotate); > name: hue-rotate; > parameters: angle; > default: 0; > } > > And then they'd be able to use hue-rotate() as is currently defined by the Filter Effects draft. > > An alternative syntax could include the function name outside the braces, @keyframes-style: > > @filter hue-rotate { > src: url(/path/to/filterlib.svg#hue-rotate); > parameters: angle; > default: 0; > } > > `default` isn't really needed in this case, as the SVG already defines a default, so it could be omitted. > > [1]: http://www.w3.org/TR/SVGParam/ I really like the idea of an @filter rule for customized filter functions. But I'd really like to be able to define a CSS shader as the underlying implementation. SVG filters give authors a lot of power. But they're very difficult to hardware accelerate. If @filter can accommodate both SVG filters and CSS shaders it leaves authors with path for assuring a hardware acceleration path. Assuming there is a media query for SVG filter and CSS shader support, authors can supply both and the appropriate one can be chosen for the platform. ----- ~Chris cmarrin@apple.com
Received on Friday, 24 February 2012 01:06:39 UTC