Re: [filter-effects] Filter primitive subregions and input clipping

On Nov 3, 2014, at 4:01 PM, Stephen White <senorblanco@chromium.org> wrote:

> Sorry, my bad: I had already modified the fiddle locally to remove the feOffset which simulates input clipped to FPS.
> 
> Here's a forked version which shows the difference (feOffset removed):  http://jsfiddle.net/s3tdenod/
> 
> (Grey feathered border in Safari, Chrome; red feathered border in Firefox.)
> 
> Stephen
> 
> On Mon, Nov 3, 2014 at 6:57 PM, Stephen White <senorblanco@chromium.org> wrote:
> I think Chrome and WebKit do clip the input to the filter primitive subregion. See my fiddle above: in Chrome and Safari, there's a soft grey edge, indicating that none of the red region has been blended in. In Firefox, the edge contains red, which indicates to me it's not clipping the input to FPS.

Thanks for the example!

Looks like the feOffset subregion behaves differently than the feGaussianBlur subregion wrt input clipping. From what I’m seeing:

feGaussianBlur (http://jsfiddle.net/s3tdenod/):
- Input clipping: Chrome, Safari
- No input clipping: IE11, Firefox

feOffset (http://codepen.io/mvujovic/pen/xojIw):
- Input clipping: IE11*
- No input clipping: Chrome, Safari, Firefox

I still prefer no input clipping as behavior, but the compatibility situation seems a little murkier now.

*Before I said IE11 was inconclusive, but after pasting my example into a Codepen, it appears to clip.

> 
> I'm happy to remove the input clipping if the spec wording does change, though.

Thanks for offering to change the code if the spec changes. I’ll do the same for Firefox if needed.

- Max

> 
> Stephen
> 
> On Mon, Nov 3, 2014 at 6:31 PM, Max Vujovic <mvujovic@adobe.com> wrote:
> Hi folks,
> 
> I’m wondering why the spec says that filter primitive subregions clip their input.
> 
> Implementations don’t do it, and I’m struggling to find a benefit of it. IMO, we should remove this requirement.
> 
> I agree with Stephen White’s statement last time this was discussed [1]:
> "I suppose you could make the argument that if you had only output clipping, you could always achieve input-and-output clipping by inserting a no-op node (e.g., FEOffset) with the filter primitive subregion set to the same values as the child node, e.g.  http://jsfiddle.net/C6zSD/3/. Whereas if you have input-and-input clipping, there's no easy way to achieve output clipping only."
> 
> According to my tests (posted on a related spec bug [2]):
> - Safari, Firefox, and Chrome do not clip the input to a filter primitive to its primitive subregion. IE11 was inconclusive; I think I ran into a different bug.
> - Safari, Firefox, IE11, and Chrome all clip the input to a filter to its filter region.
> 
> Thoughts?
> 
> Thanks!
> Max
> 
> [1]: http://lists.w3.org/Archives/Public/public-fx/2013JulSep/0082.html
> [2]: https://www.w3.org/Bugs/Public/show_bug.cgi?id=26432
> 
> 

Received on Tuesday, 4 November 2014 00:35:44 UTC