Skip to content

Add per-chunk bounding-box debug visualization for Gaussian splats - #1253

Merged
untoldengine merged 2 commits into
developfrom
patch/gaussian_chunks_aabb
Sep 26, 2026
Merged

untoldengine merged 2 commits into
developfrom
patch/gaussian_chunks_aabb

Conversation

@untoldengine

Copy link
Copy Markdown
Owner

Summary

  • Adds a runtime-toggleable wireframe overlay over a chunked .untoldgs entity's chunk AABBs, colored either by frustum/tree-cull pass-fail or by the level each chunk is currently drawn at (fine/level1/level2)
  • GaussianComponent gains visibleChunkIndicesForRendering and chunkLevelsForRendering, populated each frame from the GPU's visible-chunk list and per-chunk level-state buffer
  • SpatialDebugVisualization gains a Gaussian chunk-bounds toggle with a cull-pass-fail/level color mode, exposed via setGaussianChunkBoundsDebug(...)
  • SpatialDebugBoundsCollector builds the world-space boxes and colors; RenderPasses draws them depth-tested alongside the other debug bounds

Test plan

  • swift build succeeds
  • Verified end-to-end against a real cooked Gaussian splat scene: level-state buffer write, CPU readback, and rendered box colors all agree with the GPU's per-chunk density/level computation
  • Reviewer sanity check: enable setGaussianChunkBoundsDebug(enabled: true, colorMode: .level) on a chunked splat entity and confirm boxes render and color as expected

… splats

Adds a runtime-toggleable wireframe overlay over a chunked .untoldgs
entity's chunk AABBs, colored either by frustum/tree-cull pass-fail or
by the level each chunk is currently drawn at (fine/level1/level2).
Lets the chunk cull and the per-chunk LOD rule be inspected visually
instead of only through logs.

- GaussianComponent gains visibleChunkIndicesForRendering and
  chunkLevelsForRendering, populated each frame from the GPU's visible-
  chunk list and per-chunk level-state buffer.
- SpatialDebugVisualization gains a Gaussian chunk-bounds toggle with a
  cull-pass-fail/level color mode, exposed via setGaussianChunkBoundsDebug.
- SpatialDebugBoundsCollector builds the world-space boxes and colors;
  RenderPasses draws them depth-tested alongside the other debug bounds.
@untoldengine
untoldengine merged commit 5d20de5 into develop Sep 26, 2026
4 checks passed
@untoldengine
untoldengine deleted the patch/gaussian_chunks_aabb branch September 26, 2026 06:35
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