<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Implementation of the Radiosity Algorithm for Large Scale Scenes</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>A.S. Shcherbakov</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Gaijin Entertainment</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Keldysh Institute of Applied Mathematics</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Lomonosov Moscow State University</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We propose an upgrade for the Radiosity algorithm that allows to efficiently apply radiosity for large scale scenes. This is achieved by considering only the patches located close to the observer. For each frame we update local form-factor matrix with a little set of patches, effectively reusing information from the previous frame in this way. Our method is completely expressed via matrix-vector operations, thus, it's GPU implementation is natural and straightforward. We achieve high occupancy for both CPU and GPU versions of the algorithm by thanks to we use special matrix of several reflections for which update operation effectively combine computations with memory operations.</p>
      </abstract>
      <kwd-group>
        <kwd>Global Illumination</kwd>
        <kwd>Radiosity</kwd>
        <kwd>Large Scenes</kwd>
        <kwd>GPU</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The methods of global real-time global
illumination in general can be divided into two classes: the
methods that uses preprocessing/precomputation and
those who does not uses it (i. e. calculate everything in
dynamic). The main advantage of methods that do not
use pre-processing is the fully dynamic content.
However, the methods of the first group due to the
precomputation and pre-integration usually are
significantly better in terms ofspeed/quality ratio.</p>
      <p>Our work is devoted to the problem of building
methods of the ”intermediate class” that combines the
advantages of both classes.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related works</title>
      <sec id="sec-2-1">
        <title>Dynamic methods</title>
        <p>
          LPV [
          <xref ref-type="bibr" rid="ref6">9</xref>
          ], VCT [
          <xref ref-type="bibr" rid="ref1">4</xref>
          ] and Volumetric Irradiance Map
[
          <xref ref-type="bibr" rid="ref17">20</xref>
          ] discretizes the spacearound the observer and
model the movement of light along the vogxreild.
Main disadvantage of LPV and VCT is the high
computational cost and high memory requirements.
Volumetric Irradiance Map [
          <xref ref-type="bibr" rid="ref17">20</xref>
          ] is uses for half-static scenes
and the secondary lighting is applied to dynamic
objects, but these objects do not contribute to secondary
lighting of static objects. Thus, Volumetric Irradiance
Map [
          <xref ref-type="bibr" rid="ref17">20</xref>
          ] is one ofthose ”intermediate class”
examples.
        </p>
        <p>
          Instant Radiosity [
          <xref ref-type="bibr" rid="ref8">11</xref>
          ], Reflective Shadow Map [
          <xref ref-type="bibr" rid="ref3">6</xref>
          ]
and analogues creates secondary light sources,
calculating the secondary illumination in the same way as
the primary. The most significant disadvantage of
RSM-based methods is their low precision. As the
number of secondary sources increases, the accuracy
increases, but the calculation time also
increasessignificantly [
          <xref ref-type="bibr" rid="ref12">2, 15, 21</xref>
          ].
2.2
        </p>
        <p>PRT</p>
      </sec>
      <sec id="sec-2-2">
        <title>Methods</title>
        <p>Precomputed Light Transport (PRT) methods al-low
to move the most complex calculations from the
rendering stage to the precomputationstage.</p>
        <p>
          For example, Radiance regression function [
          <xref ref-type="bibr" rid="ref14">17</xref>
          ] is
based on neural networks. It is restricted by static
geometry and materials. The second disadvantage of
method is that itworks only for point light sources.
        </p>
        <p>
          Spherical harmonics based methods [
          <xref ref-type="bibr" rid="ref17 ref5">8, 20</xref>
          ] uses
idea of ”relighting”, treating the dynamic light source as
a linear combination of pre-processed sources.
These methods suffers from light leaking which was
noted in [
          <xref ref-type="bibr" rid="ref17">20</xref>
          ]. In general these methods are well-suited
for outdoor but not indoorscenes.
        </p>
        <p>
          Despite huge number of papers in real-time global
illumination, radiosity [
          <xref ref-type="bibr" rid="ref16">3, 19</xref>
          ] to this day remains one of
