Deferred shading
Separating geometry from lighting: draw all the surface data into a buffer first, then compute the light afterwards, once per screen pixel.
The first pass rasterizes the scene but does not shade it — it only writes per-pixel attributes (depth, normal, albedo, material parameters) into a set of render targets called the G-buffer. The second pass loops over the lights, reading the G-buffer, so lighting runs exactly once per visible pixel no matter how many objects overlapped there. Cost becomes independent of scene complexity and scales with the number of lights instead — the whole point was always to afford hundreds of them.
Popularized by Guerrilla's Killzone 2 (2009) and Crytek. The weaknesses are heavy: the G-buffer eats bandwidth, hardware MSAA doesn't work out of the box, and transparency can't be shaded deferred and has to fall back to forward rendering.