GLOBAL ILLUMINATION ALGORITHMS Graphics & Visualization: - - PowerPoint PPT Presentation

global illumination algorithms
SMART_READER_LITE
LIVE PREVIEW

GLOBAL ILLUMINATION ALGORITHMS Graphics & Visualization: - - PowerPoint PPT Presentation

Graphics & Visualization Chapter 16 GLOBAL ILLUMINATION ALGORITHMS Graphics & Visualization: Principles & Algorithms Chapter 16 Introduction Global Illumination Algorithms: Deal with the realistic computation of light


slide-1
SLIDE 1

Graphics & Visualization

Chapter 16

GLOBAL ILLUMINATION ALGORITHMS

Graphics & Visualization: Principles & Algorithms Chapter 16

slide-2
SLIDE 2

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Global Illumination Algorithms:

Deal with the realistic computation of light transport in a scene

Estimate indirect illumination, i.e. light reaching a point through multiple surface

inter-reflections

Compute both direct illumination and indirect light

  • Images are radiometrically

accurate and photorealistic

  • All aspects of the image-generator pipeline are based on physics:

The reflection properties of all materials are described by BRDFs

The light sources are radiometrically modeled

The transport of light through the scene is computed accurately

The display of the image uses accurate tone-mapping operators

Introduction

2

slide-3
SLIDE 3

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The rendering equation:

Is the most fundamental equation for photorealistic synthesis

Expresses the equilibrium of light distribution in a 3D scene

Takes into account:

  • The radiometric specification of the light sources
  • The BRDF specifications of all materials
  • It is an energy balance that expresses how much excitant radiance is

present at a given surface point in a certain direction

The Physics of Light-Object Interaction II

3

slide-4
SLIDE 4

Graphics & Visualization: Principles & Algorithms Chapter 16

  • BRDF at a surface point x:

Expresses excitant radiance Lr in direction (φr , θr ) versus incident irradiance Ei from direction (φi , θi ): (16.1)

  • Integrate Eq(16.1) over the hemisphere Ωi
  • f all possible

differential solid angles dωi :

Rendering Equation: Hemispherical Integration

( , ) ( , ) ( , , , ) ( , ) ( , )cos( )

r r r r r r r r r i i i i i i i i i i

dL dL f dE L d                

( , ) ( , ) ( , , , )cos( ) ( , ) ( , ) ( , , , )cos( )

i

r r r i i i r r r i i i i r r r i i i r r r i i i i

dL L f d L L f d                    

  

4

slide-5
SLIDE 5

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Add a constant term, which corresponds to the self-emitted radiance

Le (φr , θr ) of point x

  • The complete rendering equation is:

Rendering Equation: Hemispherical Integration (2)

( , ) ( , ) ( , ) ( , , , )cos( )

i

r r r e r r i i i r r r i i i i

L L L f d            

 

5

(16.2)

slide-6
SLIDE 6

Graphics & Visualization: Principles & Algorithms Chapter 16

  • We can move from solid angle to surface integration domain
  • The integral is taken over all visible surfaces
  • Transform dωi to the corresponding differential surface dA
  • Let

y: the first visible surface point seen from point x in direction (φi,θi)

(φi yθy ) : the direction pointing from y towards x

rxy: the distance between x and y

Svisible: the set of all visible surfaces as seen from x

  • Then:
  • Then Lr

becomes:

Rendering Equation: Surface-Area Integration

6

2

cos( )

y i

dA d r   

xy

2

cos( )cos( ) ( , ) ( , ) ( , ) ( , , , )

Visible

i y r r r e r r S i i i r r r i i

L L L f dA r              

xy

(16.3)

slide-7
SLIDE 7

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Radiance remains constant along a straight line (no scattering),

so we may replace received radiance with emitted radiance at the source:

  • In equation Eq(16.3):

the product of both cosine terms divided by rxy

2

  • is a geometric coupling term
  • is dependent on the geometrical relationship between x and y
  • is independent of the actual radiance distribution or BRDF's

defined on the surfaces:

Rendering Equation: Surface-Area Integration (2)

7

( , ) ( , , ) ( , , )

i i i i i i r y y

L L L         x y

2

cos( )cos( ) ( , )

i y

G r   

xy

x y

slide-8
SLIDE 8

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Substituting all of the above in Eq[16.3]:

Rendering Equation: Surface-Area Integration (3)

8

( , , ) ( , , ) ( , , ) ( , , , ) ( , )

Visible

r r r e r r S r y y r r r i i

L L L f G dA             x x y x y

slide-9
SLIDE 9

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Integral over all surfaces is preferable to integral over visible

surfaces only:

Advantage: Single integration domain, identical for all points x

  • We introduce a visibility term V(x, y):
  • The rendering equation becomes:

S: the integration domain indicating all surface point y

9

1 , and are mutually invisible V( ) 0 , otherwise     x y x,y

( , , ) ( , , ) ( , , ) ( , , , ) ( , ) ( , )

r r r e r r r y y r r r i i S

L L L f G V dA             x x y x y x y

Rendering Equation: Surface-Area Integration (4)

slide-10
SLIDE 10

Graphics & Visualization: Principles & Algorithms Chapter 16

  • A special case:

Direct illumination from one light source S1 : the surface area domain of the light source

Direct illumination from more light sources:

  • Split the integral in a sum of integrals for each light source

10

1

( , , ) ( , , ) ( , , , ) ( , ) ( , )

r r r S e y y r r r i i

L L f G V dA           x y x y x y

1

( , , ) ( , , ) ( , , , ) ( , ) ( , )

j

L r r r S e y y r r r i i j

L L f G V dA        

 

x y x y x y

Rendering Equation: Surface-Area Integration (5)

slide-11
SLIDE 11

Graphics & Visualization: Principles & Algorithms Chapter 16 

Direct illumination from one light source

11

Rendering Equation: Surface-Area Integration (6)

slide-12
SLIDE 12

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The light source is encoded as a (hemi)-spherical environment map
  • An emitted radiance Le(φi,θi) is defined for each incoming direction
  • Usually is given as a high dynamic range image
  • Can contain more than a million pixels