the best method by means of speed/quality ra-tion.
It is usedby Enlighten and Unity for exam-ple [
          <xref ref-type="bibr" rid="ref11 ref2 ref9">1, 5,
12, 14</xref>
          ] and lighting engineering programs [22, 23].
        </p>
        <p>
          Radiosity, like the previously considered methods,
uses scene discretization (but use patches insteadof
voxels). The pre-calculation is done by calculating the
matrix of form-factors. The form-factor is a value
indicating how much of the lighting is transferred from
one patch to another. The calculation of the global
illumination is reduced to solving the linear equation
system or several matrix-vector multiplications. By
expanding the calculations at the preprocessing stage, it
is possible to reduce the calculation of the global
illumination method to a single matrix-vector
multiplication [
          <xref ref-type="bibr" rid="ref15">18</xref>
          ].
        </p>
        <p>
          However Radiosity still have O(N 2) algorithmic
complexity where N is the number of scene patches.
This is the main disadvantage of the algorithm, since
such computational complexity is unacceptable for
large scenes (with an increase in the number of sites
N ). Our work is aimed specifically at solving this
problem. The existing approaches of hierarchical
radiosity and analogues [
          <xref ref-type="bibr" rid="ref10 ref4">7, 13</xref>
          ] are light-dependent (due to
they split scene to patches according to the
current lighting setup) and does not exploit its the main
advantage — precomputation of form-factors.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed approach</title>
      <p>For a better explanation of our methods, we will
begin with a few simple ideas that will be refined
further.</p>
      <p>
        Our first idea is that we can consider only M clos-est
patches to the observer (where M &lt;&lt; N ). We as-sume
lighting from other patches equals to some con-stant or
evaluate it on a rougher approximation (that is, we may
build cascades of discrete representations of the scene in
the same way as the Cascaded LPV [
        <xref ref-type="bibr" rid="ref7">10</xref>
        ] does). This idea
leads us to the fact that we can make a submatrix of
form-factors, on which we will perform basic
calculations. We will call it local matrix (Fig. 1, left).
      </p>
      <p>However, the direct implementation of this method
will not be efficient because the matrix of the
formfactor for the entire scene (even isfpecial methods
are used to effectively store sparsematrices) does not fit
into the computer’s RAM. Therefore, reading even M 2
of random elements (shown in green in Fig. 1, left)
from DRAM or external memory cannot be
implemented efficiently.</p>
      <p>Therefore, second idea is that it is necessary to
reuse information from the previous frames as much as
possible, updating only patches that were not loaded on
previous frames (Fig. 1, right). This allows us to
reduce the number of form-factors that areloaded into
the local matrix each frame to only a few readings (or
approximately M if the observer moves quickly,
which, nevertheless, is significantly better than M 2).</p>
      <p>However, reading even a few elements from the
global matrix at random addresses is still inefficient
for modern computing systems. During the update of
the local matrix of form-factors, computing system (both
CPU and GPU) will be practically idle. At the same
time, after updating, when calculating the radi-ance on
the local matrix of form-factors, they will be loaded and
these calculations may become a bottle-neck since you
need to perform at least 3 multiplica-tions of the local
matrix by a vector (to account for three light bounces).
local matrix
matrix update</p>
      <p>
        Therefore, third idea is to combine updating the
local matrix with the multiple reflection matrix from
[
        <xref ref-type="bibr" rid="ref15">18</xref>
        ]. This will allow organizing a pipeline in which
calculations are immediately performed for each
formfactor obtained from the global matrix
wiftohrmfactors from the localmatrix. That is, we will store
and update the local matrix of several reflections,
rather than the usual local matrix of form-factors. In
this case, the subsequent calculation of the global
illumination is reduced to a single multiplication of the
matrix by the vector, which, given the small size of the
local matrix, is very cheap.
      </p>
      <p>Finally, the fourth idea is that with asmall
movement of the observer, it is possible to update the
local matrix less often than to calculate the lighting on
it (for example, once in 2-5 frames). Therefore, it
makes sense to reduce the cost of the stage
ocfalculating the lighting usinga local matrix of several
reflections.
3.1</p>
      <sec id="sec-3-1">
        <title>Baseline</title>
        <p>
          The matrix of form-factors of several reflections
