Effects

Glow

Bright parts of the picture below get a soft halo, like in a lens or on film (bloom).

  • effect
  • seamless tile
Open in the editor →

Look at a street lamp at night: it wears a halo, though the air seems empty. Light scatters in camera lenses, in film emulsion and in the eye itself, so bright spots bleed into their neighbours. In graphics this is called bloom: neon signs, sun glare in games, glowing threads in screensavers.

How it works

First the effect picks out what is bright: anything whose brightest channel is below the “Threshold” is dropped, and “Threshold softness” eases the onset with a quadratic knee instead of a step. The threshold runs at full resolution, so thin bright lines keep their energy.

The bright part is then blurred by three Gaussians of radius R, R/3 and R/9 (“Radius” is a fraction of the short side), weighted 0.5, 0.3 and 0.2. A sum of bells is a cheap way to get the heavy tail of a real halo — a dense core plus a faint but far-reaching glow that no single Gaussian can draw. The blurs reuse the Blur effect's pyramid of shrinking copies, so a huge halo costs no more than a small one.

Finally the glow saturates softly, as 1 − e^(−S·g), and is laid on with a screen blend. Together they make one formula, much like a film's response: the more light, the closer to white, but never a hard clip. “Tint” and “Glow colour” recolour the halo while keeping its brightness.

bright: b = c · max(knee, l − T) / l, l = max(R, G, B) halo: g = 2.2·(0.5·G(R) + 0.3·G(R/3) + 0.2·G(R/9)) ∗ b result: 1 − (1 − c)·e^(−S·g), S = “Strength”

A bit of history

Film has a halo of its own, halation: light passes through the emulsion, bounces off the base and fogs it around bright points, which is why film carries an anti-halation layer. CineStill 800T is Kodak motion-picture film with that layer washed off, and its red halos round street lights are its signature. Spencer, Shirley, Zimmerman and Greenberg built a physical model of glare in the eye in 1995. Bloom reached real-time games in the early 2000s: the “Real-Time Glow” chapter of GPU Gems (2004) dissected the neon world of Tron 2.0, and Half-Life 2: Lost Coast (2005) showed off HDR with bloom.

What to tweak

  • A “Threshold” of 0.8–0.9 lights only the brightest points, like lamps in a night city; at 0.3 everything glows dreamily, like an Orton-effect landscape.
  • A “Radius” of 0.02 is a neon tube; 0.2 is fog around the lights.
  • “Tint” at 1 with a warm “Glow colour” gives sodium lamps; a cold one, moonlight.
  • Glow works best on thin bright lines over a dark ground: Fractal flames, Strange attractors, Guilloché and spirograph and the XY oscilloscope turn into phosphor and neon.

Parameters

Threshold
How bright a spot must be to glow
Threshold softness
A gradual onset instead of a hard cut
Radius
Halo size as a fraction of the short side
Strength
Tint
Zero — the light keeps its colour, one — the colour below
Glow colour