Environment Map Illumination

12

( , ) ( , ) ( , , , )cos( )

i

r r r e i i r r r i i i i

L L f d          

 

slide-13
SLIDE 13

Graphics & Visualization: Principles & Algorithms Chapter 16

  • For some applications, it is useful to express:

Light energy per surface patch (usually individual polygons)

The hemisphere of all outgoing directions

  • Achieved by discretizing

the rendering equation

  • We solve a linear system: each equation describes the energy

balance of a single patch Radiosity algorithms

  • Note that not all of these algorithms use the radiosity

B radiometric quantity

Discretized Form of the Rendering Equation

13

slide-14
SLIDE 14

Graphics & Visualization: Principles & Algorithms Chapter 16

Assumptions for the formulation of radiosity equations:

  • All surfaces in the scene are subdivided in surface patches
  • The outgoing radiance is similar for all surface points on the patch
  • The algorithm will compute only the average radiance of all surface

points

  • All surface patches have diffuse reflectance characteristics
  • Each patch has only 1 radiance value as a final solution
  • The light sources are considered to be diffuse as well (although

this is not strictly necessary)

Discretized Form of the Rendering Equation (2)

14

slide-15
SLIDE 15

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Radiosity

B for a single point x

Is the flux per surface area, or

Radiance integrated over the hemisphere of outgoing directions at x

  • Average radiosity

Bi emitted by a surface patch i with area Ai:

  • On purely diffuse surfaces:

self-emitted radiance Le and the BRDF fr do not depend on incoming or

  • utgoing directions
  • Rendering equation for a surface point x:

Discretized Form of the Rendering Equation (3)

15

1 ( , , )cos( )

i

i S r r r r i i

B L d dA A    

 

x

x ( ) ( ) ( , , ) ( )cos( )

x

r e i i i r i i

L L L f d    

  x x x x

slide-16
SLIDE 16

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The incident radiance Li(x,φi,θi):

depends on incident direction

corresponds to the exitant radiance Lr(y) emitted towards x by the point y visible from x along the direction (φi,θi)

  • The integral equation without any directions present:
  • In a diffuse environment:

Radiosity and radiance are related

B(x) = π Lr(x) and Be(x) = π Le(x)

Discretized Form of the Rendering Equation (4)

16

( ) ( ) ( ) ( , ) ( , ) ( )

r e r r S

L L f G V L dA  

y

x x x x y x y y

slide-17
SLIDE 17

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Radiosity

Integral equation:

Multiply by π

  • f the light-

and left- hand side of the above equation where

ρ(x) = π fr(x) :the diffuse hemispherical reflectance

and

K(x,y) = G(x, y)V(x, y)

  • The rendering equation becomes:

Discretized Form of the Rendering Equation (5)

17

( ) ( ) ( ) ( , ) ( )

e S

B B K B dA    

y

x x x x y y

1 1 1 ( ) cos( ) ( ) ( )

i i i

i S r r i S r S i i i

B L d dA L dA B dA A A A   

  

   

x

x x x

16.4

slide-18
SLIDE 18

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Assume the radiosity

B(x) is constant over each surface element i:

B(x) = Bi for all x Si

  • Eq[16.4] can be converted into a linear system as follows:

Discretized Form of the Rendering Equation (6)

18

( ) ( ) ( ) ( , ) ( ) 1 1 1 ( ) ( ) ( ) ( , ) ( ) 1 1 1 ( ) ( ) ( ) ( , ) ( ) 1 ( ) ( , )

i i i i i i j i j

e y S S x S e x S y x S i i i S x S e x S S y x j i i i i ei j S S y x j i

B x B x K x y B y dA B x dA B x dA K x y B y dA dA A A A B x dA B x dA K x y B y dA dA A A A B B B K x y dA dA A                     

            

x x x x

slide-19
SLIDE 19

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Assume the hemispherical diffuse reflectivity is constant over the

surface patch:

i.e. ρ(x) = ρi for all x Si

the following classical radiosity system of equations results:

  • Patch-to-patch form factors Fij

:

  • The form factors:

represent the amount of energy transfer between 2 surface patches i and j

are nontrivial 4D integrals

depend on the geometry of the scene

do not depend on any specific configuration of light sources

Discretized Form of the Rendering Equation (7)

19

i ei i ij j j

B B F B      

1 ( , )

i j

ij S S y x i

K x y F dA dA A  

 

slide-20
SLIDE 20

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Is an important tool for evaluating the global illumination equation
  • Evaluates integrals based on a selection of random samples in the

integration domain

  • The Monte Carlo method:

Generates random points in the integration domain

Evaluates the integrand in each random sample

Averages these evaluations

  • Works no matter how complex the function to be integrated is
  • Drawback:

Slow converge rate: when drawing N samples, we expect a converge rate of

Monte Carlo Integration

1/ N

20

slide-21
SLIDE 21

Graphics & Visualization: Principles & Algorithms Chapter 16

Verification of the method:

  • Evaluate the following 1D integral:
  • Draw uniformly N samples x1

, x2 ,…, xN from the domain [0,1]

  • Average the function evaluations f(xi

) to obtain an estimation for I:

  • The expected value of equals the value of I:
  • Every different computation of will yield a different result
  • But on average, we will get the same answer.

Monte Carlo Integration (2)

1

( ) I f x dx  

1

1 ( )

N i i

I f x N

  

[ ] E I  

I  

1 1 1 1 1 1

1 1 1 [ ] [ ( )] [ ( )] ( ) 1 · · ( ) ( )

N N N i i i i i

E I E f x E f x f x dx N N N N f x dx f x dx I N

  

       

    

I  

21

slide-22
SLIDE 22

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The variance σ2

indicates the spread of possible values of around the expected outcome I:

  • As the number of N increases:

σ2 decreases linearly with N  σ decreases with

  • To decrease the error by a factor of 2 need 4 times as many samples
  • The converge speed:

Is lower than that of many other integration techniques, but

Is independent of the number of dimensions in the integral

Monte Carlo Integration (3)

I  

1/ N

