Proposal: a new Blend method: Exclusive OR

What about Synfig provides a new blend method? It would be similar to “Alpha” blend option, but with a twist. Where shapes overlaps, region is transparent; where they don’t, they are drawn.

Example: One ‘yellow’ circle overlaps a red rectangle.
Composite blending:
Captura de tela de 2021-09-09 21-53-27

Proposal:
Captura de tela de 2021-09-09 21-53-38

Few questions:

  1. What should it be called? The blending works similar to “Exclusive-OR” (aka. “X-OR”, “XOR”), a mathematical/boolean logic operation. But maybe it’s too technical?
  2. How amount should affect it?
  3. Should it exist?

Motivation:
To provide a feature SVG format does (multiple subpaths in a path element):

(Please note that it won’t change/improve SVG importing)

Sounds like a natural fit!

How about naming it Alpha Inverse? I’m constantly forgetting exactly what gets hidden with Alpha compositing. With Alpha Inverse, it’s one or the other.

Following the inverse logic for opacity, if the bottom layer, outside area fades in for Alpha compositing as the amount decreases, then the top layer, intersection area should fade in for the same circumstance with XOR compositing. The bottom layer, intersection area would always be hidden which is inverse to top layer, outside area for Alpha.

1 Like

How about this name -“Alpha intersection”
Amount should change the alpha value of the intersection.
And of course it should exist.

2 Likes

@GregorysonofCarl @Kai Sorry, I forgot amount was renamed to opacity in GUI.
So, opacity/amount 1 must mean full transparency in intersection area.
What should mean opacity 0.0?
What should mean opacity 0.5?

@GregorysonofCarl proposes opacity for top layer (yellowish circle) does not affect bottom layer (red rectangle). The outside area of top layer should behave as in Composite mode. I understand @Kai has the same opinion.

But what about the intersection area when opacity is 0.0? Should it fully show the yellowish circle?!

Any more opinions? @KonstantinDmitriev @ice0 @Keyikedalube @Khemardi @veermetri05


This is what I thought the blend mode would do.

2 Likes

So Opacity wouldn’t affect outside area of top layer too? It’s clear for me, but I don’t know if it would be common sense.

Btw how did you make this effect? XD

alphaintersection.sifz (1.2 KB) I thought you’d ask :laughing:

2 Likes

I wanna know if you get a quick trick (it was better than mine :wink: ) but it’s so much trouble anyway.

Ok. I just need a good name lol. Current proposals:

  • XOR
  • Alpha Inverse
  • Alpha Intersection

I saw “Symmetrical Difference” is one term used in Set operations – on Python programming language lol (https://in.pinterest.com/pin/800444533746388265/)

So it’s basically “Alpha Over” except it keeps the overlapping shape intact? Then maybe “Alpha Composite”?

Also, I think that “amount” should affect the outside area too. It’s what user expects when changing “amount/opacity” for it to affect the whole layer, not just part of it.

3 Likes

Agree. :slight_smile:

I like “Alpha Intersection”.

Agree

I like the name Alpha Intersection, XOR seems technical.

I don’t understand my own answer, so here’s a mock up instead:
XOR_BlendOpacity
I also like Alpha Intersection
maybe shorten to Alpha Intersect

2 Likes

Thank you guys!

Current proposals:
Names:

  • XOR (everyone see it as too technical)
  • Alpha Inverse (proposal author preferred “Intersection”)
  • Alpha Intersection/Intersect
  • Alpha Composite

Behavior:

I vote for Svarov proposal too.

Here it is: https://github.com/synfig/synfig/pull/2304

One step forward improving SVG importing :wink:

1 Like

Since you’re already onto blending mode, you may would like to look at this as well. texture gradient · Issue #2103 · synfig/synfig (github.com) just saying

@Kai thank you for your suggestion.
But I didn’t get anything from that request XD
The OP says nothing to me and the replies are unrelated imho :slight_smile:

Please see Halftone 2 layer - https://github.com/synfig/synfig/issues/2103#issuecomment-917661567

In my opinion, i don’t think the person who created the issue was looking for halftone like feature. He basically wanted to create those grainy shaded effect. Like in this pic he posted…

1 Like

I’ve found even a simpler way to achieve this. All i have done is change the opacity to 2 of both the layers. That’s it.qz.sifz (2.0 KB)

1 Like

Very interesting :smiley: