As title says, what's the go-to method for reducing the number of pixels processed for every light? Tiles don't seem to work well with shadow-casting lights, so I would still need to render them individually.
Basically I have a choice to render a screen-space quad, or a 3D volume.
The quad has to be calculated "manually", which is simple enough for point lights (though still have to be careful if the light is behind the camera), but for spot lights the calculations are much more complex and result in a lot of "wasted" pixels.
Another approach would be to render, say, a box around a point light. But which faces should be rendered? If I only render front faces, it will not work if the box intersects near plane (i.e. light behind camera). If back faces are rendered, it will fail for back plane in the same manner. If both are rendered, then "normal" lights will affect every pixel twice. Is there a good solution for this, aside from using stencils?