2 2 2 2 1 1 1 1 2 2 2

1 1 [ ] [ ( )] [ ( )] 1 1 · · ( ( ) ) ( ( ) )

N N i i i i

I f x f x N N N f x I dx f x I dx N N   

 

       

   

22

slide-23
SLIDE 23

Graphics & Visualization: Principles & Algorithms Chapter 16

Generalization:

  • Generalize to the domain [a,b] and use a non-uniform probability

density p(x) to draw the samples:

  • Again
  • The pdf

p(x) has to:

Be strictly larger than 0 over the entire integration domain

Integrate to 1:

Monte Carlo Integration (4)

2 2 1

( ) 1 1 ( ) , [ ] ( ) ( ) ( )

N b i a i i

f x f x I I I dx N p x N p x 

      

 

( ) E I I    ( ) 1

b a p x dx 

23

slide-24
SLIDE 24

Graphics & Visualization: Principles & Algorithms Chapter 16

  • To draw samples distributed according to p(x):

Compute the cumulative distribution function P(x): P(x): is a monotonic increasing function over [a,b] P(a) = 0 and P(b) = 1

If a random number t is generated uniformly over [0,1], then x = P-1(t) is distributed according to p(x)

  • In practice, to compute the inverse value quickly:

Compute the inverse cumulative function

Store it as a table

Use binary search to compute the inverse value

Monte Carlo Integration (5)

( ) ( )

x a

P x p y dy  

24

slide-25
SLIDE 25

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Multidimensional Monte Carlo integration:

Works in the same way as 1D integration

If the integral is defined over a domain [a, b]×[c, d]:

  • Advantages:

simple to implement

Very robust

Provides an answer independent of:

  • The complexity of the function
  • The dimensions of the domain
  • Drawbacks:

The error is hard to control and cannot be expressed by explicit lower and upper bounds

Monte Carlo Integration (6)

25 1

( , ) 1 ( , ) , ( , )

N b d i i a c i i i

f x y I f x y dxdy I N p x y

   

  

slide-26
SLIDE 26

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Usually involves applying Monte Carlo integration
  • Assumptions:

Compute the reflected radiance value

  • In a surface point x
  • In a specific direction (usually the direction pointing towards the

camera)

Computing Direct Illumination

26

slide-27
SLIDE 27

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Integration domain: the surface Sl
  • f the light source
  • Pdf

p(y): generates surface points yi

  • ver the total light source area
  • Use N

sample points {y1, y2,…, yN}

  • The estimator for the radiance value Lr(x,φr, θr):
  • Pdf

p(y):

Is a 2D pdf

Generates 2 coordinates u and v

Transformed to a 3D point on the surface with a proper mapping

The mapping is identical to the texture-mapping procedure

Single Light Source

27 1

( , , ) ( , , , ) ( , ) ( , ) 1 ( , , ) ( )

j j

N e j y y r r r i i j r r r j j

L f G V L N p        

  

j

y x y x y x y

slide-28
SLIDE 28

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Each point on the light source has pdf

p(yi) ≠0, otherwise:

Some parts of the light source will not be sampled

The estimated radiance will be biased

Single Light Source (2)

28

slide-29
SLIDE 29

Graphics & Visualization: Principles & Algorithms Chapter 16

Algorithm:

// direct illumination from a single light source // for a surface point x, direction phi, theta directIllumination (x, phi, theta) estimatedRadiance = 0; for all shadow rays generate point y on light source; estimatedRadiance += Le(y,phi_y,theta_y)*BRDF*radianceTransfer(x,y)/pdf(y); estimatedRadiance = estimatedRadiance / #shadowRays; return(estimatedRadiance);

Single Light Source (3)

29

slide-30
SLIDE 30

Graphics & Visualization: Principles & Algorithms Chapter 16

Algorithm (cont.):

// transfer between x and y // 2 cosines, distance and visibility taken into account radianceTransfer(x,y) transfer = G(x,y)*V(x,y); return(transfer);

  • Evaluating the visibility term V(x, yi):

Shoot a shadow ray from x towards y

Check whether any objects are blocking the visibility

Single Light Source (4)

30

slide-31
SLIDE 31

Graphics & Visualization: Principles & Algorithms Chapter 16

Single Light Source (5)

31

slide-32
SLIDE 32

Graphics & Visualization: Principles & Algorithms Chapter 16

Noise factors: 1. The visibility function V(x, yi)

V(x, yi) = 1 yi  light source fully visible to x

V(x, yi) = 0 yi  light source fully occluded

Otherwise, artifacts will occur

Increase the number of samples to smooth the soft shadow

The number of samples depends on the size of penumbra region

2. The geometric coupling term G(x, yi):

Not a problem when the light source is small

When it is large, for points x located close to it:

  • 1/ rxyj

takes on arbitrary large values (instability)

  • Results to very bright pixels

Single Light Source (6)

32

 

slide-33
SLIDE 33

Graphics & Visualization: Principles & Algorithms Chapter 16

Noise factors (cont.): 3. BRDFs:

If the BRDF values vary largely, the picture has additional noise

4. Pdf p(y):

Can choose any pdf

Usually is uniform over the source light

Single Light Source (7)

33

slide-34
SLIDE 34

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Two approaches:

Individual light sources

Combined light sources

  • Individual light sources

All light sources are individual contributors to the illumination of a single point:

  • Light is linear additive 

the separate contributions of each light source can be added

  • A number of shadow rays is generated for each light source:

they can be chosen independently

Multiple Light Sources

34

slide-35
SLIDE 35

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Group all light sources in a single integration domain:

Apply Monte Carlo integration to the combined integral

Shadow rays can be directed to any of the light sources

May even compute the direct illumination with a single shadow ray for each point (although this can be very noisy)

Still need access to any of the light sources

Multiple Light Sources (2)

35

slide-36
SLIDE 36

Graphics & Visualization: Principles & Algorithms Chapter 16

  • A two-step sampling process for each shadow ray:

Assign each light a probability value for it being chosen

A discrete pdf pL(k) generates a randomly selected light source ki among NL lights

  • A surface point yi

