CesiumGS / CesiumGS/cesium

Culling / OBB optimizations

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

Description

Ideas for later.
- [ ] Use OBB for determining what frustums a command belongs in. This should result in fewer commands overlapping more than one frustum. It will have additional overhead, but perhaps we can exploit temporal coherence to reduce the number of distance checks?
- [ ] Instead of culling terrain/buildings/etc with the tile's OBB, use the union of the children's OBBs. It will be more precise but will have more operations. Perhaps use spatial coherence to minimize the number of checks. _3D Tiles now does this, https://github.com/AnalyticalGraphicsInc/cesium/pull/4978_

**References**
- http://cesiumjs.org/2015/06/24/Oriented-Bounding-Boxes/
- https://fgiesen.wordpress.com/2010/10/17/view-frustum-culling/
- http://www.cse.chalmers.se/~uffe/vfc_bbox.pdf
- http://www.cse.chalmers.se/edu/year/2009/course/TDA361/2006/TDA360/Designing%20a%20PC%20Game%20Engine.pdf
- https://smartech.gatech.edu/bitstream/handle/1853/3486/98-38.pdf (BV ideas)

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by reviewing the linked OBB, frustum-culling, and BV references, then locate Cesium's current command and tile culling paths. Done would require selecting and implementing a scoped optimization, with evidence that culling precision or frustum overlap improves without unacceptable overhead.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.