41
Point Based Global Illumination Karsten Daemen KU Leuven June 30, 2014 Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 1 / 41

Introduction to Point Based Global Illumination (PBGI)

Embed Size (px)

DESCRIPTION

An introduction to Point Based Global Illumination.

Citation preview

Page 1: Introduction to Point Based Global Illumination (PBGI)

Point Based Global Illumination

Karsten Daemen

KU Leuven

June 30, 2014

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 1 / 41

Page 2: Introduction to Point Based Global Illumination (PBGI)

Table of Contents

1 Global Illumination

2 Point Based Global IlluminationThe algorithm

Step I: Generation of the pointcloudStep II: Calculating the Global Illimunation

Rendering Equation PBGIApproximated Point Based Global Illumination

Clustering of the surfelsProjection on the hemisphere

Applications

3 Non Diffuse Point Based Global IlluminationNondiffuse material and PBGIThe Non Diffuse PBGI algorithm

4 References

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 2 / 41

Page 3: Introduction to Point Based Global Illumination (PBGI)

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

Page 4: Introduction to Point Based Global Illumination (PBGI)

Indirect Lighting

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 4 / 41

Page 5: Introduction to Point Based Global Illumination (PBGI)

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

Page 6: Introduction to Point Based Global Illumination (PBGI)

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

Page 7: Introduction to Point Based Global Illumination (PBGI)

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

Page 8: Introduction to Point Based Global Illumination (PBGI)

What is Point Based Global Illimination?

A two step rendering algoritm to calculate the inderect lighting in a diffusescene.

1 Step I: The first step generates a diffuse pointcloud from the sceneconsisting out of surfels.

2 Step II: The second step calculates the Global illumination with thehelp of the diffuse pointcloud.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 8 / 41

Page 9: Introduction to Point Based Global Illumination (PBGI)

Step I: Generation of the diffuse pointcloud

The diffuse pointcloud is a point based representation of the reflecteddirect light in the scene. This is achieved by discretizing the surface of thescene and approximate the reflected diffuse light of these surfaces throughsurfels.

Figure: Diffuse pointcloud of the demo scene.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 9 / 41

Page 10: Introduction to Point Based Global Illumination (PBGI)

Step I: The Diffuse surfels

A surfel is a tiny colored disk representing the outgoing radiance of a tinysurface area. Therefore a surfel consists out of a: normal, radius, positionand radiance value.

Figure: Surfel representaton of the diffuse teapot in the demo scene.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 10 / 41

Page 11: Introduction to Point Based Global Illumination (PBGI)

Step II: Calculating the incoming indirect light

Since the surfels in the diffuse pointcloud represent the reflected radiancefrom all of surfaces in the scene, the incoming indirect lighting of a certainpoint can be generated by projecting all the individual surfels on thehemisphere of that point.

Figure: Point Based Global Illumination

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 11 / 41

Page 12: Introduction to Point Based Global Illumination (PBGI)

Step II: Projection of the surfels

During this projection process, overlapping of surfels has to be taken intoaccount. A surfel will block the radiance from other distant overlappingsurfels.

Figure: Projection of overlappingsurfels.

Figure: 2D representation of thehemisphere of Figure 8 with theprojected surfels.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 12 / 41

Page 13: Introduction to Point Based Global Illumination (PBGI)

Step II: Convolution with the BRDF

If all the incoming indirect (and direct) radiance in a point is known, oneneeds only to convolve the incoming radiance with the local BRDF to getthe outgoing radiance to the camera.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 13 / 41

Page 14: Introduction to Point Based Global Illumination (PBGI)

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) +∑q∈Pd

f(p, so → sq) lbq V (p, q) G(p, q)

+ ldirect(p, so).

(1)

lbp = lb−1p +∑q∈Pd

ρp lb−1q V (p, q) G(p, q)

l0p = ldirect(p, ...)

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 14 / 41

Page 15: Introduction to Point Based Global Illumination (PBGI)