,on the selected light source k is selected using a conditional pdf p(y|ki)

  • pL

(k) p(y|k): the combined pdf

for the sampled point yi

  • n the combined

area of all light sources

The total estimator, using N shadow-rays, is:

Multiple Light Sources - Combined

36 1

( , , ) ( , , , ) ( , ) ( , ) 1 ( , , ) ( ) ( | )

j j

N e i y y r r r i i i i r r r i L i i i

L f G V L N p k p k        

  

y x y x y x y

slide-37
SLIDE 37

Graphics & Visualization: Principles & Algorithms Chapter 16

Algorithm:

// direct illumination from multiple light sources // for surface point x, direction phi, theta directIllumination (x, phi, theta) estimatedRadiance = 0; for all shadow rays select light source k; generate point y on light source k; estimatedRadiance += Le(y, phi_y, theta_y) * BRDF * radianceTransfer(x,y) / (pdf(k) * pdf(y|k)); estimatedRadiance = estimatedRadiance / #shadowRays; return(estimatedRadiance);

Multiple Light Sources - Combined (2)

37

slide-38
SLIDE 38

Algorithm (cont.):

// transfer between x and y // 2 cosines, distance and // visibility taken into account radianceTransfer(x,y) transfer = G(x,y)*V(x,y); return(transfer);

Graphics & Visualization: Principles & Algorithms Chapter 16 38

Multiple Light Sources - Combined (3)

slide-39
SLIDE 39

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Any valid pdfs

for ( pL(k) and p(y|k) ) will produce unbiased results

  • The choice of pdfs

affects the variance of the estimators

  • Two of the more common PDFs

( pL(k) and p(y|k) ):

Uniform source selection / uniform area sampling

Power-proportional source selection / uniform sampling

Choosing pdfs for MLS

39

slide-40
SLIDE 40

Graphics & Visualization: Principles & Algorithms Chapter 16

Uniform source selection / uniform light source area sampling

Both PDFs are uniform: pL (k) = 1/NL and p(y|k) = 1/SLk

Every light source will receive an equal number of shadow rays

The shadow rays are distributed uniformly

Disadvantage Equal number of shadow rays for both:

  • Bright and weak lights
  • Near and far or invisible lights
  • Estimator for the direct illumination:

Choosing pdfs for MLS – Uniform/uniform

40 1

( , , ) ( , , ) ( , , , ) ( , ) ( , )

k j j

N L r r r L e i y y r r r i i i i i

N L S L f G V N        

  

x y x y x y

slide-41
SLIDE 41

Graphics & Visualization: Principles & Algorithms Chapter 16

Power-proportional source selection / uniform light area sampling

pL (k) = Pk /Ptotal with Pk: the radiant power of light source k Ptotal: the total power emitted by all light sources

Bright sources receive more shadow rays than dim sources

Estimator:

If all lights are diffuse:

Superior approach

Results in slower converge at pixels where:

  • Bright lights are invisible
  • Illumination comes from less bright lights

41

1

( , , ) ( , , , ) ( , ) ( , ) ( , , )

k j j

N L e i y y r r r i i i i total r r r i k

S L f G V P L N P        

  

y x y x y x

, 1

( , , ) so ( , , , ) ( , ) ( , )

N total k k e k r r r r r r i i i i i

P P S L L f G V N        

   

x x y x y

Choosing pdfs for MLS – power-driven/uniform

slide-42
SLIDE 42

Graphics & Visualization: Principles & Algorithms Chapter 16

  • We must be careful not to exclude any lights contribute to Lr

(x, φr, θr)

  • 3 random numbers are needed to generate a shadow ray

One to select the light source k

2 to select a specific surface point

Drawbacks of the unified MLS

42

slide-43
SLIDE 43

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Environment maps:

Encode the total illumination on the hemisphere of directions around a point

Are usually captured in natural environments with digital cameras

Mathematically: is a stepwise continuous function

Each pixel corresponds to a small solid angle ΔΩ around point x

Intensity of each pixel corresponds to incident radiance value

  • Capturing environment maps:

Most common techniques: I. A light probe in conjunction with a digital camera II. A digital camera equipped with a fisheye lens

Environment Map Illumination

43

( , , ) , ( , )

i i i i

L with      x

slide-44
SLIDE 44

Graphics & Visualization: Principles & Algorithms Chapter 16

I. A light probe in conjunction with a digital camera

Light probe: a specularly reflective ball

Probe is positioned at the point where the incident illumination needs to be captured

Capturing Environment Maps - Probe

44

slide-45
SLIDE 45

Graphics & Visualization: Principles & Algorithms Chapter 16

Issues to be considered:

  • The camera will be present in the photo

blocks light coming from behind the camera

  • Not uniform sampling of directions over the hemisphere
  • All directions at the edge of the image represent illumination

from the same direction

  • the light probe has small radius
  • The camera cannot capture all illumination levels
  • Solution for some of the above problems:

Capture 2 photos 90 degrees apart

45

Capturing Environment Maps – Probe (2)

slide-46
SLIDE 46

Graphics & Visualization: Principles & Algorithms Chapter 16 46

Capturing Environment Maps – Probe (3)

slide-47
SLIDE 47

Graphics & Visualization: Principles & Algorithms Chapter 16

  • 2 photos taken from opposite view directions
  • Fisheye lenses are expensive and hard to calibrate
  • Both images need to be taken in perfect opposite view directions

47

Capturing Environment Maps – Fisheye lens

slide-48
SLIDE 48

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Environment maps need to be expressed in some parametric space

Environment Map Parameterization

48

  • a. latitude-longitude
  • b. Projected-disk
  • c. Paraboloid
  • d. Concentric-map
slide-49
SLIDE 49

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The direct illumination of a surface point due to an environment

map:

  • Lmap

(φi,θi) : the incident illumination on x, coming from (φi,θi)

  • Add a visibility term V(x ,φi,θi) for cases where:

Other surfaces prevent the light from reaching x

The object to which x belongs can cast a self-shadow onto x

  • Estimator from Monte Carlo integration:

Environment Map Sampling

