Skip to content

Model polygon clipping shader impl - #13647

Open
mzschwartz5 wants to merge 7 commits into
model-clipping-foundationfrom
model-clipping-pipeline-wiring
Open

Model polygon clipping shader impl#13647
mzschwartz5 wants to merge 7 commits into
model-clipping-foundationfrom
model-clipping-pipeline-wiring

Conversation

@mzschwartz5

@mzschwartz5 mzschwartz5 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Description

This PR wires up the vector textures as uniforms through the ModelClippingPolygonsPipelineStage, and uses them with the vector-clipping shader functions to replace SDF-based clipping.

As of this PR, 3D tiles and standalone models perform clipping via the vector pipeline. (Though the SDF textures are still generated, just not used anymore -- that stuff is fully removed in the next PR).

image

Issue number and link

TODO: need issue

Testing plan

A sandcastle that uses a star shaped polygon to clip the globe (feel free to add terrain and test that too). Use the slider or input field to change the scale of the star and ensure it's crisp at all scales.

Standalone model clipping

Dynamic clipping collection -- this one tests adding and removing clipping polygons from a collection. Use drop-down to test on terrain and 3d tiles.

Standard clipping regions sandcastle -- basic functionality check

The clipping performance dev sandcastle is another good one for testing various numbers (of polygons, points per polygon, spacing, etc.). Performance should be slightly better than previously, but it's still dominated by the per-frame checks that iterate over every polygon vertex to check for mutations (likely to be removed soon).

Author checklist

  • I have submitted a Contributor License Agreement
  • I have added my name to CONTRIBUTORS.md
  • I have updated CHANGES.md with a short summary of my change
  • I have added or updated unit tests to ensure consistent code coverage
  • I have updated the inline documentation, and included code examples where relevant
  • I have performed a self-review of my code

AI acknowledgment

  • I used AI to generate content in this PR
  • If yes, I have reviewed the AI-generated content before submitting

If yes, I used the following Tools(s) and/or Service(s):

If yes, I used the following Model(s):

PR Dependency Tree

This tree was auto-generated by Charcoal

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for the pull request, @mzschwartz5!

✅ We can confirm we have a CLA on file for you.

@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from ae1a488 to a40c15a Compare July 29, 2026 18:56
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch 3 times, most recently from b84a07a to 59dc559 Compare July 30, 2026 18:22
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from e8468e5 to 3d0a338 Compare July 30, 2026 22:21
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 59dc559 to 6d13de2 Compare July 30, 2026 22:21
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 3d0a338 to 1ca1288 Compare July 31, 2026 16:57
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 6d13de2 to 7d28e27 Compare July 31, 2026 16:57
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 1ca1288 to 3b05a75 Compare July 31, 2026 18:55
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 7d28e27 to 8e571dc Compare July 31, 2026 18:55
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 3b05a75 to f00e208 Compare July 31, 2026 22:25
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 8e571dc to 7e33e73 Compare July 31, 2026 22:25
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from f00e208 to 659da5a Compare August 3, 2026 01:07
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 7e33e73 to 2300e23 Compare August 3, 2026 01:07
@mzschwartz5
mzschwartz5 marked this pull request as ready for review August 3, 2026 01:10
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 659da5a to 8a613bb Compare August 3, 2026 01:14
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 2300e23 to d9b3232 Compare August 3, 2026 01:14
@mzschwartz5 mzschwartz5 mentioned this pull request Aug 3, 2026
8 tasks
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 8a613bb to d928918 Compare August 3, 2026 19:32
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from d9b3232 to 400740e Compare August 3, 2026 19:32
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from d928918 to 5a605d4 Compare August 10, 2026 19:39
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 400740e to 9d74f09 Compare August 10, 2026 19:39
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 5a605d4 to 089edce Compare August 18, 2026 17:20
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch 2 times, most recently from a33ee73 to 96fb786 Compare August 18, 2026 17:28
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from c8e6595 to 21e6272 Compare August 19, 2026 17:08
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 96fb786 to 33c9864 Compare August 19, 2026 17:08
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 21e6272 to 929c801 Compare August 19, 2026 19:38
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 33c9864 to ed8db86 Compare August 19, 2026 19:38
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 929c801 to 9bb06d3 Compare August 20, 2026 14:17
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from ed8db86 to 386c5ae Compare August 20, 2026 14:17
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 9bb06d3 to 00ecd6a Compare August 20, 2026 14:33
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 386c5ae to 07657ce Compare August 20, 2026 14:33
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 00ecd6a to 4090307 Compare August 21, 2026 16:14
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from 07657ce to c3424c2 Compare August 21, 2026 16:14
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-foundation branch from 4090307 to 13cf94b Compare August 21, 2026 16:16
@mzschwartz5
mzschwartz5 force-pushed the model-clipping-pipeline-wiring branch from c3424c2 to 33c58e4 Compare August 21, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant