ComfyUI Node Runs on cloud

Three Bloom

Making bright things glow so emissives actually look lit

By WASasquatch·Created 3 years ago·Updated 4 days ago· 1,844
Three Bloom
  • input
  • effects
strength0.60
radius0.40
threshold0.85

Every renderer has the same tell: an emissive surface - a neon sign, a glowing button, a sun disc - comes out looking like a pale flat patch instead of an actual light source. Three Bloom is what fixes that. It bleeds a glow out of everything brighter than a threshold, so the bright bits read as emitting rather than just being bright. It's the single effect that separates a Three.js scene that looks like software from one that looks like a render.

It's a post-processing pass, which tells you how to use it: chain it into the effects socket on Three App, where it runs after the scene is drawn. It has an optional input socket for the effect before it (bloom after a depth of field, say) and an effects output for the next one, but the simplest wiring is bloom → App's effects directly. Remember the house rule of the effect chain: the moment any effect is present, App's built-in antialiasing switches off, so if you combine bloom with anything else, finish the chain with Three Antialias.

The three numbers are all about what gets to glow and how:

  • threshold - how bright a pixel must be before it blooms. The 0.85 default catches highlights alone, which is the look you want. Drop it toward 0.0 and the whole frame starts to glow like a music video.
  • strength - how much glow gets added. 0.3 is a hint, 0.6 is the usual, 2.0 is heavy and probably too much.
  • radius - how far the glow spreads. 0.1 stays tight around a highlight; 1.0 turns into a wide haze.

The workflow that makes bloom earn its keep: put an emissive Three Standard Material on a mesh (or just light something hot), then let bloom do the rest. An emissive panel without bloom reads as a grey rectangle; with bloom at default settings it reads as a backlit screen. Same geometry, completely different result.

The honest cost is in the effects note: each pass is another draw over the frame, so a large render is slower with bloom on. On a big 4K capture that's a real tax - drop the radius/strength before you drop resolution.

Installing it

Part of WAS Node Suite v3. Install via ComfyUI Manager (search WAS Node Suite v3) or:

cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git

Restart, and you need ComfyUI 0.14.0+ / Python 3.10+. Nothing extra installs; three.js ships inside the pack. If the Three menu is missing, check features.threejs: true in <ComfyUI user dir>/was-node-suite/config.yaml.

If it looks wrong

No glow at all usually means nothing in the frame crosses the threshold - either your emissive isn't bright enough (raise its intensity, or lower this node's threshold) or bloom isn't actually in the effects chain. Glow everywhere means threshold is too low. And if the picture looks soft overall, you've found out why effects disable App's antialias - add Three Antialias last in the chain.

CategoryWAS Suite/Three

Inputs (4)

NameTypeDefaultDescription
strengthFLOAT0.600–10How much glow is added. 0.3 is a hint, 0.6 usual, 2.0 heavy.
radiusFLOAT0.400–2How far the glow spreads. 0.1 is tight around a highlight, 1.0 a wide haze.
thresholdFLOAT0.850–2How bright a pixel has to be before it glows. 0.85 catches highlights alone, 0.0 makes the whole frame glow.
inputoptTHREE_EFFECTThe effect before this one, if any. Left unwired this is the first pass after the scene is drawn.

Outputs (1)

NameTypeDescription
effectsTHREE_EFFECTThe chain so far, for the next effect or for Three App's effects socket.