Alejandro Conty and Christopher Kulla
Sony Pictures Imageworks
For this typical scenario: 363,036 lights
An axis and two angles $\theta_o, \theta_e$. The latter being the emission extent from the normal: $\pi/2$ for lambertian emitters, smaller for spot lights.
$\mathrm{Cost}(l, r) = \frac{E(l) M_A(l) M_\Omega(l) + E(r) M_A(r) M_\Omega(r)}{M_A M_\Omega}$
Proposed cost heuristic for an $l, r$ cluster split where $M_A$ is the surface area, $M_\Omega$ our orientation measure and $E_l,E_r$ are the energies on each side of the split.
We always split in 3D world axes, but taking into account orientation measure $M_\Omega$ for quality.
Left split reduces the orientation bounds
The $\theta_e$ emission part of the bounds will be cosine weighted. Note our spots are just limited flat emitters
Bounds are incrementally expanded to cover multiple elements in a cluster
Where $\theta_w=\min(\theta_o + \theta_e,\pi)$
Importance measure changes with shading point
Varying with the cluster size, the uncertainty angle $\theta_u$ has to be subtracted when using the center.
Faces in the green box are more important
Nearby clusters are more likely to be split
This scene contains 10,000 lights. On the second frame split sampling is using around 20 lights per shading point
A million lights on a Cornell box. Blue areas shade 2-3 lights while the top ones in red shade 28.
That's it!
36,000 mesh lights 125spp, 27 shadow rays per sample
Questions?