1 pass of rasterization
- 100 lights of random positions and colors
2 passes of rasterization
- geometry pass which produces position, normal, albeo textures with depth testing
- lighting pass for shading without depth testing
By using actual effective range of each lights, shading stage is reduced.
Considering the parallelism of GPU, each light executes the fragment shader only for affected pixels.