Skip to content

[compositing-2] new composite-mode for globalCompositeOperation #262

@LazurURH

Description

@LazurURH

Hello everyone, my first post here.

Problem is related to https://drafts.fxtf.org/compositing-1/#canvascompositingandblending

more specifically to https://drafts.fxtf.org/compositing-1/#whatiscompositing

example 9
image

Would request a new compositing method that can be set within group/layer/object fill/document etc. that'd add up alpha values to 1.

Not the currently initial, nor the given other options are producing the aimed effect: if objects are semi-transparent atop eachother, the alpha values are adding up from top to bottom to 1 and the rest is cut from the equation.

For uses where multiple opacities are present it may not be useful, but it is an ultimate solution to handle the anti-aliasing "gap issue" -when objects are exactly next to eachother, the backdrop shows through in between them where they "shouldn't".

Issue is most prevalent on low-poly art and pixelart, like this:
https://openclipart.org/image/600px/svg_to_png/283371/Valentine-3.png
image

600 px/600 px image, gaps shows at edges in full scale.

Made these svg-s with custom filtering before, which were using composite filter primitives in arithmetic rendering mode that added up all the pulled in images alphas:

https://openclipart.org/detail/250219/compositeadd

https://openclipart.org/detail/262016/compositing-test-with-filtering-2

It is quite tedious pulling in every object to be composited into one filter chain, and it'd be a mess if the sum of opacities would go over 1 (cut is missing, in that case the colours are washed out in the example).
Yet it shows a working example of the conceptthat can be used to build upon.

tags: '[compositing]', '[rendering]'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions