New atmosphere causes banding when combined with bloom post processing
- 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.

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;
```

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

Contributor 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