Area Lights Voxelization for Light Propagation Volumes

Cristian Lambru

a

, Florica Moldoveanu

b

, Anca Morar

c

and Victor Asavei

d

Faculty of Automatic Control and Computers, University POLITEHNICA of Bucharest, 060042, Bucharest, Romania

Keywords:

Computer Graphics, Area Lights, Voxelization, Light Propagation Volumes.

Abstract:

Simulation of the area light sources direct illumination is a topic of interest in the ﬁeld of Computer Graphics.

In the real world, all light sources have a surface from which light is emitted. Thus, for a physically correct

simulation of the light transport in graphical applications, area light sources are required. In addition, there

are complex lighting effects that can only be simulated with such light sources. In this paper, we present an

improvement of the direct lighting simulation for area light sources within the real-time global illumination

technique called light propagation volumes. Our method is based on a voxelization of the area light source

geometry in a voxel volume of the same resolution as the light propagation volume used in the global illumi-

nation technique. With a sample for every voxel that intersects a triangle, for every triangle of the mesh, we

obtain an optimal distribution of the samples needed to approximate the direct illumination of the area light

source for the light propagation volumes technique.

1 INTRODUCTION

An area light source is deﬁned by a geometry on the

surface of which radiance is emitted. Such a light

source has applicability in Computer Graphics be-

cause it can reproduce effects such as the light of

a TV display. The light emitted by such a source

can reach the observer directly, but it can also reach

other surfaces in the scene and by reﬂection, only later

reach the observer. In particular, the simulation of the

ﬁrst bounce of light is a topic of interest in Computer

Graphics. Analogous as for analytic light sources,

such as directional or point lights, we consider the

simulation of this ﬁrst bounce of light to be direct il-

lumination.

By comparison, the analytic light sources are a

useful mathematical concept in practice. These light

sources have no surface or volume and are usually

represented by a position in space, around which they

scatter radiance according to a chosen behavior. Their

simulation is easily performed analytically and offers

fast solutions for real-time applications. They can

also produce plausible visual results. However, this

type of light does not exist in real world. All the

lights in nature have a surface and in addition, effects

a

https://orcid.org/0000-0002-3168-9969

b

https://orcid.org/0000-0002-8357-5840

c

https://orcid.org/0000-0002-4773-6862

d

https://orcid.org/0000-0002-4776-2542

such as the one mentioned above cannot be simulated

with analytic lights. Therefore, the simulation of di-

rect lighting of area light sources has been researched

for a long time.

In this paper, we present a method to improve

the simulation of area light sources direct illumina-

tion within the real-time global illumination tech-

nique called light propagation volumes (Kaplanyan

and Dachsbacher, 2010). Its authors speciﬁed that this

technique can be adapted to simulate the direct illumi-

nation of area light sources by sampling the surface of

these sources to obtain an initial set of points that are

used as input for the technique. More details about

the light propagation volumes technique are provided

in Section 2.2. Our method uses a voxelization of the

area light source mesh representation into a voxel vol-

ume of the same resolution as the 3D grid used in the

global illumination technique. Taking a sample for

each voxel that intersects a triangle, for every trian-

gle of the mesh, creates an optimal distribution for

the samples needed to approximate the direct illumi-

nation of area light source for the light propagation

volumes technique.

The paper is structured as follows. Section 2

presents the related works and the necessary back-

ground for our method, followed in Section 3 by a

detailed description of it. Section 4 presents the quan-

titative and qualitative results obtained by our method.

Section 5 presents some conclusions about our work.

212

Lambru, C., Moldoveanu, F., Morar, A. and Asavei, V.

Area Lights Voxelization for Light Propagation Volumes.

DOI: 10.5220/0010841600003124

In Proceedings of the 17th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP 2022) - Volume 1: GRAPP, pages

212-219

ISBN: 978-989-758-555-5; ISSN: 2184-4321

Copyright

c

2022 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved

2 RELATED WORK

2.1 Area Lights

The real-time techniques approached by the game in-

dustry are based on analytical solutions that provide

plausible results. One of them uses a set of represen-

tative points to approximate the surface of the light

source. These points are numerically integrated to

obtain an approximation of the lighting of the entire

surface. The approach requires closed-form formu-

las speciﬁc to the area light source shape. Several

solutions have been proposed for different shapes,

such as lines (Picott, 1992), spheres (Snyder, 1996)

and rectangles (which also applies to disks) (Drobot,

2014). For generic planar polygonal light sources,

Arvo (Arvo, 1995) proposed a solution that was later

improved by Lecocq et al. (Lecocq et al., 2017) to

provide real-time performance. Recently, Heitz et

al. (Heitz et al., 2016) introduced a new class of tech-

niques that use linearly transformed spherical distri-

butions to offer great ﬂexibility over the shape of the

polygon that describes the light source.

The direct illumination of an area light source be-

haves similarly to the indirect illumination of the sur-

face when the light comes from another light source.

So that, in general, real-time global illumination tech-

niques can easily simulate direct illumination of area

light sources, as shown by Lambru et al. (Lambru

et al., 2021). Nichols et al. (Nichols et al., 2010)

proposed such an approach that uses the informa-

tion on the screen. However, this approach is limited

by the information on the screen and have problems

with temporal coherence as the camera moves. The

light propagation volumes technique (Kaplanyan and

Dachsbacher, 2010), which our method improves, of-

fers good visual results. This technique is presented

in more detail in the next subsection. The techniques

that use the scene geometry in the form of voxel repre-

sentation can also simulate the direct illumination of

area light sources, as shown by Villegas and Ram

´

ırez

(Villegas and Ram

´

ırez, 2016).

2.2 Light Propagation Volumes

This technique was proposed by Kaplanyan and

Dachsbacher (Kaplanyan and Dachsbacher, 2010) to

produce real-time indirect illumination and uses a 3D

grid, known as light propagation volume (LPV). Ev-

ery LPV cell stores the radiance that leaves the center

of the cell in all directions around it. To store such

a distribution around a point, spherical harmonics are

used. In order to compute the indirect illumination

for every pixel on the screen, obtained by rendering

the scene from the position of the observer, the in-

formation from the LPV cell whose center is closest

to the 3D space position of the pixel is queried. In

this way, the radiance that reaches the pixel from the

center of the LPV cell is obtained. However, for this

purpose it is required to compute in each cell the radi-

ance that reaches its center from all areas of the scene.

This process is done in two steps. First, an initial radi-

ance is introduced in the cells whose center is closest

to the positions where the light is reﬂected by the sur-

faces of the scene. In the second step, this radiance

information is propagated to all LPV cells. The sec-

ond step propagates the radiance information through

an iterative process, that at every iteration, propagates

the radiance information on each cell to all its neigh-

bors. This can also be a gathering process, in which

at each iteration, each cell accumulates the radiance

information from its neighbors.

Kaplanyan and Dachsbacher (Kaplanyan and

Dachsbacher, 2010) speciﬁed that the initial radiance

can be obtained from any source. In order to simulate

the area light sources direct illumination, they pro-

posed sampling the area lights surface in virtual point

lights (VPLs), which would be subsequently intro-

duced into the LPV. Di Koa et al. (Di Koa et al., 2017)

improved this approach and used a Poisson sampling

to acquire the VPLs. Di Koa and Johan (Di Koa and

Johan, 2016) proposed a technique to obtain a sec-

ond bounce of light for area light sources, by using

the LPV for direct illumination and the information

on the screen for indirect illumination. However, this

approach has problems due to the fact that it is lim-

ited to the information available on the screen for the

second bounce of light.

2.3 Mesh Voxelization

A voxel represents a unit of space of cubic shape and

is oriented parallel to the coordinates axes. The rep-

resentation of spatial information as a grid of voxels

has applicability in generic volumetric rendering.

The conversion of polygonal meshes into a voxel

volume is known as voxelization. Several real-time

techniques (Fang and Chen, 2000; Dong et al., 2004)

have taken advantage of the hardware acceleration

of GPUs. Eisemann and D

´

ecoret (Eisemann and

D

´

ecoret, 2008) proposed an approach that uses the

GPU rasterizer to voxelize the mesh representation of

the scene in a single rendering pass, but can only pro-

duce binary information per voxel. Schwarz and Sei-

del (Schwarz and Seidel, 2010) also proposed a single

pass solution, but without limitations on the informa-

tion stored in a voxel.

Area Lights Voxelization for Light Propagation Volumes

213

3 PROPOSED METHOD

Our method is an improvement of the light propaga-

tion volumes technique (Kaplanyan and Dachsbacher,

2010). Its authors proposed to simulate the direct illu-

mination of area light sources by sampling the surface

of these sources and creating a VPL for every sam-

ple. These VPLs are subsequently introduced into

the LPV as initial radiance. However, they failed to

provide a sampling strategy and a distribution of the

samples. They stated that they simulated area light

sources direct illumination with a dense sampling of

VPLs without providing an analysis and a quantitative

evaluation of this adaptation.

The purpose of this set of samples proposed by the

authors is to approximate the area light source direct

illumination inside the LPV. A sample set that does

not cover every LPV cell that intersects the area light

source surface does not introduce the radiance in all

the cells necessary to approximate the direct illumi-

nation of this source. This scenario is visible in Panel

(a) of Figure 1, where it can be seen that the visual

result is not plausible because the scene is dimly lit

compared to the surface of the area light source. By

contrast, in Panels (b) and (c) of Figure 1, the visual

results obtained with two sample sets that cover all

intersecting LPV cells can be observed.

This initially injected illumination is later propa-

gated throughout the LPV so that it can be quickly

accessed at any point in the scene. The radiance of

a VPL is injected into the LPV cell whose center is

closest to the VPL position. Thus, the VPL position

is not stored inside the LPV and it is considered that

(a)

(b)

(c)

x2

x2

Figure 1: Three panels that show different scenarios of sam-

pling the triangles of the area light source mesh. The yellow

rectangle represents a planar area light source composed of

two triangles. The top ﬁgure in each panel shows the dis-

tribution of samples that approximate the area light source

direct illumination. The samples are marked by red dots,

inside the triangles of the mesh and the LPV grid. Panel

(a): an under-sampling scenario is presented. Panel (b): an

over-sampling scenario. Panel (c): The VPL distribution

obtained by our voxelization sampling method. The large

red dots mark two overlapping samples.

the radiance emission is made from the center of this

LPV cell. In the situation where the intersection area

between the area light source surface and a LPV cell

has homogeneous information on its entire surface,

such as the same radiant ﬂux and emission direction,

a single VPL is sufﬁcient to approximate the direct il-

lumination of the area light source in the intersected

LPV cell. Such a scenario is visible in Panel (c) of

Figure 1, where it can be observed that the same vi-

sual result is obtained as in Panel (b) of Figure 1,

for which a larger sample set was used. All VPLs

in the same intersection area with homogeneous in-

formation on its surface contain the same information

except for the position, which is not stored inside the

LPV cell. For a mesh representation of the area light

source, this homogeneity on the surface of the inter-

section area is obtained when the homogeneity is at

the level of an entire triangle. We continue this sec-

tion by presenting this simpliﬁed scenario with homo-

geneous information and subsequently we present our

proposal for the situation in which the information is

not homogeneous at the level of an entire triangle. For

both scenarios, our proposal uses only one sample per

intersection area.

The use of a single sample per intersection area

offers multiple performance advantages. It should be

mentioned that the sample set cannot be processed en-

tirely ofﬂine and the radiance of the VPLs in it must

be injected into the LPV at each frame based on the

transformations of the area light source and the posi-

tion of the LPV. Thus, a large set of VPLs has a high

cost because it requires processing at each frame. For

this reason, dense sampling is not always the optimal

solution for the simulation of area light source direct

illumination.

3.1 Sampling by Voxelization

We further refer to the term intersection area for the

entire portion of a triangle that is found inside a LPV

cell. To obtain all the intersection areas of an area

light source mesh, we use a process similar to the

voxelization approach proposed by Schwarz and Sei-

del (Schwarz and Seidel, 2010). This technique uses

the GPU rasterizer to voxelize the geometry in a sin-

gle rendering pass. The pipeline of our approach is

shown in Figure 2 and is described below.

The voxelization process starts by rendering the

area light source mesh in a viewport having the reso-

lution of the LPV faces. In the geometry shader, the

vertices of the triangle are projected on the plane of

one of the LPV faces. In the fragment shader, the

clipspace coordinates (x, y, z) are normalized to the

resolution of the LPV (side

3

), obtaining the position

GRAPP 2022 - 17th International Conference on Computer Graphics Theory and Applications

214

Generate clamped cosine lobes distribution

Vertex Shader

Obtain the intersected LPV cells along z-axis.

Discard fragment when there is none.

Fragment Shader

Compute intersection AABB between

LPV cell face and initial triangle projection

Sample texture mipmap level

Inject sample inside intersected LPV cells

Insert the number of samples inside

intersected LPV cells counter

Project triangle vertices

Transform to world space

Geometry Shader

Expand triangle

Triangle Voxelization

Compute Shader

Weight spherical harmonic coefficients

Spherical Harmonics Coefficients Weighting

Figure 2: The pipeline of our sampling method that uses

the voxelization of the area light source mesh. Operations

marked in yellow represent the necessary additional steps

when the information is not homogeneous on the entire sur-

face of the mesh triangles.

of the cell (A

x

, A

y

, A

z

) in the LPV grid.

A triangle can intersect several LPV cells on the

z-axis, cells for which no fragments are produced by

the voxelization approach we use. Thus, all LPV

cells that have the same coordinates (A

x

, A

y

) must be

checked whether they intersect with the triangle. For

this process, we used the test proposed by Akenine-

M

¨

oller (Akenine-M

¨

oller, 2001). To optimize this

approach, we project the triangle on the LPV face

for which the triangle projection has the largest sur-

face. This approach ensures that a maximum of 2

cells intersect the triangle projection on the z-axis.

To obtain the 2 cells, we check only the following

3 cells: {(A

0

x

, A

0

y

, A

0

z−1

), (A

0

x

, A

0

y

, A

0

z

), (A

0

x

, A

0

y

, A

0

z+1

)},

where (A

0

x

, A

0

y

) represents the coordinates on the face

chosen for the projection of the triangle and A

0

z

is the

coordinate in depth along the axis perpendicular to

this face. Such a scenario is presented in Figure 3.

The GPU rasterizer does not generate the frag-

ments whose centers are outside the rasterized trian-

gle, even when the triangle partially intersects them.

Thus, a VPL for the intersection area cannot be gener-

ated when the fragment shader process has not started.

To generate these fragments, we extend the rasterized

triangle outwards with the approach proposed by Has-

selgren et al. (Hasselgren et al., 2005). This approach

sends to rasterization a larger triangle which cov-

A'

z-1

A'

z+1

A'

z

Figure 3: Section perpendicular to the plane of the LPV

face on which the triangle is projected. The section of the

triangle is marked in yellow. The section of the plane on

which the triangle is projected is marked in black. The gray

cell pairs are intersected by the section of the triangle along

the axis perpendicular to the face on which it is projected.

ers the centers of all partially intersected fragments.

However, the larger triangle can also cover the cen-

ter of other fragments that are completely outside the

triangle. In order not to introduce samples into LPV

cells that should not receive radiance, we compute the

cells of the LPV, along the z-axis, which intersect the

initial triangle, before the expansion process.

For every intersection area, a VPL is created with

the position of the LPV cell center in which the area

is located and with the direction of radiance emission

and the radiant ﬂux of the triangle. This situation is

valid when the information is homogeneous over the

entire surface of the triangle. Because the intersection

areas are computed for every triangle, this approach

covers the situation in which the triangles have differ-

ent information from others.

The radiance of each VPL is injected into the

spherical harmonic inside the LPV cell similarly to

that of the VPLs for indirect illumination in the light

propagation volumes technique. We use a clamped

cosine lobe in terms of zonal spherical harmonics

along the negative z-axis (Ramamoorthi and Hanra-

han, 2001) rotated in the direction of radiance emis-

sion (Sloan, 2008). To obtain the radiance distribution

for all VPLs in a LPV cell, we use:

D

0

=

1

N

N

∑

i=0

D

i

·C

i

(1)

where D

0

represents the spherical harmonic coefﬁ-

cients that approximate the radiance distribution in

the LPV cell, N is the number of VPLs inside the cell

and D

i

represents the coefﬁcients of the clamped co-

sine lobe in terms of zonal spherical harmonics that

approximate the radiance distribution of the i-th VPL.

We compute the coefﬁcients D

0

of 3 spherical har-

monics inside each cell, one for every color chan-

nel {R, G, B}. Thus, C

i

represents the intensity of the

color channel corresponding to the coefﬁcients D

0

for

the i-th VPL. We use 2-band spherical harmonics, so

a total of 4 coefﬁcients are used.

We count the number of VPLs in each LPV cell

Area Lights Voxelization for Light Propagation Volumes

215

in parallel with the computation of the spherical har-

monic coefﬁcients corresponding to the cell. During

the voxelization process, we store this VPL counter

for each cell and we update the coefﬁcients without

weighting. After this process, we weight all the coef-

ﬁcients in a compute shader.

The GPU can start several fragment shader pro-

cesses in parallel, so that several VPLs can be injected

in a LPV cell at the same time. To avoid concur-

rency problems, we use atomic operations to update

the spherical harmonic coefﬁcients and the counter in-

side the LPV cells.

3.2 Radiance Distribution

To store a speciﬁc radiance distribution on the sur-

face of a mesh triangle, we use an emission direction

for every triangle vertex. The emission direction at a

point inside the triangle is computed through interpo-

lation.

In this situation, where the emission direction is

not the same on the entire surface of the intersection

area, it is necessary to create a spherical harmonic

that approximates this radiance distribution. Sev-

eral methods (Wang and Ramamoorthi, 2018; Bel-

cour et al., 2018) have been proposed to compute

such a spherical harmonic for any number of bands.

However, due to the fact that we use 2-band spherical

harmonics, such an approach would be unnecessary.

Our approach to approximate the radiance distribution

uses a set of clamped cosine lobes to approximates all

emission directions on the intersection area surface.

To obtain the distribution of the clamped cosine

lobes, we compute the projection of the intersection

area on the LPV face on which the triangle is pro-

jected. For simplicity, we compute only the axis-

aligned bounding box (AABB) of the intersection

area between the face of the LPV cell and the pro-

jection of the initial triangle, before expansion. For

this process, we compute the AABB of the polygon

formed by the projected vertices of the triangle that

are inside the LPV cell face, the corners of the LPV

cell face that are inside the triangle projection and the

intersection points between the edges of the LPV cell

face and the edges of the triangle. These points can

be seen in Figure 4, marked with red dots.

After obtaining this AABB of the intersection area

projection, the emission direction in each corner of

the AABB is computed. The clamped cosine lobes

are distributed between the emission directions from

the corners, vertically and horizontally at angular dis-

tances of the same degree as that of the cosine lobe.

Each generated cosine lobe is injected into the LPV

cell with a weight of 1. The only observation is that

Figure 4: Several examples of AABBs, marked with dotted

line, computed for the intersection of the triangle projec-

tion, marked in yellow, with a LPV cell face. An AABB is

obtained for the polygon determined by the points marked

with red dots.

this distribution is created locally and only the ﬁnal

approximation with the weight as the number of lobes

required for the approximation is injected inside all

LPV cells intersected along the z-axis.

To obtain the emission direction in a corner of the

AABB, we compute the barycentric coordinates of

the respective corner inside the initial triangle. With

these barycentric coordinates, the direction from the

corner of the AABB is computed based on the direc-

tion information from the vertices of the triangle.

This approach can produce minor visual errors be-

cause it generates a single radiance distribution for the

AABB of the intersection area projection. This inter-

section area, as presented in Section 3.1, can cover

two LPV cells. For a correct computation of the radi-

ance distribution, the intersection area for every inter-

sected LPV cell must be processed.

3.3 Textured Area Lights

To store the radiant ﬂux information on the surface

of a triangle mesh, we use the texture mapping tech-

nique. We use texture coordinates at the vertices of

the triangle and interpolate them to obtain the texture

coordinate at any point inside the triangle. This coor-

dinate is used to sample the radiant ﬂux map.

To approximate the entire radiant ﬂux of the in-

tersection area, we use, similarly as in Section 3.2,

the AABB of this area projection on the LPV face on

which the triangle is projected. Based on the barycen-

tric coordinates of the AABB center, the texture co-

ordinate from this position is computed. To quickly

compute the entire radiant ﬂux information of the in-

tersection area, the mipmaping technique is applied

to the radiant ﬂux map. We compute the mipmap

level required to approximate the radiant ﬂux similar

to the speciﬁcations of the OpenGL standard (Segal

and Akeley, 1999), based on the texture coordinates

in the corners of the AABB.

This approach, similar to Section 3.2, can produce

minor visual errors due to the fact that a single radiant

ﬂux sample is computed for all LPV cells intersected

along the z-axis. In addition, due to the approxima-

tion made by the mipmapping technique, radiant ﬂux

GRAPP 2022 - 17th International Conference on Computer Graphics Theory and Applications

216

information can be introduced from areas outside the

intersection area.

4 RESULTS

4.1 Dense Sampling

Because the authors of the light propagation volumes

technique did not provide a strategy to sample the sur-

face of the area light sources, we had to design our

own strategy to obtain a dense sampling. We compare

the results obtained by this strategy with our optimal

method that uses the voxelization process of the area

light source mesh.

To obtain a dense sampling, we decided to sam-

ple each triangle of the area light source mesh with a

number of samples evenly distributed inside the trian-

gle. The distribution of the samples inside a triangle

was made similarly to Turk (Turk, 1990):

P = (1−

√

r

1

)·A+

√

r

1

·(1 −r

2

)·B+

√

r

1

·r

2