It can be shown [Daemen, 2014] that equation (1) can be derived from therendering equation [Kajiya, 1986]:

Ltoti (p) =

∫SL(q,−sq) G(p, q) dωsq . (2)

This means that PBGI, as described here, is an unbiased algorithm fordiffuse scenes. The more surfels are generated, the more the approximateindirect lighting will convert to the real indirect lighting of the scene.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 15 / 41

Page 16: Introduction to Point Based Global Illumination (PBGI)

Aproximated Point Based Global Illumination

The unbiased PBGI algorithm is however very unpractical. The projectionprocess on the hemispheres is complicated and slow. Therefore in practice,the Approximated PBGI algorithm is used. This algorithm adds thefollowing alterations to the unbiased PBGI algorithm:

Clustering of the surfels

Projection on the hemisphere

These alterations considerately speed up the algorithm but ApproximatedPBGI is no longer unbiased.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 16 / 41

Page 17: Introduction to Point Based Global Illumination (PBGI)

Clustering of the surfels

Projection of every individual surfel on every hemisphere would howevertake too much time. Distant surfels will be approximated by a clusteredsurfel, a surfel that combines different individual surfels or other smallerclustered surfels. These clustered surfels are generated in Step I andstored with the individual surfels in an octree hierarchy.

Figure: Individual surfels. Figure: Single clusteredsurfel

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 17 / 41

Page 18: Introduction to Point Based Global Illumination (PBGI)

During the projection process of Step II, a cutting algorithm traverses theoctree hierarchy of the pointcloud and decides wich clustered or individualsurfel to use. This decission is made based on the occupied solid angle ofthe surfel.

Figure: Clustering pointcloud in octree

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 18 / 41

Page 19: Introduction to Point Based Global Illumination (PBGI)

In the case that the radiance values of certain surfels are too different tobe averaged out in a single radiance value, the radiance value of theclustered surfel will be represented through a spheric harmonic function.The radiance value of that clustered surfel will therefore be dependent onthe 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

Page 20: Introduction to Point Based Global Illumination (PBGI)

Projection on the hemisphere

Projecting surfels on a perfect hemisphere is a mathematical complexoperations that requires the use of several computation heavy functions(e.g.: sin(), sqrt(), ...). This operation becomes even more unpracticalwhen taking into account that overlapping surfels should be detected.

The approximate PBGI algorithm of [Christensen, 2010a] will therefore usea microbuffer as an approximation of the hemisphere. A microbuffer canbe viewed as 6 framebuffers placed on the faces of an axis aligned cube.The surfels are projected on the pixels of the buffers.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 20 / 41

Page 21: Introduction to Point Based Global Illumination (PBGI)

The final outgoing radiance in the points of the microbuffer can becalculated by convolving the local BRDF with the pixels of the microbuffer.

Figure: Microbuffers displaying the surfel projections and their location in the scene.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 21 / 41

Page 22: Introduction to Point Based Global Illumination (PBGI)

What makes approximate PBGI so popular?

The main benefits 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 ofApproximate PBGI ...

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 22 / 41

Page 23: Introduction to Point Based Global Illumination (PBGI)

Application: Color Bleeding

The most common application of PBGI is the calculation of the firstbounce of diffuse indirect light (Color Bleeding).

Figure: Direct lighting Figure: 1st bounce indirectdiffuse lighting

Figure: Demo scene with colorbleeding

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 23 / 41

Page 24: Introduction to Point Based Global Illumination (PBGI)

Application: Multiple bounces

PBGI is not limited to single bounce indirect lighting, multiple bouncescan be generated by projecting the pointclouds on themselves.

Figure: Direct Figure: Direct + 1st

bounce indirectlighting

Figure: Direct + 1st

and 2th bounceindirect lighting

Figure: Direct + 1st,2th and 3th bounceindirect lighting

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 24 / 41

Page 25: Introduction to Point Based Global Illumination (PBGI)

Application: Simulating area lights

The surfels doesn’t necessarily only have to represent the reflectingradiance of surfaces, they can also represent emitting radiance. PBGI istherefore 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

