Skip to content

refactor: extract GSplatFrustumCuller from GSplatWorkBuffer#8560

Merged
mvaligursky merged 2 commits intomainfrom
mv-extract-frustum-culler
Mar 30, 2026
Merged

refactor: extract GSplatFrustumCuller from GSplatWorkBuffer#8560
mvaligursky merged 2 commits intomainfrom
mv-extract-frustum-culler

Conversation

@mvaligursky
Copy link
Copy Markdown
Contributor

@mvaligursky mvaligursky commented Mar 30, 2026

Extract the frustum culling subsystem from GSplatWorkBuffer into a dedicated GSplatFrustumCuller class, simplifying the work buffer and clarifying responsibilities.

Changes:

  • Create new GSplatFrustumCuller class (gsplat-frustum-culler.js) that owns all culling-related GPU resources: bounding-sphere texture, transform-index texture, transforms texture, node visibility texture, culling render target and render pass
  • Move updateBoundsTexture, updateTransformsTexture, and updateNodeVisibility methods from GSplatWorkBuffer to GSplatFrustumCuller
  • GSplatWorkBuffer now owns a frustumCuller instance, created in its constructor and destroyed on cleanup
  • Update all GSplatManager call sites to access culling through workBuffer.frustumCuller

Move the frustum culling subsystem (bounding-sphere textures, transforms
texture, node visibility texture, culling render pass, and related
methods) out of GSplatWorkBuffer into a dedicated GSplatFrustumCuller
class. GSplatWorkBuffer now owns a frustumCuller instance and
GSplatManager accesses culling through it.

Made-with: Cursor
@mvaligursky mvaligursky merged commit 0f2ad74 into main Mar 30, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-extract-frustum-culler branch March 30, 2026 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: graphics Graphics related issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant