W3C home > Mailing lists > Public > www-svg@w3.org > December 2013

Re: [filter-effects] Blending without compositing

From: Nikos Andronikos <nikos.andronikos@cisra.canon.com.au>
Date: Thu, 12 Dec 2013 09:28:34 +1100
Message-ID: <52A8E712.2060100@cisra.canon.com.au>
To: Dirk Schulze <dschulze@adobe.com>, "public-fx@w3.org" <public-fx@w3.org>, www-svg <www-svg@w3.org>
On 7/12/2013 12:16 AM, Dirk Schulze wrote:

Hi,

The SVG WG resolved at the F2F in Tokyo this summer that <feBlend> in Filter Effects should support blending without compositing. This shall avoid double compositing as it can happen in combination with BackgroundImage today. [1]

We did have some difficulties to define the exact way to disable compositing. There are two different proposal so far:

1) Support all compositing operators on <feBlend>

The idea is that we actually do not disable compositing but allow the author to use a different compositing operator. The ‘mode’ attribute could be extended to support compositing modes as well:

<blending> = [normal | multiply | screen | darken | lighten] || [over | in | out | atop | xor]

which could look like this:

<feBlend mode=“screen atop” in2=“BackgroundImage” />

(The compositing values could be replaced by the keywords used by Canvas.)

2) Create new attribute ‘compositing'

SVG does not support boolean attributes yet. Therefore the attribute ‘compositing' would need values like ‘composite’/’no-compositing’ or simply ‘true’/‘false’.

With this attribute the compositing step can just be omitted completely or switched to source-over compositing following the formulas from CSS Compositing and Blending.

Are we trying to preserve backwards compatibility here? e.g. keep an option for the (incorrect) double composite and add an option for no composite?
If so, it makes me think we should just keep the behaviour on feBlend and feComposite, and deprecate them, and then create a new feBlendComposite that implements the Blending and Compositing spec properly (with the addition of a way to do just blending with no composite).

Option 1 could be viable if a 'no-composite' operator were added. But not if backwards compatibility is required.

e.g.
<blending> = [normal | multiply | screen | darken | lighten] || [over | in | out | atop | xor | no-composite]

Nikos




- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >8 - -




The information contained in this email message and any attachments may be confidential and may also be the subject to legal professional privilege. If you are not the intended recipient, any use, interference with, disclosure or copying of this material is unauthorised and prohibited. If you have received this email in error, please immediately advise the sender by return email and delete the information from your system.
Received on Wednesday, 11 December 2013 22:29:05 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:54:49 UTC