Page 26: Introduction to Point Based Global Illumination (PBGI)

Application: Final gather in photon maps

The final gather step of the photon mapping algorithm can also beprocessed through PBGI.

Figure: [Christensen, 2008], property of Pixar Inc. R©

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 26 / 41

Page 27: Introduction to Point Based Global Illumination (PBGI)

Movie example: Bolt (2008)

Figure: [Christensen, 2010b], property of Disney R©

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 27 / 41

Page 28: Introduction to Point Based Global Illumination (PBGI)

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

Page 29: Introduction to Point Based Global Illumination (PBGI)

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

Page 30: Introduction to Point Based Global Illumination (PBGI)

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

Page 31: Introduction to Point Based Global Illumination (PBGI)

Section III: Non Diffuse Point Based GlobalIllumination

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 31 / 41

Page 32: Introduction to Point Based Global Illumination (PBGI)

Disclaimer:

This section gives a quick overview of some of my personal research and isnot used in the industry at the moment.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 32 / 41

Page 33: Introduction to Point Based Global Illumination (PBGI)

Nondiffuse material and PBGI

What happens when there’s a nondiffuse material in the scene? How willthe surfels model the reflected radiance?

Figure: Reflected radiance of surfelon diffuse surface

Figure: Reflected radiance of surfelon nondiffuse surface

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 33 / 41

Page 34: Introduction to Point Based Global Illumination (PBGI)

The PBGI algorithm will approximate these surfaces with black surfels.These are surfels without any outgoing radiance, they can only block othersurfels. The PBGI algoritm therefore ignores indirect light coming fromnondiffuse surfaces.

Figure: Nondiffuse surfels are approximated with black surfels.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 34 / 41

Page 35: Introduction to Point Based Global Illumination (PBGI)

Nondiffuse indirect light

Figure: Direct lighting Figure: Diffuse indirect lighting

Figure: Nondiffuse indirect lighting Figure: Total lighting

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 35 / 41

Page 36: Introduction to Point Based Global Illumination (PBGI)

The Non Diffuse PBGI algorithm

The proposed NonDiffuse Point Based Global Illumination (NDPBGI)algorithm will not ignore this indirect light coming from nondiffusesurfaces through the help of nondiffuse surfels.

Nondiffuse surfels are surfels that are able to express outgoing radiancethat is dependent on the viewing direction. Their outgoing radiance canno longer be expressed through a single value but through a HemisphericalRadiance Approximation (HRA).

A HRA is a function that returns the outgoing radiance of a surfel for acertain hemispherical direction.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 36 / 41

Page 37: Introduction to Point Based Global Illumination (PBGI)

Since each nondiffuse surfel has an HRA and there are several thousandsnondiffuse 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 outgoingradiance of the surfel.

These three conditions are conflicting, trade offs should be made. Wedevelopped an HRA based on Von Mises-Fischer distributions and usedthis in our future experiremts.

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 37 / 41

Page 38: Introduction to Point Based Global Illumination (PBGI)

Calculating the non diffuse indirect light

A few examples of the calculated indirect light coming from non diffusesurfaces by use of the Non Diffuse PBGI algorihm:

Figure: Indirect non diffuse lighting Figure: Total lighting

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 38 / 41

Page 39: Introduction to Point Based Global Illumination (PBGI)

Figure: Indirect non diffuse lighting Figure: Diffuse indirect lighting

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 39 / 41

Page 40: Introduction to Point Based Global Illumination (PBGI)

Figure: Indirect non diffuse lighting Figure: Diffuse indirect lighting

Karsten Daemen (KU Leuven) Point Based Global Illumination June 30, 2014 40 / 41

Page 41: Introduction to Point Based Global Illumination (PBGI)

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. URLhttp://graphics.pixar.com/library/PointBasedGlobalIlluminationForMovieProduction/Slides.pdf.

K. Daemen. Punt-gebaseerde globale belichting voor niet-diffuse 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