How does bloom work for PBR?

We’re having bloom discussions and trying to decide how color works for glow/bloom.

I ran across this discussion…

Anyone have thoughts on how bloom should work with emissive materials in PBR vfx pipelines?
How do you make fire so that it doesn’t act crazy out in the daylight?
How do you make lightning so that it looks authoritative during the day, but doesn’t blind you in caves?

Of course this ol talk always comes back…


(Use hand defined per-effect HDR multiplier per on time of day)

I think the biggest issue is “HDR bloom” in the real world really does just blow out what you can see. The human eye has two benefits, one being generally quite quick at adjusting it’s “exposure”, and second being you can see a greater range than most games can display. The best HDR tvs today are at around 13 f-stops, and the human eye can deal with somewhere around a max of 16. Really, if you’re displaying in HDR, you shouldn’t be doing bloom because the real effect should already be happening in the human eye. However bloom is usually being used to try to simulate a kind of haze around something, in which case most modern AAA engines have some kind of lit volumetric effect.


I feel like it’s more of a concern for lighting artists rather than something VFX artists should have to worry about, but it’s always a good consideration to have.

The projects I’ve been part of have all been PBR, and VFX was levelled out the same way all other emissives were - by using separate environment presets or post-process volumes (or whatever your engine calls it) depending on the area, level, time of day, etc. Basically each volume has a “VFX Multiplier” setting that gets multiplied with the emissiveness in the particle shader. This is really reliable as long as you make sure that any texture you use with emissiveness is balanced properly. Having an emitter-specific emissiveness multiplier can help with making small things like embers pop a bit more, but should be used sparingly.

EDIT: What I cannot stress enough though, is to make sure that you have a decent way of quickly previewing your effect across different types of environments! Having to boot up the game and shoot a fireball in every single level of your game just to double-check that it looks good gets really old…