[
          <xref ref-type="bibr" rid="ref15">18</xref>
          ] is based onthe idea of the composition of
formfactors. We further describe the principle of
composition on simple examples.
        </p>
        <p>Consider three patches withindices i, j, k. Then Fij
and Fjk — form-factors of energy transfer from the j-th
path to the i-th patch and from the k-th patch to the
jth patch respectively. Colorsj — color of j patch.
Then value</p>
        <p>Fij · Colorsj · Fjk
shows how much of the world will go from the k-th
patch to the i-th patch when the multi-reflection from the
j-th patch.</p>
        <p>After going through all patches as intermediate in
the reflection, we get the complete second reflection of
light from the patch number k to the patch number i:
=2
F ik</p>
        <p>N
∑
j=0</p>
        <p>Fij · Colorsj · Fjk,
where N — number of patches in local matrix.</p>
        <p>Thus, at the preprocessing stage, it is possible to
calculate reflections of an arbitrary order. The
multiple reflection matrix contains a specified number of
reflections.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Local matrix of multiple-reflection</title>
        <p>In order to extend this approach to a local ma-trix in
the surrounding of an observer, two ways are possible:
1. Calculation of the matrix ofseveral reflections for
the entire scene and the use of itsparts.
2. ”Online” matrix calculation for the observer’s area
using the usual matrix of form-factors (Fig. 1,
right).</p>
        <p>The first option is not applicable for large scenes
since it requires to store 3N 2 of real numbers. The
proposed method implements the second option, since the
matrix of form-factors is sparse and can be effi-ciently
stored/accessed.</p>
        <p>To update the matrix of several reflections, two
operations are required: (1) adding a site to the matrix and
(2) removing the site from it. Delete operation is
implemented by zeroing the row and column of the
matrix of form-factors corresponding to the deleted
patch.</p>
        <p>To add a new patch, we must consider several types of
reflections. First, we need to include the usual
formfactors fcolumn and frow (Fig. 2, ”single”). Next,
triple reflections are taken into account, in which light is
reflected twice from a new patch. To do this, double
reflection is first calculated(Fig. 2, ”double”):
double_ref lection = fcolumn ◦ Colors frow
reflection
be calculated
double_ref lection
furthe(rFig. 2,</p>
        <sec id="sec-3-2-1">
          <title>By using double triple reflections can ”triple”):</title>
          <p>gcol = fcolumn</p>
          <p>Color double_ref lection
grow = frow Color double_ref lection</p>
          <p>Finally, we add information on form-factors that
takes into accountthe light reflectionsbetween
patches already participating in the matrix (Fig. 2,
”interreflections”):
gc′ol = Flocal gcol
gr′ow = grow Flocal</p>
          <p>Thus, the form-factors for the new patch are equal
to
gc′ol + gcol + fcolumn;</p>
          <p>gr′ow + grow + frow:</p>
          <p>Now, in addition to adding the form-factors of the
new patch, it is required to update theform-factors of
the rest of the matrix. For this we use previously
calculated form-factors for newpatch (4):</p>
          <p>To implement the proposed method we create 6
compute shaders to update the matrix, one to delete the
patch data and one shader to update the lighting. The
following shaders are used forupdating:
1. Calculating double_ref lection (1) using parallel
reduction on GPU.
2. Calculates triple reflections gcol, grow (2) by
multiplying double_ref lection with form-factors.
3. Multiplying gcol by a matrix of form-factorsto get ′
col (3).
4. Multiplying the form-factor matrix by grow to get g′
row (3).
5. Adding to the matrix of information about
reflections in view of the newpatch (5).
6. Adding new site form-factors to thematrix.</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Suggested approach; (2 ms, 128 MB)</title>
          <p>
            Multiple reflection matrix from [
            <xref ref-type="bibr" rid="ref15">18</xref>
            ];(300 ms, 30GB)
          </p>
          <p>Difference image. In average is is less than 0.05.
Fig. 3. Comparison of Radiosity for the full matrix
and the proposed method. Since the full matrix 63125
× 63125 does not fit in the memory ofthe GPU, the
time was estimated.</p>
          <p>The most computational-cost are steps 3-5. How-ever,
