CesiumGS / CesiumGS/cesium

Incorrect depth sorting between Gaussian models at different heights in the same area

Open
#13,256 2 comments 0 reactions 0 assignees View on GitHub
category - gaussian splatting type - enhancement
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

### What happened?

When loading two identical Gaussian models at different heights within the same geographic area, the lower model incorrectly occludes the upper model at certain camera angles.

Specifically, when rotating the camera to particular viewing directions, parts of the model placed at a lower altitude are rendered in front of the model placed at a higher altitude, even though they should be fully occluded based on their vertical separation.

https://github.com/user-attachments/assets/e64e5f1f-83b7-49f9-a39c-58041ede26a2

### Reproduction steps

1. Load two identical Gaussian models in the same longitude/latitude location.
2. Assign different heights (e.g., one at ground level and one several meters above).
3. Rotate the camera around the models.
4. Observe that at specific viewing angles, the lower model incorrectly occludes the upper one.

### Sandcastle example

https://sandcastle.cesium.com/#c=pVLva9swEP1XDtMPykjlpOmPsLlhIxus0LHRhX7yh6r2ORGTdUFSkial//sky6bJOkqhXyzf3Xvv3p0k6yUZBx9AWJiilasaKkM15EnRRHnyKde5LkhbB2uJGzRwCRo3LZrfNjnW4aeknZAaTZ70GqYzW3jMNUCUcFKhRTf0ImIjpOtk4jH6Oot1Hkxckf5ifXBVstH5+cXFeBQkobXBbYEa+dLIWjq5RstFWbJOPyIPep68p2dUoqrytZkR2lZkai/YSv0QzsiH00aiKSvhJGkWqLC/rqkwzv8JPWLDQR/OuP+MB3zQC8jYqrPLaypRRWXf6Z/eb93EycHOduT9UWur21X/hcvvKEqp57+kKxY3Qs+xZcDevAvu6MbDvB8WBui/Djkenu2DTgee00YxG3w+QSF8S2BoDJne88MhhVzRnN19CwVQ1PjrJvgIR48N4+muUcl10k8y67YKJ0Hhs4yvfGUU4zx1WC/9/aBN71fFH3/xhbWBl6UdJSvlGmR5+Z9XDYUS1vpKtVLqt9xhnkyy1OMPaK3Bn2s0SmwDZDGcXMck5zxLffiS5YjUvTB7in8B

### Environment

Browser: Chrome 145.0.7632.110
CesiumJS Version: 1.139.0
Operating System: windows 11

Contributor guide

Open the contributing guide

Research direction

Start by running the linked Sandcastle example with two identical Gaussian models at different heights, then rotate the camera through the angles that reproduce the occlusion. Trace the Gaussian model rendering and depth-sorting behavior; the issue is done when the lower model no longer incorrectly renders in front of the higher model at any viewing angle.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.