The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
Introduction to Point Based Global Illumination (PBGI)
1. Point Based Global Illumination
Karsten Daemen
KU Leuven
June 30, 2014
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 1 / 41
2. Table of Contents
1 Global Illumination
2 Point Based Global Illumination
The algorithm
Step I: Generation of the pointcloud
Step II: Calculating the Global Illimunation
Rendering Equation PBGI
Approximated Point Based Global Illumination
Clustering of the surfels
Projection on the hemisphere
Applications
3 Non Diuse Point Based Global Illumination
Nondiuse material and PBGI
The Non Diuse PBGI algorithm
4 References
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 2 / 41
3. Section I: Global Illumination
Figure: Image property of Disney/Pixar
c [Seymour, 2012]
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 3 / 41
5. Figure: Direct lighting only, image property of Dreamworks
c [Krivanek et al., 2010]
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 5 / 41
6. Figure: With indirect lighting, image property of Dreamworks
c [Krivanek et al., 2010]
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 6 / 41
7. Section II: Point Based Global Illumination
Figure: Property of Disney/Pixar
c [Christensen, 2010b]
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 7 / 41
8. What is Point Based Global Illimination?
A two step rendering algoritm to calculate the inderect lighting in a diuse
scene.
1 Step I: The
9. rst step generates a diuse pointcloud from the scene
consisting out of surfels.
2 Step II: The second step calculates the Global illumination with the
help of the diuse pointcloud.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 8 / 41
10. Step I: Generation of the diuse pointcloud
The diuse pointcloud is a point based representation of the re
ected
direct light in the scene. This is achieved by discretizing the surface of the
scene and approximate the re
ected diuse light of these surfaces through
surfels.
Figure: Diuse pointcloud of the demo scene.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 9 / 41
11. Step I: The Diuse surfels
A surfel is a tiny colored disk representing the outgoing radiance of a tiny
surface area. Therefore a surfel consists out of a: normal, radius, position
and radiance value.
Figure: Surfel representaton of the diuse teapot in the demo scene.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 10 / 41
12. Step II: Calculating the incoming indirect light
Since the surfels in the diuse pointcloud represent the re
ected radiance
from all of surfaces in the scene, the incoming indirect lighting of a certain
point can be generated by projecting all the individual surfels on the
hemisphere of that point.
Figure: Point Based Global Illumination
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 11 / 41
13. Step II: Projection of the surfels
During this projection process, overlapping of surfels has to be taken into
account. A surfel will block the radiance from other distant overlapping
surfels.
Figure: Projection of overlapping
surfels.
Figure: 2D representation of the
hemisphere of Figure 8 with the
projected surfels.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 12 / 41
14. Step II: Convolution with the BRDF
If all the incoming indirect (and direct) radiance in a point is known, one
needs only to convolve the incoming radiance with the local BRDF to get
the outgoing radiance to the camera.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 13 / 41
15. Rendering Equation PBGI
More formally the PBGI algoritm calculates the outgoing radiance L(p; so)
in point p in direction s0 according to the following formula [Daemen,
2014]:
L(p; so) = Le(p; so) +
X
q2Pd
f(p; so ! sq) lb
q V (p; q) G(p; q)
+ ldirect(p; so):
(1)
lbp
= lb1
p +
X
q2Pd
p lb1
q V (p; q) G(p; q)
l0
p = ldirect(p; :::)
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 14 / 41
16. It can be shown [Daemen, 2014] that equation (1) can be derived from the
rendering equation [Kajiya, 1986]:
Ltot
i (p) =
Z
S
L(q;sq) G(p; q) d!sq : (2)
This means that PBGI, as described here, is an unbiased algorithm for
diuse scenes. The more surfels are generated, the more the approximate
indirect lighting will convert to the real indirect lighting of the scene.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 15 / 41
17. Aproximated Point Based Global Illumination
The unbiased PBGI algorithm is however very unpractical. The projection
process on the hemispheres is complicated and slow. Therefore in practice,
the Approximated PBGI algorithm is used. This algorithm adds the
following alterations to the unbiased PBGI algorithm:
Clustering of the surfels
Projection on the hemisphere
These alterations considerately speed up the algorithm but Approximated
PBGI is no longer unbiased.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 16 / 41
18. Clustering of the surfels
Projection of every individual surfel on every hemisphere would however
take too much time. Distant surfels will be approximated by a clustered
surfel, a surfel that combines dierent individual surfels or other smaller
clustered surfels. These clustered surfels are generated in Step I and
stored with the individual surfels in an octree hierarchy.
Figure: Individual surfels. Figure: Single clustered
surfel
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 17 / 41
19. During the projection process of Step II, a cutting algorithm traverses the
octree hierarchy of the pointcloud and decides wich clustered or individual
surfel to use. This decission is made based on the occupied solid angle of
the surfel.
Figure: Clustering pointcloud in octree
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 18 / 41
20. In the case that the radiance values of certain surfels are too dierent to
be averaged out in a single radiance value, the radiance value of the
clustered surfel will be represented through a spheric harmonic function.
The radiance value of that clustered surfel will therefore be dependent on
the direction it's viewed from, this increases accuracy.
Figure: Approximate nodes in octree as a new surphel or spherical hormonical
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 19 / 41
21. Projection on the hemisphere
Projecting surfels on a perfect hemisphere is a mathematical complex
operations that requires the use of several computation heavy functions
(e.g.: sin(), sqrt(), ...). This operation becomes even more unpractical
when taking into account that overlapping surfels should be detected.
The approximate PBGI algorithm of [Christensen, 2010a] will therefore use
a microbuer as an approximation of the hemisphere. A microbuer can
be viewed as 6 framebuers placed on the faces of an axis aligned cube.
The surfels are projected on the pixels of the buers.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 20 / 41
23. nal outgoing radiance in the points of the microbuer can be
calculated by convolving the local BRDF with the pixels of the microbuer.
Figure: Microbuers displaying the surfel projections and their location in the scene.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 21 / 41
25. ts of approximate PBGI are:
Fast
Relative Low memory
No noise
Handles complex geometry (hair, explosions, displacements, ...)
In the following slides, we'll highlight the most common applications of
Approximate PBGI ...
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 22 / 41
27. rst
bounce of diuse indirect light (Color Bleeding).
Figure: Direct lighting Figure: 1st bounce indirect
diuse lighting
Figure: Demo scene with color
bleeding
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 23 / 41
28. Application: Multiple bounces
PBGI is not limited to single bounce indirect lighting, multiple bounces
can be generated by projecting the pointclouds on themselves.
Figure: Direct Figure: Direct + 1st
bounce indirect
lighting
Figure: Direct + 1st
and 2th bounce
indirect lighting
Figure: Direct + 1st,
2th and 3th bounce
indirect lighting
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 24 / 41
29. Application: Simulating area lights
The surfels doesn't necessarily only have to represent the re
ecting
radiance of surfaces, they can also represent emitting radiance. PBGI is
therefore able to simulate area lights.
Figure: Simulating area lights through the Stanford Bunny.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 25 / 41
31. nal gather step of the photon mapping algorithm can also be
processed through PBGI.
Figure: [Christensen, 2008], property of Pixar Inc.
R
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 26 / 41
32. Movie example: Bolt (2008)
Figure: [Christensen, 2010b], property of Disney
R
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 27 / 41
33. Movie example: Up (2009)
Figure: Point cloud from Up [Christensen, 2010b], property of Pixar Inc.
R
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 28 / 41
34. Movie example: Up (2009)
Figure: Direct Illumination, [Christensen, 2010b], property of Pixar Inc.
R
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 29 / 41
35. Movie example: Up (2009)
Figure: Global Illumination, [Christensen, 2010b], property of Pixar Inc.
R
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 30 / 41
36. Section III: Non Diuse Point Based Global
Illumination
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 31 / 41
37. Disclaimer:
This section gives a quick overview of some of my personal research and is
not used in the industry at the moment.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 32 / 41
38. Nondiuse material and PBGI
What happens when there's a nondiuse material in the scene? How will
the surfels model the re
ected radiance?
Figure: Re
ected radiance of surfel
on diuse surface
Figure: Re
ected radiance of surfel
on nondiuse surface
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 33 / 41
39. The PBGI algorithm will approximate these surfaces with black surfels.
These are surfels without any outgoing radiance, they can only block other
surfels. The PBGI algoritm therefore ignores indirect light coming from
nondiuse surfaces.
Figure: Nondiuse surfels are approximated with black surfels.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 34 / 41
40. Nondiuse indirect light
Figure: Direct lighting Figure: Diuse indirect lighting
Figure: Nondiuse indirect lighting Figure: Total lighting
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 35 / 41
41. The Non Diuse PBGI algorithm
The proposed NonDiuse Point Based Global Illumination (NDPBGI)
algorithm will not ignore this indirect light coming from nondiuse
surfaces through the help of nondiuse surfels.
Nondiuse surfels are surfels that are able to express outgoing radiance
that is dependent on the viewing direction. Their outgoing radiance can
no longer be expressed through a single value but through a Hemispherical
Radiance Approximation (HRA).
A HRA is a function that returns the outgoing radiance of a surfel for a
certain hemispherical direction.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 36 / 41
42. Since each nondiuse surfel has an HRA and there are several thousands
nondiuse surfels in a pointcloud, an HRA must be:
Compact, it may not take up much memory on the system.
Fast, it has to be evaluated quickly.
Accurate, it has to give an accurate approximation of the outgoing
radiance of the surfel.
These three conditions are con
icting, trade os should be made. We
developped an HRA based on Von Mises-Fischer distributions and used
this in our future experiremts.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 37 / 41
43. Calculating the non diuse indirect light
A few examples of the calculated indirect light coming from non diuse
surfaces by use of the Non Diuse PBGI algorihm:
Figure: Indirect non diuse lighting Figure: Total lighting
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 38 / 41
44. Figure: Indirect non diuse lighting Figure: Diuse indirect lighting
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 39 / 41
45. Figure: Indirect non diuse lighting Figure: Diuse indirect lighting
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 40 / 41
46. References
P Christensen. Point-based approximate color bleeding. Pixar Technical Notes, 2(5):6, 2008.
Per H. Christensen. Point-based global illumination for movie production. SIGGRAPH Comput. Graph., July 2010a.
Per H. Christensen. Point-based global illumination for movie production, August 2010b. URL
http://graphics.pixar.com/library/PointBasedGlobalIlluminationForMovieProduction/Slides.pdf.
K. Daemen. Punt-gebaseerde globale belichting voor niet-diuse scenes. June 2014.
James T. Kajiya. The rendering equation. SIGGRAPH Comput. Graph., 20(4):143{150, August 1986. ISSN 0097-8930. doi:
10.1145/15886.15902.
Jaroslav Krivanek, Marcos Fajardo, Per H Christensen, Eric Tabellion, Michael Bunnell, David Larsson, Anton Kaplanyan,
B Levy, and RH Zhang. Global illumination across industries. SIGGRAPH Courses, 2010.
Mike Seymour. The art of rendering (updated), 2012. URL http://www.fxguide.com/featured/the-art-of-rendering/.
Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 41 / 41