W3C home > Mailing lists > Public > www-style@w3.org > February 2011

Re: Filter Templates

From: Rik Cabanier <cabanier@gmail.com>
Date: Thu, 24 Feb 2011 16:56:07 -0800
Message-ID: <AANLkTi=jrgi0iuYGtuKRk2qOEW=06DAT+tD9ePfGqw5a@mail.gmail.com>
To: Dean Jackson <dino@apple.com>
Cc: robert@ocallahan.org, Rik Cabanier <cabanier@adobe.com>, Cameron McCormack <cam@mcc.id.au>, Brad Kemper <brad.kemper@gmail.com>, www-style list <www-style@w3.org>, "public-fx@w3.org" <public-fx@w3.org>
On Thu, Feb 24, 2011 at 3:13 PM, Dean Jackson <dino@apple.com> wrote:
>
> On Feb 24, 2011, at 3:06 PM, Rik Cabanier wrote:
>
> On Thu, Feb 24, 2011 at 2:54 PM, Robert O'Callahan <robert@ocallahan.org>wrote:
>
>> On Fri, Feb 25, 2011 at 10:25 AM, Dean Jackson <dino@apple.com> wrote:
>>
>>>
>>> On Feb 24, 2011, at 12:43 PM, Rik Cabanier wrote:
>>>
>>> the CSS could look like:
>>>    filter: url(dropshadow.pbk) param1 param2;
>>> For transitions or animations, the parameters would be allowed to change.
>>>
>>>
>> If we're going to refer to external resources that define complex filters,
>> why not just build on top of SVG filters?
>>
>>
> Is it possible to implement hardware acceleration for SVG filters? I'm not
> an expert on the subject but it seems that some of the filters would be very
> hard to write as a shaders.
>
>
> That's a hard question to answer. What hardware? SVG filters could be a
> long combination of simple effects, requiring multiple rendering passes (ie.
> too big for a single shader). Some combinations simply might not work on
> existing hardware.
>
> But that's really not specific to SVG. I'm pretty sure one could write a
> PixelBender shader that can't be accelerated on today's mobile GPUs. Same
> with Rob's feGL element.
>
> The (admittedly long) list of effects I gave were all things I believe
> could be accelerated on the majority of today's hardware. Again, if you did
> something like filter: sepia hueRotate(45deg) motionBlur(10, 10, 20)
> mosaic(5, 5) you're probably going to have difficulty.
>
>
Hi Dean,

I asked the PixelBender people and they claim that as long as each filter
can be accelerated on the current hardware, the whole graph will be
supported. If not, you could switch to software rendering.
It is true that not everything can be supported on every device. The nice
thing about PB is that it has a software renderer to fall back on which is
not something that WebGL or feGL offers.

In addition to support for PixelBender kernels, we could "bake in" a set of
canned filters which would mirror your list.

Rik
Received on Monday, 28 February 2011 15:17:23 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:37 GMT