·C (2)

where P is the sample position, (A, B, C) are the ver-

tices positions of the triangle and {r

1

, r

2

} are two ran-

dom numbers in the interval [0, 1].

4.2 Evaluation

We implemented both the dense sampling strategy de-

scribed in Section 4.1 and our method described in

Section 3 in the C++ programming language with

OpenGL 4.6 graphics API. Performance evaluation

was performed on a machine with Nvidia GTX 1660

GPU.

We evaluated 5 different area light source meshes

with a LPV of 32

3

and 64

3

resolutions. For the dense

sampling strategy, we used 3 sets of samples with 1,

100 and 1 000 samples/triangle. The results of the

quantitative evaluation are presented in Table 1 and

the visual results, only for 64

3

LPV resolution, are

presented in Figures 5 and 6.

We also made a quantitative comparison between

the visual results from Figures 5 and 6. We computed

the mean squared error (MSE) between the pixels of

each image obtained with a dense sampling and the

ones of the image obtained with our method for every

area light source mesh. This MSE is found under each

image obtained with the dense sampling in Figures 5

and 6.

It is visible in Table 1 than a LPV resolution of

64

3

has better performance that a 32

3

resolution for

almost all test data. This is because atomic operations

were used to inject the radiance of each sample into

the LPV, as presented in Section 3.1. Thus, for a high

LPV resolution, few samples are introduced into the

same cell. From our tests, this operation is the most

expensive for the entire sampling process, far beyond

the actual samples generation.

The performance of the strategy that obtains a

dense sampling is poor for a large number of trian-

gles, for obvious reasons. The best performance is

obtained for 1 sample/triangle, but as can be seen in

Figure 5, the visual results are not always the best and

can produce a dimly lit scene. The visual results be-

come plausible and approach the optimal result when

a large number of samples is used. Our method ob-

tains this result for area light source meshes that have

homogeneous information on the surface of all trian-

gles. It detects the LPV cells intersected by each trian-

gle and produces a single sample for every one. The

use of a dense sampling does not always guarantee

that a sample is produced for an intersection area.

The reasons why our method obtains optimal vi-

sual results are explained in Section 3, but a practi-

Table 1: Performance evaluation for both the strategy that obtains a dense sampling and our method that uses the voxelization

of the area light source mesh. The number of triangles for every evaluated mesh is as follows: Quad - 2 triangles, Square

Pyramid - 6 triangles, Tube - 12 triangles, Sphere - 720 triangles and Stanford Lucy - 33 446 triangles.

LPV

res.

Area light

source mesh

Sampling strategy

Dense sampling

Our method

1 smp/tri 100 smp/tri 1 000 smp/tri

32

3

Quad 0.007 ms 0.007 ms 0.015 ms 0.024 ms

Square Pyramid 0.007 ms 0.009 ms 0.034 ms 0.024 ms

Tube 0.007 ms 0.012 ms 0.053 ms 0.025 ms

Sphere 0.009 ms 0.235 ms 2.475 ms 0.031 ms

Stanford Lucy 0.132 ms 9.850 ms 98.500 ms 0.307 ms

64

3

Quad 0.007 ms 0.007 ms 0.015 ms 0.020 ms

Square Pyramid 0.007 ms 0.009 ms 0.024 ms 0.020 ms

Tube 0.007 ms 0.016 ms 0.047 ms 0.020 ms

Sphere 0.008 ms 0.140 ms 1.581 ms 0.032 ms

Stanford Lucy 0.123 ms 9.250 ms 91.760 ms 0.304 ms

Area Lights Voxelization for Light Propagation Volumes

217

1 sample

per triangle

Quad

100 samples

per triangle

1 000 samples

per triangle

Our method

Dense sampling

(a)

0.036959 0.000066

0.000001

Square Pyramid

(b)

0.035019 0.000239

0.000046

Tube

(c)

0.018754 0.000398

0.000006

Sphere

(d)

0.000171 0.000011

0.000002

Stanford Lucy

(e)

0.000024 0.000006

0.000005

Figure 5: The visual results obtained with both the strat-

egy that obtains a dense sampling and our method that uses

the voxelization of the area light source mesh. For the ﬁrst

method, the visual results obtained for the use of 3 sets

of samples with 1, 100 and 1 000 samples/triangle are pre-

sented. The number below each image represents the MSE

between the pixels of the image and the ones of the image

obtained with our method, visible on the right side of each

panel.

cal example is also provided in Figure 5. This ﬁg-