steps 3 and 4 are just matrix-vector multiplica-tions, and
the step 5 implements the addition of two matrices. Both
of these these operations are to be easily implemented on
GPU.
3.4</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Details</title>
        <p>The matrix of form-factors can be stored as a tex-ture
in the format RGBA16F. At the same time, the matrix
size is limited to 4096 pixels on some GPU due to the
specific hardware limits (mobile GPUs).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results</title>
      <p>The proposed method was compared with the
common Radiosity on local form-factor matrix and
significantly outperforms it (Fig. 4).</p>
      <p>We test our method on the scene of 63125 patches
(Fig. 3). We took a Minecraft scene in order to omit
scene approximation algorithms in our work. At high
speed, the proposed method gives an image close to
the image obtained by the methodof full-matrix
Radiosity on the CPU.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Acknowledgments</title>
      <p>This work was sponsored by RFBR 18-31-20032
grant.
6. References
[1] Akenine-Moller, T., Haines, E., Hoffman, N. Real-time
rendering. Fourth Edition. – AK Peters/CRC Press,
2018. page 482.
[2] Budak, V.P., Zheltov, V.S., Kalakutsky, T.K. Local
estimations of Monte Carlo method with the object spec-tral
representation in the solution of global illumina-tion. //
Computer Research and Modeling, 2012, vol. 4, no. 1, pp.
75-84.
[3] Cohen, M., GreenBurg, D. The Hemi-cube: A Radios-ity
solution for complex it is hard to achieve
environments // Proceedings of SIGGRAPH 85 in Computer
Graphics, 1985. 19. number 3. pp.31-40.
[21] Walter, B., Fernandez, S., Arbree, A., Bala, K.,
Donikian, M., and Donald P. Greenberg. 2005.
Lightcuts: a scalable approach to illumination. ACM
Trans. Graph. 24, 3 (July 2005), 1098-1107. DOI:
https://doi.org/10.1145/1073204.1073318
[22]DIAL Dialux. 2019. URL =
https://www.dial.de/en/dialux/
[23] Relux Informatik AG Relux. 2019. URL =
https://reluxnet.relux.com/en/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Crassin</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neyret</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sainz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Green</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Eisemann</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          (
          <year>2011</year>
          ,
          <article-title>September)</article-title>
          .
          <article-title>Interactive indirect illumination using voxel cone tracing</article-title>
          .
          <source>In Computer Graphics Forum</source>
          (Vol.
          <volume>30</volume>
          , No.
          <issue>7</issue>
          , pp.
          <fpage>1921</fpage>
          -
          <lpage>1930</lpage>
          ). Oxford, UK: Blackwell Publishing.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Cupisz</surname>
          </string-name>
          , Kuba, and Kasper Engelstoft, Lighting in Unity, Game Developers Conference, Mar.
          <year>2015</year>
          . http://www.gdcvault.com/play/1021765/
          <string-name>
            <surname>Advanced-VisualEffects-</surname>
          </string-name>
          With-DirectX
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Dachsbacher</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stamminger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Reflective shadow maps // Proceedings of the 2005 symposium on Inter-active 3D graphics and games</article-title>
          .
          <source>- ACM</source>
          ,
          <year>2005</year>
          . - .
          <volume>203</volume>
          -
          <fpage>231</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Durand</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drettakis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Puech</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Fast and accurate hierarchical radiosity using global visibility</article-title>
          .
          <source>ACM Trans. Graph</source>
          .
          <volume>18</volume>
          ,
          <issue>2</issue>
          (April
          <year>1999</year>
          ),
          <fpage>128</fpage>
          -
          <lpage>170</lpage>
          . DOI=http://dx.doi.org/10.1145/318009.318012
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Green</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>Spherical harmonic lighting: The gritty details //Archives of the Game DevelopersConference</article-title>
          .
          <article-title>-</article-title>
          <year>2003</year>
          . - Vol.
          <volume>56</volume>
          . - p.
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Kaplanyan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Light propagation volumes in cryengine 3 //</article-title>
          ACM SIGGRAPH Courses.
          <year>2009</year>
          . Vol.
          <volume>7</volume>
          . p.
          <fpage>2</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Kaplanyan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dachsbacher</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <year>2010</year>
          .
          <article-title>Cascaded light propagation volumes for real-time indirect illumination</article-title>
          .
          <source>In Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games (I3D '10)</source>
          . ACM, New York, NY, USA,
          <fpage>99</fpage>
          -
          <lpage>107</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Keller</surname>
            <given-names>A</given-names>
          </string-name>
          . Instant radiosity.
          <article-title>- 1997.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Magnusson</surname>
          </string-name>
          , Kenny,
          <source>Lighting You Up with Battlefield 3</source>
          ,
          <string-name>
            <given-names>Game</given-names>
            <surname>Developers</surname>
          </string-name>
          <string-name>
            <surname>Conference</surname>
          </string-name>
          , Mar.
          <year>2011</year>
          . http://www.frostbite.com/
          <year>2011</year>
          /03/lighting-you
          <article-title>-up-inbattlefield-3/</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Marries van de Hoef</surname>
          </string-name>
          .
          <article-title>Real-Time Dynamic Radiosity for High Quality Global Illumination</article-title>
          .
          <year>2013</year>
          .
          <article-title>Master Thesis</article-title>
          . ICA-
          <volume>3220516</volume>
          . Utrecht university.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>Sam,</given-names>
          </string-name>
          and
          <article-title>Per Einarsson, A Real-Time Radiosity Architecture for Video Game, SIGGRAPH Advances in Real-Time Rendering in 3DGraphics and Games course</article-title>
          ,
          <year>July 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Ou</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Pellacini</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <year>2011</year>
          .
          <article-title>LightSlice: matrix slice sampling for the many-lights problem</article-title>
          .
          <source>ACM Trans. Graph</source>
          .
          <volume>30</volume>
          ,
          <issue>6</issue>
          ,
          <string-name>
            <surname>Article 179</surname>
          </string-name>
          (
          <year>December 2011</year>
          ),
          <article-title>8 pages</article-title>
          . DOI: https://doi.org/10.1145/2070781.2024213
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Pranckevicius</surname>
            , Aras,
            <given-names>Jens</given-names>
          </string-name>
          <string-name>
            <surname>Fursund</surname>
          </string-name>
          , and Sam Martin, Advanced Lighting Techniques in Unity, Unity DevDay, Game Developers Conference, Mar.
          <year>2014</year>
          . http://aras-p.info/blog/2014/05/05/shadercompilation-in-unity-4
          <string-name>
            <surname>-</surname>
          </string-name>
          dot-5/
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Ren</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gong</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tong</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <year>2013</year>
          .
          <article-title>Global illumination with radiance regression functions</article-title>
          .
          <source>ACM Trans. Graph</source>
          .
          <volume>32</volume>
          ,
          <issue>4</issue>
          ,
          <string-name>
            <surname>Article 130</surname>
          </string-name>
          (
          <issue>July2013</issue>
          ),
          <volume>12</volume>
          pages. DOI: https:// doi.org/10.1145/2461912.246200
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Shcherbakov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Frolov</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <article-title>Accelerating radiosity on gpus</article-title>
          .
          <source>In WSCG'2017 Full papers proceedings (2017)</source>
          ,
          <volume>2701</volume>
          , Computer Science Research Notes 2701 Pilsen, Czech Republic, pp.
          <fpage>99</fpage>
          -
          <lpage>105</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Sillion</surname>
            <given-names>F. X.</given-names>
          </string-name>
          et al.
          <article-title>Radiosity and global illumination</article-title>
          . San Francisco : Morgan Kaufmann,
          <year>1994</year>
          . Vol.
          <volume>1</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Yudintsev</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Scalable Real-Time Global Illumination for Large Scenes</article-title>
          .
          <source>GDC Talk</source>
          .
          <year>2019</year>
          . URL = https://www.gdcvault.com/play/1026469/
          <string-name>
            <surname>Scalable-RealTime-</surname>
          </string-name>
          Global-Illumination
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>