← All demos

Bloom post-processing

Four orbiting emitters rendered off-screen, then bright-pass → separable Gaussian blur → composite — a chain of Framebuffers. Drag the sliders while it runs; the passes reallocate nothing and every binding is restored after each one.

5 passes / frame
Left: the raw off-screen scene · Right: the same texture with the bloom chain applied Framebuffer ×4
0.75
1.40
1

The pipeline: scene → bright-pass (threshold) → N× horizontal + vertical blur at quarter resolution → additive composite with tone mapping. See the Framebuffer reference for the API used here.