ure shows the MSE between the pixels of each image

obtained with a dense sampling and those of the im-

age obtained with our method. It can be seen that

the MSE is small when a dense sampling with 100

samples/triangle is used and approaches 0 when the

number of samples/triangle is 1 000. Thus, it can be

observed that our method offers visual results almost

identical to these provided by the use of a dense sam-

pling with a large sample set.

Our method provides optimal visual results in

general at performances superior to a dense sampling.

This can be observed from the quantitative evalua-

tions visible in Table 1 and Figure 5, where in Panel

(b) of Figure 5 the optimal visual result is obtained

for 1 000 samples/triangle in 0.034 ms compared to

our method that obtains an almost identical result in

0.024 ms for a LPV resolution of 32

3

. A similar situ-

ation is in Panel (c), with 1 000 samples/triangle with

a performance 2 times poorer than that of our method,

in Panel (d) with 100 samples/triangle at a perfor-

mance 4.3 times poorer and in Panel (e) with 100

samples/triangle at a performance 30.4 times poorer.

The only area light source mesh for which the use

of a dense sampling has superior performance to our

method is the one in Panel (a) of Figure 5, where for

1 000 samples/triangle, dense sampling obtains the

optimal result at a performance of 0.6 compared to

our method.

For the situation where the information is not ho-

mogeneous on the entire surface of the mesh trian-

gles, our method produces visual results similar to

those obtained by a dense sampling. This is visible

in Panel (a) of Figure 6. Our approach can produce

minor visual errors, as explained in Sections 3.2 and

3.3. However, it can be seen that the MSE between

the pixels of the image obtained with a dense sam-

pling and those of the image produced by our method

is small when the number of samples is large for the

dense sampling. Therefore, the result obtained by our

method is close to the optimal one, obtained with the

dense sampling when a large number of samples is

used.

Our method is an improvement of the light prop-

agation volumes technique. It offers an optimal dis-

tribution of VPLs that approximates the direct illu-

mination of area light sources, but after this step, the

light propagation volumes technique does not support

changes. Therefore, the direct lighting simulation has

the same level of ﬂexibility and quality of the visual

results as this technique allows. Our method can pro-

duce, at different quality levels, several lighting ef-

fects. The effect with the highest quality of the vi-

sual results is the direct diffuse illumination, visible in

Panel (a) of Figure 6. The direct specular illumination

is not of good quality due to the rather low resolution

of the LPV and the use of 2-band spherical harmon-

ics, as shown by Lambru et al. (Lambru et al., 2021).

Both limitations are motivated by performance. The

visual results are visible in Panel (b) of Figure 6.

1 sample

per triangle

100 samples

per triangle

1 000 samples

per triangle

Dense sampling

Our method

(a)

0.009839 0.000478

0.000020

(b)

0.002217 0.000120

0.000022

Figure 6: The visual results obtained with both the strat-

egy that obtains a dense sampling and our method that uses

the voxelization of the area light source mesh. The number

below each image represents the MSE between the pixels

of the image and the ones of the image obtained with our

method, visible on the right side of each panel. Panel (a):

only the direct diffuse illumination is presented. Panel (b):

only the direct specular illumination.

GRAPP 2022 - 17th International Conference on Computer Graphics Theory and Applications

218

5 CONCLUSIONS

In this paper, we have presented an improvement of

the light propagation volumes technique for the par-

ticular case of simulating area light sources direct il-

lumination. This technique requires the approxima-

tion of these sources direct illumination in the form

of a set of VPLs, that are later used as input in the

technique. The method proposed by us in this article

provides an optimal distribution of VPLs on the area

light source surface, which offers an optimal approx-

imation for the light propagation volumes technique.

A further improvement can be represented by the

better approximation of inhomogeneous information

on the surface of intersection areas. The explanation

of the visual errors obtained with our approximation

was provided in Sections 3.2 and 3.3, together with a

theoretical solution to obtain a better approximation.

Based on the light propagation volumes tech-

nique, our method offers plausible visual results for

both diffuse and specular direct illumination. How-

ever, there are other illumination effects that could be

produced, such as shadows, volumetric lighting and

the simulation of supplemental light bounces for area

light sources. These illumination effects are impor-

tant for area light sources and their simulation may be

a topic of interest in the future.

REFERENCES

Akenine-M

¨

oller, T. (2001). Fast 3d triangle-box overlap

testing. J. Graph. Tools, 6(1):29–33.

Arvo, J. (1995). Applications of irradiance tensors to the

