Atlaslog / Field Notes / 3D & Cesium
Field note · 3D & Cesium
Bloom washes the whole scene out to white
Quick answer
Enabling bloom makes buildings, water and bright labels glow outward and lifts overall brightness until dark detail disappears, with a visible frame cost. The default delta of 1.0 sends every pixel through the bloom pass.
Symptom
- Setting postProcessStages.bloom.enabled to true makes the whole screen look fogged and blurs all building edges.
- Frame rate drops by roughly a third.
- Disabling bloom restores the image immediately.
Checklist
- Toggle only enabled and leave the other uniforms untouched for a clean A/B comparison.
- Print bloom.uniforms.brightness and bloom.uniforms.delta, whose defaults are 0.8 and 1.
- Set brightness to 0 and see whether the image is still washed out, to rule out other stages.
- Check the order of stages added through postProcessStages.add.
Fix
Set bloom.uniforms.brightness to 0.15 and delta to 0.9 so only the top 10% of luminance blooms, with sigma 3.0 and contrast 128.0. Add a tonemapping stage from PostProcessStageLibrary with scene.highDynamicRange true to bring highlights back into range.
Code
var bloom = viewer.scene.postProcessStages.bloom;
console.log(bloom.enabled, bloom.uniforms.brightness, bloom.uniforms.delta);
// true 0.8 1var bloom = viewer.scene.postProcessStages.bloom;
bloom.enabled = true;
bloom.uniforms.brightness = 0.15;
bloom.uniforms.delta = 0.9; // 只有亮度前 10% 参与
bloom.uniforms.sigma = 3.0;
bloom.uniforms.stepSize = 1.0;
bloom.uniforms.contrast = 128.0;
Watch out
- Running bloom before tonemapping, which clips highlights to white; running it after compresses the glow away.
- Rebuilding the post-process chain every frame to toggle night mode instead of flipping enabled and calling requestRender.
English edition written for Atlaslog from the original Chinese field note. Code is unchanged and runs as-is.
Atlaslog (2026). Bloom washes the whole scene out to white. https://www.jingweizhi.com/en/cookbook/cesium-postprocess-black.html (accessed 2026-11-03).