Skip to content

Clipping masks #1920

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Keavon opened this issue Aug 10, 2024 · 0 comments · May be fixed by #2644
Open

Clipping masks #1920

Keavon opened this issue Aug 10, 2024 · 0 comments · May be fixed by #2644
Labels
Graphics GPU and graphics programming related

Comments

@Keavon
Copy link
Member

Keavon commented Aug 10, 2024

A "Clipping Mask" node should take a secondary input for the mask and cause it to clip. The node should have a secondary input that receives some graphical data to use as the clipping mask.

But if nothing is provided, it should instead default to clipping with the layer beneath this one in the stack. It does that by adding a "clip on layer beneath" field on the blending options for the layer, which will cause the Merge node to apply the blending as desired.

One more possibility is that we could change the blending options struct (which stores the opacity and blend mode) into a composable lambda. This would generalize opacity and blend modes, and other sorts of blending properties, into something controllable by nodes. The Merge node would then simply apply that lambda. Perhaps the lambda itself could be represented as a node graph.

@github-project-automation github-project-automation bot moved this to Short-Term in Task Board Aug 10, 2024
@Keavon Keavon removed the Rust label Dec 30, 2024
@Keavon Keavon removed the Feature label Jan 19, 2025
@Keavon Keavon added the Graphics GPU and graphics programming related label Feb 18, 2025
@Keavon Keavon linked a pull request May 24, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Graphics GPU and graphics programming related
Projects
Status: Short-Term
Development

Successfully merging a pull request may close this issue.

1 participant