Comment 25 for bug 170356

Revision history for this message
Pétery Tamás (lazur) wrote :

Another necromancy on this 12 year old topic. It CAN be solved with anti-aliasing on.
Or should I say there is a workaround.

Anti-aliasing creates semi-transparent subpixels, and if they are next to eachother they work as if two objects with 50% transparency were overlayed one atop another: the background shows through, as the transparencies are not adding up.

But if those two are pulled in with an image filter primitive, you can composite with arithmetic rendering mode whith k2 and k3 set to 1. That way the semi-transparent pixels alpha values add up and there won't be gaps.

Here is an example of the compositing:
https://openclipart.org/detail/250219/compositeadd

And here is one more oriented to practiacal use:
https://openclipart.org/detail/262016/compositing-test-with-filtering-2

As you can see it is way too complicated pulling in every object in a group with image filter primitives.
So it's more of a feature request:
let's have an "additive alpha compositing group mode".

Either implemented by generating a custom filter with image filter primitives for each objects inside a group,
or, getting this feature into the svg specs so that the renderer renders the objects automatically as described without any further filter fiddling in the files.