W3C home > Mailing lists > Public > public-fx@w3.org > January to March 2011

Re: Filter Templates

From: Rik Cabanier <cabanier@gmail.com>
Date: Thu, 24 Feb 2011 12:43:51 -0800
Message-ID: <AANLkTik9uT5J=vRzkeScdg9kKuFQa-DRu-2ZocqJ1tn=@mail.gmail.com>
To: Dean Jackson <dino@apple.com>
Cc: 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>
Hi Dean,


> No, sorry, I have not.
>
> You list 4 effects below. Do you have others in mind?
>

There could be others, but I though that those were a good starting point.


>
> Off the top of my head, here is the vague shortlist I was considering (I'm
> sure I've left out some and I do not expect that they would all be accepted
> by the WG):
>
> - controls(brightness, saturation, contrast, exposure, gamma)
> - halftone(this might have too many parameters)
> - hue-rotate(angle)
> - gaussian-blur(radius)
> - motion-blur(radius, angle)
> - box-blur(radius)
> - invert
> - sepia
> - color-matrix(lots)
> - monochrome
> - posterize(levels)
> - bump(x, y, radius, intensity)
> - sharpen(sharpness)
> - unsharpen(sharpness)
> - generator, which would take options like ("solid", rgba),
> ("checkerboard", w, h, color1, color2) ("random")
> - circle-crop[(x, y, radius)
> - affine-transform(some matrix)
> - crop(x, y, w, h)
> - bloom(radius, intensity)
> - gloom(radius, intensity)
> - mosaic(w,h)
> - displace(url, intensity)
> - edge-detect(intensity)
> - pinch(x, y, radius, scale)
> - twirl(x, y, radius, angle)
>
> I'm worried that some of these would be too unwieldy due to the number and
> complexity of parameters. Also, not all of them are exposed by SVG, so we'd
> have to come up with new fe* elements.
> I expect that we'll come up with some way for the community (users +
> vendors) to decide what should or should not be included.
>

This is quite an extensive list of filters.
I thought the idea was to have a small set of filters that are highly
configurable and that have reasonable defaults instead of a large set of
basic filters that you have to combine to make something useful. For
instance, there is no drop shadow filter in your list.


>
> Also note that I expect compositing modes (add, subtract, difference,
> lighten, dodge, etc) to be a separate property.
>
>
Agreed. Blending is a more complicated operation to spec out and implement
so that can be added later.

If you're really interested in having a large set of filters, you should
take a look at a framework that we created specifically for this problem:
http://www.adobe.com/devnet/pixelbender.html
It is a highly configurable language that can be implemented in assembly or
OpenGL. We give away the creation tools so users can write their own set of
filters and experiment. They can also download them from public repositories
or use the predefined ones that we provide. PixelBender is supported in
PhotoShop, After Effects and the Flash player.
I'm sure we would be willing to open source the spec as well as provide a
reference implementation.

the CSS could look like:
   filter: url(dropshadow.pbk) param1 param2;
For transitions or animations, the parameters would be allowed to change.

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

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 28 February 2011 15:17:15 GMT