49

( , , ) ( , ) ( , , , )cos( )

r r r map i i r r r i i i i

L L f d          

 

x

x

( , , ) ( , ) ( , , , ) ( , , )cos( )

r r r map i i r r r i i i i i i

L L f V d            

 

x

x x

, , , , , , , 1 , ,

( , , ) ( , , , ) ( , , )cos( ) 1 ( , , ) ( , )

N map i j i j r r r i j i j i j i j i j r r r j i j i j

L f V L N p             

  

x x x

slide-50
SLIDE 50

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Various problems with Monte Carlo integration 

increased variance and noise:

Integration domain has a large extent

Environment map ≈ textured light source  high frequencies and discontinuities

Product of environment map and BRDF. Specular BRDF peaks and environment map peaks do not coincide in general, resulting in sharp variations of their dot product

Visibility discontinuities

50

Environment Map Sampling (2)

slide-51
SLIDE 51

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Practical approaches try to address these problems:

Direct illumination map sampling

  • Treat environment map as pdf

when sampling it

  • Transform the environment map into a number of selected

point light sources

BRDF sampling

  • BRDF-guided sampling requires the analytical sampling
  • f the BRDF, or when this is not possible, the inverse

cumulative pdf technique

Sampling the product

  • Rejection sampling is commonly used

51

Environment Map Sampling (3)

slide-52
SLIDE 52

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Stochastic Ray Tracing algorithm:

Extends the basic ray tracing algorithm

Does not limit itself to direct illumination only

Includes all possible indirect illumination effects

Applies Monte Carlo integration directly to the hemispherical rendering equation

  • Steps:

Ray-Tracing Set-up

Generation of truly random paths

Recursive path tracing

Termination

Indirect Illumination: Stochastic Ray Tracing

52

slide-53
SLIDE 53

Graphics & Visualization: Principles & Algorithms Chapter 16

  • To compute a global illumination picture:

Attribute a radiance value Lpixel to each pixel

This value is a weighted measure of radiance values incidents on the image plane where p : a point on the imageplane h(p): a weighting or filtering function x : the visible point seen from the eye through p

  • Evaluation of Lr(x,φr, θr):

Cast a ray from the eye through p, in order to find x

Evaluate the rendering equation.

Stochastic Ray Tracing: Set-up

53

( ) ( ) ( , , ) ( )

pixel r r r imageplane imageplane

L L h d L h d    

 

p p p x p p

slide-54
SLIDE 54

Graphics & Visualization: Principles & Algorithms Chapter 16

Pixel-driven rendering algorithm // pixel-driven rendering algorithm computeImage(eye) for each pixel radiance = 0; H = integral(h(p)); for each viewing ray pick uniform sample point p such that h(p) <> 0; construct ray at origin eye, direction from eye to p; radiance = radiance + rad(ray)*h(p); radiance = radiance / (#viewingRays*H); rad(ray) find closest intersection point x of ray with scene; computeRadiance(x, direction eye to p);

54

Stochastic Ray Tracing: Set-up (2)

slide-55
SLIDE 55

Graphics & Visualization: Principles & Algorithms Chapter 16

Pixel-driven rendering algorithm

  • For each pixel computes the integral in the image plane
  • Can use Monte Carlo sampling over the plane where h(p) ≠
  • For each sample point p, construct a primary ray
  • Function rad(ray):

Computes the radiance along the primary ray:

finds the intersection point x

computes the radiance leaving surface point x in the direction of the eye

  • The final radiance for each pixel :

average over the total number of viewing rays

take into account the normalizing factor of the uniform PDF over the domain

55

Stochastic Ray Tracing: Set-up (3)

slide-56
SLIDE 56

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The function computeRadiance(x, direction eye to p)

uses the rendering equation to evaluate the appropriate radiance value

applies a basic and straightforward Monte Carlo integration scheme to Eq(16.2)

evaluates the integral by using Monte Carlo integration:

  • generates N random directions (φi, θi) over the hemisphere Ωx
  • samples distributed according to some probability density p(φi

, θi )

The estimator for Lr(x, φr, θ

r) is then given by :

Stochastic Ray Tracing: Truly Random Paths

56

, , , , , 1 , ,

( , , ) ( , , , )cos( ) 1 ( , , ) ( , )

N i j i j r r r i j i j i j r r r j i j i j

L f L N p           

  

x x

slide-57
SLIDE 57

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The cosine and BRDF terms in the integrand

evaluated by accessing the scene description

  • L(x,φi,j,θi,j) is unknown
  • Radiance remains invariant along straight lines
  • Need to trace the ray leaving x in direction (φi,j

,θi,j ) through the environment to find the closest intersection point y

  • At this point another radiance evaluation is needed

Have a recursive procedure to evaluate L(x,φi,j,θi,j)

A path, or a tree of paths, is traced through the scene

Truly Random Paths (2)

57

slide-58
SLIDE 58

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The recursive path needs to hit one of the light sources in the scene:

does not occur very often because

the light sources usually are small compared to the other surfaces

very few of the paths will yield a contribution to the radiance value

the resulting image will mostly be black

The pixel will be attributed a color only when a path hits a light source

Truly Random Paths (3)

58

slide-59
SLIDE 59

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Ray tracing algorithm needs a stopping condition
  • Otherwise:

the generated paths would be of infinite length

the algorithm would not come to a halt

  • Be careful not to introduce any bias to the final image
  • Have to find a way:

to limit the length of the paths

but still be able to obtain a correct solution

Stochastic Ray Tracing: Terminating the Recursion

59

slide-60
SLIDE 60

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Classic ray-tracing implementations use 2 techniques:
  • First technique:

Is cutting off the recursive evaluations after a fixed number of evaluations

Puts an upper bound on the amount of rays that need to be traced

Important light transport might have been ignored

The image will be biased

A typical fixed path length is set at 4 or 5

The path length should be dependent on the scene to be rendered

Scenes with many specular surfaces will require a larger path length

Scenes with mostly diffuse surfaces can usually use a shorter path length

Terminating the Recursion (2)

60

