CesiumGS / CesiumGS/cesium

Frustum experiment

Open
#8,150 2 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

For the log depth / [multi frustum](https://github.com/AnalyticalGraphicsInc/cesium/issues/4381) stuff, here's another idea for frustum/projection. But I guess there are too many things like putting 3dtiles on top of terrain that make this more complicated that what I wrote...

* Use a projection that maps near far to 1-0 so that all the precision is in the back of the frustum.
* Do a z-prepass and find min max of the depth buffer to use for a tight near far. See section 4 of http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.360.3911&rep=rep1&type=pdf
* post process the depth buffer to remap the gl_FragDepth values assuming the tight near far (may have to use a polygon offset in one of the writes to be on the safe side, i.e. push them back a little assuming the next step...)
* Proceed as normal using the depth buffer to get some early z since its a decent/conservative approx of depth (still write actual depth values).

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by reviewing linked issue #4381 and the cited depth-buffer paper, then trace Cesium's frustum, projection, and depth-buffer rendering entry points. The issue does not define a settled implementation or acceptance test, so completion would require agreeing on scope and validating the proposed pipeline.

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
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.