
1. Physically Based Area Lights 97
Figure 1.30. Square light shape using GGX distribution exhibiting minor visual arti-
facts.
We prototyped this approach, for rectangular lights, by analytically finding a
polygon representing the light shape and the projected specular cone intersection.
To find the intersection at runtime, we used a GPU-optimized version of the
Liang-Barsky clipping algorithm [Liang and Barsky 84]. A light shape rectangle
was treated as the clipping window, then a polygon representing the projected
specular cone was clipped against it. The end result was an array of vertices
representing a planar, non-self-intersecting polygon. In order ...