slide-61
SLIDE 61

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Second technique:

Use an adaptive cut-off length

When a path hits a light source the radiance found at the light source is multiplied by all cosine factors and BRDFs at all previous intersection

Store the accumulating multiplication factor with the lengthening path

More efficient technique

Still the final image will still be biased

  • Russian Roulette:

Addresses the problem of keeping the lengths of the paths manageable

Leaves room for exploring all possible paths of any length

Produce an unbiased image

Terminating the Recursion (3)

61

slide-62
SLIDE 62

Graphics & Visualization: Principles & Algorithms Chapter 16

Example

  • Suppose we want to compute the one-dimensional integral:
  • The standard Monte Carlo integration procedure:

generates random points xi in the domain [0,1]

computes the weighted average of all function values f(xi)

  • Assume that:

f(x) is difficult or complex to evaluate

We want to limit the number of evaluations of f(x) necessary to estimate I

  • Express the quantity I

as:

Scale f(x) by a factor P horizontally, and a factor 1/P vertically

Russian Roulette (1)

62 1

( ) I f x dx  

1 ( ) , 1

P RR

x I f dx P P P  

slide-63
SLIDE 63

Graphics & Visualization: Principles & Algorithms Chapter 16

Example (cont.)

  • Apply Monte Carlo integration to compute the new integral
  • Use a uniform pdf

p(x)=1 to generate the samples over [0,1]

  • So we get the following estimator for IRR:

Russian Roulette (2)

63

1 ( ) if x P if x P

RR

x f I P P          

slide-64
SLIDE 64

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The expected value of
  • The result of applying Russian roulette:

If f(x) be another recursive integral

Recursion stops with a probability equal to a = 1-P for each evaluation point

a: the absorption probability

  • The overall estimator still remains unbiased:

in [P,1] will generate a function value equal to 0

but this is compensated by weighting the samples in [0,P] with a factor 1/P

  • If a is small:

the recursion will continue many times

the final estimator will be more accurate.

  • If a is large:

the recursion will stop sooner

the estimator will have a higher variance

Russian Roulette (3)

64

RR

I equals I  

slide-65
SLIDE 65

Graphics & Visualization: Principles & Algorithms Chapter 16

computeRadiance(x, dir) find closest intersection point x of ray with scene; estimatedRadiance = simpleStochasticRT(x, phi, theta); return(estimatedRadiance);

Simple Stochastic Ray Tracing

65

slide-66
SLIDE 66

Graphics & Visualization: Principles & Algorithms Chapter 16

simpleStochasticRT (x, phi, theta) estimatedRadiance = 0; if (no absorption) // Russian roulette for all paths // N rays sample direction phi_i, theta_i on hemisphere; y = trace(x, phi_i, theta_i); estimatedRadiance += simpleStochasticRT(y, phi_i, theta_i)*BRDF *cos(theta_i)/pdf(phi_i, theta_i); estimatedRadiance /= #paths; estimatedRadiance /= (1-absorption) estimatedRadiance += Le(x, phi_i, theta_i) return(estimatedRadiance);

Simple Stochastic Ray Tracing (2)

66

slide-67
SLIDE 67

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Build a full global illumination renderer using stochastic path tracing

The efficiency& accuracy of the complete algorithm is determined by:

  • Number of viewing rays per pixel

A higher number of viewing rays Np eliminates aliasing and decreases noise

  • Direct illumination

The total number of shadow rays Nd cast from each point x

Selection of single source among all sources for each shadow ray

The distribution of the shadow rays over the area of a single light source

  • Indirect illumination

Number of indirect illumination rays Ni distributed over Ωx

Exact distribution of these rays over the hemisphere

Absorption probabilities for Russian Roulette in order to stop the recursion

Putting All Together

67

slide-68
SLIDE 68

Graphics & Visualization: Principles & Algorithms Chapter 16

The complete algorithm:

//stochastic ray tracing computeImage(eye) for each pixel radiance = 0; H = integral(h(p)); for each sample // Np viewing rays pick sample point p within support of h; construct ray at eye, direction eye to p; radiance = radiance + rad(ray)*h(p); radiance = radiance/(#samples*H);

Putting All Together (2)

68

slide-69
SLIDE 69

Graphics & Visualization: Principles & Algorithms Chapter 16

The complete algorithm (cont):

rad(ray) find closest intersection point x of ray with scene; return Le(x,dir) + computeRadiance(x, dir); computeRadiance(x, dir) estimatedRadiance += directIllumination(x, dir); estimatedRadiance += indirectIllumination(x, dir); return(estimatedRadiance);

Putting All Together (3)

69

slide-70
SLIDE 70

Graphics & Visualization: Principles & Algorithms Chapter 16

The complete algorithm (cont):

directIllumination (x, dir) estimatedRadiance = 0; for all shadow rays // Nd shadow rays select light source k; sample point y on light source k; estimated radiance += Le * BRDF * G(x,y) * V(x,y) /(pdf(k)pdf(y|k)); estimatedRadiance = estimatedRadiance / #paths; return(estimatedRadiance);

Putting All Together (4)

70

slide-71
SLIDE 71

Graphics & Visualization: Principles & Algorithms Chapter 16

The complete algorithm (cont):

indirectIllumination (x, dir) estimatedRadiance = 0; if (no absorption) // Russian roulette for all indirect paths // Ni indirect rays sample random direction on hemisphere; y = trace(x, random direction); estimatedRadiance += compute_radiance(y, random direction) * BRDF * cos / pdf(random direction); estimatedRadiance = estimatedRadiance / #paths; return(estimatedRadiance/(1-absorption));

Putting All Together (5)

71

slide-72
SLIDE 72

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Stochastic ray tracing:

Paths start at the surface point

End at the light sources

  • Light tracing:

Paths start from the light sources

Record contributions to relevant pixels

Is the dual algorithm of stochastic ray-tracing

  • Bidirectional ray tracing:

Combines both approaches

A two-pass algorithm

Generates paths starting at the light and at the surface point simultaneously

Connects both paths in the middle

Finds a contribution to the light transport between:

  • The light source
  • The point for which we need the radiance

