CesiumGS / CesiumGS/cesium

New atmosphere causes banding when combined with bloom post processing

Open
#10,376 3 comments 0 reactions 0 assignees View on GitHub
category - graphics category - post-processing type - bug
Dominant language
JavaScript
Stars
15.8k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

We have an app that has noticeable banding artifacts after upgrading to the latest CesiumJS.

![image](https://user-images.githubusercontent.com/1495196/168294498-311ff45a-cc83-49f7-bca9-21ac100f609b.png)

I tracked this back to having bloom enabled with a stepSize other than 1

```js
const viewer = new Cesium.Viewer("cesiumContainer");

const bloom = viewer.scene.postProcessStages.bloom;
bloom.enabled = true;
bloom.uniforms.stepSize = 7;

// Not needed, but makes it even worse and more noticeable
viewer.scene.highDynamicRange = true;
```

![Screenshot_20220513_093214](https://user-images.githubusercontent.com/1495196/168294707-01c068b6-6d0e-465b-bb11-0e677b677764.png)

This is also noticeable in the Post Processing Sandcastle Example: https://sandcastle.cesium.com/index.html?src=Bloom.html&label=Post%20Processing

![Screenshot_20220513_093355](https://user-images.githubusercontent.com/1495196/168295015-cef48c82-3f20-4aa6-b7d1-3ef197426fa6.png)

Contributor guide

Open the contributing guide

Research direction

Start with the provided reproduction and the Post Processing Sandcastle Bloom example, using bloom.enabled with bloom.uniforms.stepSize set to 7 and optionally highDynamicRange enabled. Compare the rendering with the current CesiumJS version and identify the atmosphere and bloom interaction. Done means the banding artifacts no longer appear with a non-default bloom stepSize.

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.