simulation of non-lambertian phenomena. In Pro-

ceedings of the 22nd Annual Conference on Computer

Graphics and Interactive Techniques, SIGGRAPH

’95, page 335–342, New York, NY, USA. Association

for Computing Machinery.

Belcour, L., Xie, G., Hery, C., Meyer, M., Jarosz, W.,

and Nowrouzezahrai, D. (2018). Integrating clipped

spherical harmonics expansions. ACM Trans. Graph.,

37(2).

Di Koa, M. and Johan, H. (2016). Efﬁcient screenspace ren-

dering for area lights. In Proceedings of the 33rd Com-

puter Graphics International, CGI ’16, page 29–32,

New York, NY, USA. Association for Computing Ma-

chinery.

Di Koa, M., Johan, H., and Sourin, A. (2017). Voxel-based

interactive rendering of translucent materials under

area lights using sparse samples. In 2017 Interna-

tional Conference on Cyberworlds (CW), pages 56–

63.

Dong, Z., Chen, W., Bao, H., Zhang, H., and Peng, Q.

(2004). Real-time voxelization for complex polygo-

nal models. In 12th Paciﬁc Conference on Computer

Graphics and Applications, 2004. PG 2004. Proceed-

ings., pages 43–50.

Drobot, M. (2014). Physically based area lights. In Engel,

W., editor, GPU Pro 5, pages 67–100. CRC Press.

Eisemann, E. and D

´

ecoret, X. (2008). Single-pass gpu solid

voxelization for real-time applications. In Proceed-

ings of Graphics Interface 2008, GI ’08, page 73–80,

CAN. Canadian Information Processing Society.

Fang, S. and Chen, H. (2000). Hardware accelerated vox-

elization. Computers & Graphics, 24(3):433–442.

Hasselgren, J., Akenine-M

¨

oller, T., and Ohlsson, L. (2005).

Conservative Rasterization, pages 677–690. Addison-

Wesley.

Heitz, E., Dupuy, J., Hill, S., and Neubelt, D. (2016).

Real-time polygonal-light shading with linearly trans-

formed cosines. ACM Trans. Graph., 35(4).

Kaplanyan, A. and Dachsbacher, C. (2010). Cascaded light

propagation volumes for real-time indirect illumina-

tion. In Proceedings of the 2010 ACM SIGGRAPH

Symposium on Interactive 3D Graphics and Games,

I3D ’10, page 99–107, New York, NY, USA. Associ-

ation for Computing Machinery.

Lambru, C., Morar, A., Moldoveanu, F., Asavei, V., and

Moldoveanu, A. (2021). Comparative analysis of real-

time global illumination techniques in current game

engines. IEEE Access, 9:125158–125183.

Lecocq, P., Dufay, A., Sourimant, G., and Marvie, J.-E.

(2017). Analytic approximations for real-time area

light shading. IEEE transactions on visualization and

computer graphics, PP.

Nichols, G., Penmatsa, R., and Wyman, C. (2010). In-

teractive, multiresolution image-space rendering for

dynamic area lighting. Computer Graphics Forum,

29(4):1279–1288.

Picott, K. P. (1992). Extensions of the linear and area light-

ing models. IEEE Computer Graphics and Applica-

tions, 12(02):31–38.

Ramamoorthi, R. and Hanrahan, P. (2001). On the relation-

ship between radiance and irradiance: determining the

illumination from images of a convex lambertian ob-

ject. J. Opt. Soc. Am. A, 18(10):2448–2459.

Schwarz, M. and Seidel, H.-P. (2010). Fast parallel surface

and solid voxelization on gpus. ACM Trans. Graph.,

29(6).

Segal, M. and Akeley, K. (1999). The opengl graphics sys-

tem: A speciﬁcation (version 1.1).

Sloan, P.-P. (2008). Stupid spherical harmonics (sh) tricks.

Game developers conference.

Snyder, J. (1996). Area light sources for real-time graphics.

Technical Report MSR-TR-96-11.

Turk, G. (1990). Generating random points in triangles.

Graphics gems, pages 24–28.

Villegas, J. and Ram

´

ırez, E. (2016). Deferred voxel shading

for real-time global illumination. In 2016 XLII Latin

American Computing Conference (CLEI), pages 1–11.

Wang, J. and Ramamoorthi, R. (2018). Analytic spherical

harmonic coefﬁcients for polygonal area lights. ACM

Trans. Graph., 37(4).

Area Lights Voxelization for Light Propagation Volumes

219