CesiumGS / CesiumGS/cesium-native

Tile culling logic is not optimal

Open
#1,038 0 comments 0 reactions 0 assignees View on GitHub
performance
Dominant language
C++
Stars
623
Forks
277
PR merge metrics
No merged PRs in 30d

Description

I noticed while working on #981 that our tile culling logic isn't as good as it can be.

In order for a tile to be visible, it must pass both the frustum test and the fog test. However, nothing requires that it pass both tests _in the same view_. So if a scene has two cameras, and in one a given tile is very far away, so it should be fog culled, and in the other the tile is nearby but behind the camera so it should be frustum culled, then this tile will be considered visible, when really it's not.

Contributor guide

Open the contributing guide

Research direction

Start by locating the tile culling logic described in the issue and review the context from #981. Reproduce the two-camera case where frustum and fog tests disagree, then verify that visibility is evaluated consistently for each view. Done means the tile is culled when no single view passes both tests, with coverage for this scenario.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.