The Visual Computer (2018) 34:853–862
Hybrid Lighting for faster rendering of scenes with many lights
· Geoﬀ Leach
· Pyarelal Knowles
· Ron van Schyndel
Published online: 2 May 2018
© Springer-Verlag GmbH Germany, part of Springer Nature 2018
There is growing interest in rendering scenes with many lights, where scenes typically contain hundreds to thousands of lights.
Each light illuminates geometry within a ﬁnite extent called a light volume. A key aspect of performance is determining which
lights apply to what geometry, and then applying those lights efﬁciently. We present a GPU-based approach using spatial data
structures, binning lights by depth analytically while also taking advantage of hardware rasterization. This improves light
binning performance by 3–6×. We also present a GPU memory and cache friendly data structure that takes two passes to build,
giving 4–10× improved performance when applying lighting and an overall improvement of 1.3–4× for total frametime.
Keywords Lighting · Deferred · Performance · Real time
This paper explores efﬁcient rendering of scenes with many
lights (SWMLs), comparing existing approaches and pre-
senting two improvements (Fig. 1). Fastrendering of SWMLs
requires ﬁnding which lights apply to what geometry, as
shown in Fig. 2. Recent approaches to this problem build
a 2D or 3D uniform grid of lights each frame, called a light
grid. Quickly and accurately building the grid is challenging.
The grid contents should closely match the light volumes, and
construction time must be minimized or the provided beneﬁt
of fast light volume geometry testing is lost.
Light binning to a grid is shown in Fig. 3 and can be per-
formed by rasterizing light volumes to produce light volume
fragments or by analytically ﬁnding light volume intersec-
tions for each grid cell. Unlike other techniques, we use the
rasterizer to ﬁnd 2D xy intersections between lights and the
grid, while analytically calculating depth intersections, pro-
viding accurate 3D binning. We term this approach Hybrid
Lighting as it combines both approaches, previously only
Light grids are typically stored as per grid cell linked lists
of light indices in current approaches. Linked lists are easy
to build as they require only a single grid construction pass
and indices are written in the order they are determined. We
investigate an alternative, linearized arrays which offer faster
RMIT University, Melbourne, Australia
memory reads during lighting but require two light binning
passes to construct.
Previous approaches store light indices per grid tile. This
saves space, but the indirection has potential to hurt perfor-
mance. We investigate storing inline copies of the light data,
which we refer to as full light data, This requires 5× more
memory per entry, but total memory used is not costly for cur-
rent hardware. In Sect. 4, we show this has signiﬁcant beneﬁt
when using linearized arrays, which we believe is due to bet-
ter cache performance and coherent memory reads, although
interestingly this is not seen for linked lists.
We explore differences between various light grid appro-
aches in terms of memory usage and processing time when
storing full light data and light indices.
Hybrid Lighting offers to 3–6× faster light binning, 4–
10× faster lighting and an overall improvement of 1.3–4×.
It can be used to improve both forward and deferred render-
ing approaches, providing better performance than existing
techniques in both cases.
2 Related work
Deferred Shading [3,16] was the ﬁrst proposed approach for
SWML rendering. All visible geometry information neces-
sary to perform lighting calculations is stored in an initial
rendering pass before lighting is applied in a second light-
ing pass to give the ﬁnal result. Recently, several techniques
have been presented that approach or beat the performance