Bidirectional Ray Tracing

72

slide-73
SLIDE 73

Graphics & Visualization: Principles & Algorithms Chapter 16

  • 2 different path generators:

An eye path

  • Starts at a sampled surface point y0

visible through the pixel

  • Has length k
  • Consists of a series of surface points y0, y1,…, yk
  • The length is controlled by Russian Roulette
  • The probability of generating this path is composed of the individual pdf

A light path

  • Starts at the light source
  • Has length l
  • Consists of points x0

, x1 ,…, xk

  • Has its own probability density distribution

Bidirectional Ray Tracing (2)

73

slide-74
SLIDE 74

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Connect

The endpoint yk

  • f the eye with

The xl

  • f the light path
  • The probability density function is the product of the individuals pdfs
  • An estimator for the flux Φ

through the pixel:

Bidirectional Ray Tracing (3)

74

1 1 1 1 1 1 1 1

, ( , , , , , , , ) ( , ) ( , ) ( , ) ( , ) ( , ) ( , ) ( , ) ( , ) ( , ) ( , ) ( )

k l e r l k l k r k r

K pdf with K L G V f G V f f G V h            y y y x x x x x x x x x x y x y y y y y y y p

slide-75
SLIDE 75

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Paths of a certain length can be generated by different combinations
  • E.g.: different combinations for a path of length 3:

Bidirectional Ray Tracing (4)

75

slide-76
SLIDE 76

Graphics & Visualization: Principles & Algorithms Chapter 16

  • An eye-
  • r light-path of length k-1

can be extended to a path of k

  • We use the same subpath

more than once

not only connect the endpoints

also connect all possible subpaths to each other

Bidirectional Ray Tracing (5)

76

slide-77
SLIDE 77

Graphics & Visualization: Principles & Algorithms Chapter 16

Bidirectional Ray Tracing (6)

77

Stochastic ray tracing bidirectional tracing full bidirectional using only light paths ray tracing

slide-78
SLIDE 78

Graphics & Visualization: Principles & Algorithms Chapter 16

Bidirectional Ray Tracing (7)

78

slide-79
SLIDE 79

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Photon mapping:

A practical and robust two-pass algorithm

Traces illumination paths both from the lights and from the viewpoint

Caches and reuses illumination values in a scene for efficiency

In the first pass: Photons

  • are traced from the light sources into the scene
  • carry flux information
  • are cached in a data structure, called the photon map

In the second pass:

  • an image is rendered using the information stored in the photon

map

Photon Mapping

79

slide-80
SLIDE 80

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Decouples photon storage from surface parameterization
  • Handles arbitrary geometry , including procedural geometry
  • Increases the practical utility of the algorithm
  • Not prone to meshing artifacts
  • Making specialized photon maps:

By tracing or storing only particular types of photons

Example : the caustic map: captures photons that interact with one or more specular surfaces

  • Photon mapping is biased

Photon Mapping (2)

80

slide-81
SLIDE 81

Graphics & Visualization: Principles & Algorithms Chapter 16

Pass 1: Tracing photons

  • Use of compact, point-based photons to propagate flux through the scene
  • Photons :

are traced from the light sources and

are propagated through the scene just as rays are in ray tracing

i.e. they are reflected, transmitted, or absorbed

  • To propagate photons use:

Russian roulette

Standard Monte Carlo sampling techniques

  • When the photons hit non-specular

surfaces, store them in the photon map

  • Use a balanced kd-tree to implement this data structure

Photon Mapping (3)

81

slide-82
SLIDE 82

Graphics & Visualization: Principles & Algorithms Chapter 16

Pass 1: Tracing photons

  • Photon mapping can be efficient for computing caustics:
  • A caustic is formed when light is reflected or transmitted through
  • ne or more specular

surface before reaching a diffuse surface

  • For improvement:

separate out the computation of caustics from global illumination

For each scene compute 2 photon maps:

  • a caustic photon map
  • a global photon map

Photon Mapping (4)

82

slide-83
SLIDE 83

Graphics & Visualization: Principles & Algorithms Chapter 16

Pass 1: Tracing photons

  • Caustic photon maps:

Computed efficiently

Caustics occur when light is focused

Not too many photons are needed to get a good estimate of caustics

  • Efficiency significantly improved when shooting photons only

towards the set of specular surfaces

  • Compute the reflected radiance at each point in the scene:

Photon map represents incoming flux at each point in the scene

Photon density at a point estimates the irradiance at that point

Multiply the irradiance by the surface BRDF

Photon Mapping (5)

83

slide-84
SLIDE 84

Graphics & Visualization: Principles & Algorithms Chapter 16

Pass 2: Computing Images

  • Display the reflected radiance values computed above for each

visible point in an image.

  • Direct illumination via photon mapping causes significant blurring
  • f radiance
  • Instead, integrate with a ray tracer that

computes direct illumination and

queries the photon map only after one diffuse or glossy bounce from the viewpoint is traced through the scene

Photon Mapping (6)

84

slide-85
SLIDE 85

Graphics & Visualization: Principles & Algorithms Chapter 16

Pass 2: Computing Images

  • The final rendering of images:

Rays are traced through each pixel to find the closest visible surface

The radiance for a visible point is split into

  • direct illumination
  • specular
  • r glossy illumination,
  • illumination due to caustics
  • the remaining indirect illumination

Photon Mapping (7)

85

slide-86
SLIDE 86

Graphics & Visualization: Principles & Algorithms Chapter 16

Pass 2: Computing Images

  • Each of the above components is computed as follows:

Direct illumination for visible surfaces

  • computed using regular Monte Carlo sampling

Specular reflections and transmissions are ray traced

Caustics are computed using the caustic photon map

The remaining indirect illumination

  • computed by sampling the hemisphere
  • the global photon map is used to compute radiance at the next recursion

step

Photon Mapping (8)

86

slide-87
SLIDE 87

Graphics & Visualization: Principles & Algorithms Chapter 16

Photon Mapping (9)

87

slide-88
SLIDE 88

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Steps:

1. Discretization

  • f the input geometry in different patches i

