Mostly shaders, yes.

Well, I render the scene on a low resolution with high dynamic range rendering.
The lights are sprites aswell that are rendered before the level.
These lights are written into a seperate image so that I can access the per-pixel light value when rendering the actual level.

After that apply a multi-layer bloom effect and in a final shader I scale everything to the actual resolution and add some nice effects (tonemapping, noise, etc.)


POTATO-MAN saves the day! - Random