CesiumGS / CesiumGS/cesium

Globe translucency 2D multifrustum and classification artifacts

Open
#8,964 0 comments 0 reactions 0 assignees View on GitHub
category - classification category - graphics category - terrain and imagery type - bug
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

From https://github.com/CesiumGS/cesium/pull/8726#issuecomment-618777065

There's some globe translucency artifacts in 2D.

The first problem is that some areas have translucency double-applied. I've narrowed this down to different frustum passes rendering on top of each other. It doesn't happen if 2D mode renders a single frustum. The sandcastle sets the base color to red to make it easier to see, it doesn't normally look this bad, but it's still noticeably wrong.

The second problem is the classification moves across the screen at far out views. I think this has to do with the classification framebuffer viewport not synced up with 2D, but I'm not sure.

[Sandcastle](http://localhost:8080/Apps/Sandcastle/index.html#c=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)
![bug-2d](https://user-images.githubusercontent.com/915398/80169485-90035880-85b3-11ea-9ddf-7f25708a61c3.gif)

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the linked Sandcastle example in 2D and read the referenced pull request comment for the original context. Investigate the multiple frustum passes and the classification framebuffer viewport described in the issue. Done means the globe translucency is not double-applied and classification no longer moves at far-out views.

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.