2. For each resulting patch i a radiosity value Bi is computed 2. Computation of form factors Fij for every pair of patches i and j 3. Numerical solution of the radiosity system of linear equations 4. Display of the solution: use any rendering algorithm that displays patches with a given color value Bi

  • In practical implementations, these steps are highly connected, e.g.:

Form factors are only computed when they are needed

Intermediate results can already be displayed during system solution

In adaptive or hierarchical radiosity, perform discretization during solution

  • Each step is non trivial

Radiosity: Classic Radiosity

88

slide-89
SLIDE 89

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Main problems are related to:

Discretization

  • f the scene into patches
  • The patches should be small enough to capture illumination variations
  • Radiosity

B(x) across each patch need to be constant

  • A higher number of patches usually solves for artifacts caused by

discretization

  • The number of patches shouldn’t be too large
  • Compute a form factor between each pair of patches
  • The number of form factors can be huge storage problem

Form factor computation

  • Each form factor requires the solution of a non-trivial, 4D integral
  • The integral will be singular for adjacent patches, where

rxy =0

  • The integral can have discontinuities due to changing visibility

Radiosity: Classic Radiosity (2)

89

slide-90
SLIDE 90

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Form factor difficulties:

Radiosity: Classic Radiosity (3)

90

slide-91
SLIDE 91

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Proposed solutions:
  • Specialized algorithms for form-factor integration:

The hemicube algorithm

Shaft culling ray- tracing acceleration

Discontinuity meshing

Adaptive and hierarchical subdivision

Clustering

Form-factor caching strategies

The use of view importance

Higher-order radiosity approximations

Radiosity: Classic Radiosity (4)

91

slide-92
SLIDE 92

Graphics & Visualization: Principles & Algorithms Chapter 16

  • The radiosity
  • f Bi
  • f a single patch i:
  • Bi

is the sum of 2 contributions:

The self-emitted radiosity Bei

The fraction of the incident irradiance at i that is reflected

  • Fij

: the fraction of the irradiance on patch i that originates at patch i

  • Rewrite the above equation by:

Transforming radiosity values to flux values

Pi = Ai Bi and Pei = Ai Bei

Radiosity: Form Factors

92

i ei i ij j j

B B F B    

ij j j

F B

slide-93
SLIDE 93

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Obtain the following system of linear equations by:

Multiplying both sides of the equation by Ai

Using symmetry between Fij and Fji

  • The total power Pi

emitted by patch i consists of 2 parts:

The self-emitted power Pei

The power received and reflected from all other patches j

  • Fij

: the fraction of power emitted by j that arrives at i

  • Important property of form factors:

Radiosity: Form Factors (2)

93

i ei i ij j i i i ei i i ij j j j i i i ei i j ji j j i ei j ji i j

B B F B A B A B A F B A B A B A F B P P P F               

   

1

ij j

F 

slide-94
SLIDE 94

Graphics & Visualization: Principles & Algorithms Chapter 16

Radiosity: Form Factors (3)

94

slide-95
SLIDE 95

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Estimation of form factors:
  • Let i be the source of a number Ni
  • f virtual particles originating on

a diffuse surface

Nij : the number of these particles that land on the 2nd patch

  • Consider:

A particle originating at a uniformly chosen location x on Si

It is distributed over the hemisphere using a cosine-distributed direction

The pdf p(x, φ, θ) is:

Radiosity: Form Factors (4)

95

/

ij ij ij i

F F N N 

cos( ) ( , , )

i

p A      x

slide-96
SLIDE 96

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Let
  • The probability Pij

that the particle lands on patch j is:

  • When generating Ni

particles from i  Ni Fij hits on patch j

  • The more particles used the better tha

ratio Nij /Ni approximates Fij

  • The variance of this estimator = Fij

(1-Fij ) / Ni

Radiosity: Form Factors (5)

96

j

1, the particle hits the patch χ ( , , ) 0, the particle doesn't hit the patch j j       x

2

cos( )cos( ) 1 ( , , ) ( ) ( ) , , ,

i x i j

i j ij S j x S S y x ij i xy

P p dA d V dA dA F A r         

  

   

x x x y

slide-97
SLIDE 97

Graphics & Visualization: Principles & Algorithms Chapter 16

  • A method to solve systems of linear equations x = e

+Ax

  • Uses a simple iteration scheme:

A system with n equations and n unknowns

e, x, any approximation of x : n-dimensional vectors or points

Start with an arbitrary point x(0)

Transform x(k) into the next point x(k+1) by x(k+1) = e + Ax(k)

  • The method converges if the matrix norm of A is >1
  • In radiosity:

Vectors x and e correspond to a distribution of light power over the surfaces

Each Jacobi iteration:

  • Computes an additional single bounce of light interreflection
  • Re-adds self-emitted power

The solution is the equilibrium illumination distribution

Radiosity: The Jacobi Iterative Method

97

slide-98
SLIDE 98

Graphics & Visualization: Principles & Algorithms Chapter 16

  • 3 slightly different ways:

1. Regular gathering of radiosity 2. Regular shooting of power

j shoots its power towards all other patches i

3. Incremental shooting of power

Unshot power is propagated rather than total power

Radiosity: The Jacobi Iterative Method (2)

98

(0) ( 1) ( )

,

k k i ei i ei i ij j j

B B B B F B 

   

(0) ( 1) ( )

,

k k i ei i ei j ji i j

P P P P P F 

  

(0) ( 1) ( ) ( ) ( ) i ei k k i j ji i j k k l i i l

P P P P F P P 

 

      

 

slide-99
SLIDE 99

Graphics & Visualization: Principles & Algorithms Chapter 16

  • Global illumination algorithms are developing since 1979
  • Its possible to generate an image like a photograph of a real scene
  • We can implement and investigate the physical processes that form

a realistic rendering:

Light-material interaction

Light transport

  • Global illumination:

Not yet in mainstream applications

Some use in

  • Feature animation films
  • Computer games

High-quality rendering of architectural designs becomes more common

Rendering of industrial products in realistic virtual environments

Conclusion

99