CSCE 641 Computer Graphics: Radiosity Jinxiang Chai

Preview:

Citation preview

CSCE 641 Computer Graphics: Radiosity

Jinxiang Chai

Rendering: Illumination Computing

Direct (local) illumination

Light directly from light sources

No shadows

Indirect (global) illumination

Transparent, reflective surfaces, and hard shadows (Ray tracing)

Diffuse interreflections, color bleeding, and soft shadow (radiosity)

Rendering: Illumination Computing

Direct (local) illumination

Light directly from light sources

No shadows

Indirect (global) illumination

Transparent, reflective surfaces, and hard shadows (Ray tracing)

Diffuse interreflections, color bleeding, and soft shadow (radiosity)

Review: Ray Tracing Assumption

The illumination of a point is determined by

- illumination/shadow ray (direct lighting from light sources)

Review: Ray Tracing Assumption

The illumination of a point is determined by

- illumination/shadow ray (direct lighting from light sources)

Review: Ray Tracing Assumption

The illumination of a point is determined by

- illumination/shadow ray (direct lighting from light sources)

- reflection ray (light reflected by an object)

Review: Ray Tracing Assumption

The illumination of a point is determined by

- illumination/shadow ray (direct lighting from light sources)

- reflection ray (light reflected by an object)

- transparent ray (light passing through an object)

Review: Ray Tracing Assumption

The illumination of a point is determined by

- illumination/shadow ray (direct lighting from light sources)

- reflection ray (light reflected by an object)

- transparent ray (light passing through an object)

Ray Tracing Assumption

The illumination of a point is determined by

- illumination/shadow ray (direct lighting from light sources)

- reflection ray (light reflected by an object)

- transparent ray (light passing through an object)

Pros and Cons of Ray Tracing

Advantages of ray tracing

All the advantages of the local illumination model

Also handles shadows, reflection, and refraction

Disadvantages of ray tracing

Computational expense

No diffuse inter-reflection between surfaces (i.e., color bleeding)

Not physically accurate

Radiosity handles these shortcomings for diffuse surfaces!

Radiosity vs. Local Illumination

Radiosity

Physical Image vs. Radiosity Rendering

Radiostiy

Definition: The radiant (luminous) exitance is the radiant flux/power per unit area leaving a surface.

( ) odM x

dA

2 2

W lmlux

m m

Radiosity

Model light effects by considering the physical laws governing the radiant energy transfer;

The radiosity model computes radiant-energy interactions between all the surfaces in a scene

Radiosity: Key Idea #1

Diffuse Surface

Radiosity: Key Idea #2

Constant Surface Approximation

Radiosity Equation

N

jjijiselfi RadiosityaRadiosityRadiosity

1,

Radiosity Equation

N

jjjself RadiosityaRadiosityRadiosity

111,1

N

jjjself RadiosityaRadiosityRadiosity

122,2

N

jjNjNselfN RadiosityaRadiosityRadiosity

1,

Radiosity Algorithm

Energy Conservation Equation

N

jjiiei ijF

1, )(

N

jjiiei ijF

1, )(

Energy Conservation Equation

The total rate of radiant energy leaving surface i per unit square

N

jjiiei ijF

1, )(

Energy Conservation Equation

The rate of energy emitted from surface i per unit area

- zero if surface i is not a light source

N

jjiiei ijF

1, )(

Energy Conservation Equation

Reflectivity factorPercent of incident light that is reflected in all

directions

N

jjiiei ijF

1, )(

Energy Conservation Equation

Form factor

Fractional amount of radiant energy from surface j that reaches surface i

Compute Form Factors

ji

AA xy

yx

j

dAdAyxVrA

ijFji

),(coscos1

)(,

2

The form factor specifies the fraction of the energy leaving one patch and arriving at the other. In other words, it is an expression of radiant exchange between two surface patches!

Compute Form Factors

ji

AA xy

yx

j

dAdAyxVrA

ijFji

),(coscos1

)(,

2

Radiant energy reaching Ax from Ay

Radiant energy leaving Ay in all directions

The form factor specifies the fraction of the energy leaving one patch and arriving at the other. In other words, it is an expression of radiant exchange between two surface patches!

Form Factor: Reciprocity

yx

AA xy

yx

j

dAdAyxVrA

ijFji

),(coscos1

)(,

2

xy

AA xy

yx

i

dAdAyxVrA

jiFji

),(coscos1

)(,

2

ji AijFAjiF )()(

Radiosity Equation

Radiosity for each polygon

Linear system:

- : radiosity of patch I (unknown)

- : emission of patch I (known)

- : reflectivity of patch I (known)

- : form-factor (known)

N

jjiiei ijFi

1, )(:

i

i

jiF

ie,

Linear System

3,

2,

1,

2

1

21

22222122

11211111

......

1...

............

...1

...1

e

e

e

NNNNNNNN

N

N

FFF

FFF

FFF

A X = B

Radiosity Algorithm

Form Factors for Infinitesimal Surfaces

),(coscos

)(2

yxVdAr

ijF ixy

yx

• Visibility

- if not visible, receive zero power

Form Factors for Subdivided Patches

ji

AA xy

yx

j

dAdAyxVrA

ijFji

),(coscos1

)(,

2• Visibility

- if not visible, receive zero power

Form Factor: How to compute?

Closed Form

- analytical

Hemicube

Form Factor: Analytical

yx

AA xy

yx

j

dAdAyxVrA

ijFji

),(coscos1

)(,

2

Form Factor: How to compute?

Closed Form

- analytical

Hemicube

Form Factor: Nusselt Analog

Nusselt developed a geometric analog which allows the simple and accurate calculation of the form factor between a surface and a point on a second surface.

3D diagram

Form Factor: Nusselt Analog

The form factor is, then, the area projected on the base of the hemisphere divided by the area of the base of the hemisphere, or (A/B)

AB

2D diagram

Form Factor: Nusselt Analog

Form Factor: Nusselt Analog

So how can we use Nusselt Analog to compute the form factor?

Form Factor: Nusselt Analog

So how can we use Nusselt Analog to compute the form factor?

- answer: precomputing

Form Factor: HemiCube

Form Factor: HemiCube

• Project path on hemicube

• Add hemicube cells to compute form factors

AB

2D diagram

Precomputing Form Factor

How to calculate the form factor for each cell?

Delta Form Factor: Top Face

Top of hemicube

Delta Form Factors: Side Faces

Side of hemicube

The Hemicube in Action

Form Factors: HemiCube

Form Factors

Radiosity Algorithm

How to Solve Linear System?

Matrix conversion

Iterative approaches

- Jacobian (gathering)

- Gauss-Seidel (gathering)

- progressive refinement (shooting)

Matrix Conversion

3,

2,

1,

1

21

22222122

11211111

2

1

...

1...

............

...1

...1

...

e

e

e

NNNNNNN

N

N

N FFF

FFF

FFF

- Computational cost: O(N3)

- Very slow for a large set of polygons

Iterative Approaches

N

jjiiei ijF

1, )(

Jacobian Iterations

For all patches i, i=1,…,N,

While not converged:

for all patches i=1,…,N

iei ,0

N

j

iterjiie

iteri ijF

1

1, )(

Jacobian Iterations

For all patches i, i=1,…,N,

While not converged:

for all patches i=1,…,N

iei ,0

N

j

iterjiie

iteri ijF

1

1, )(

Update of one patch requires evaluation of N Form Factors

What’s the computational cost?

Successive Approximation

eL

e eL K L eL

eK L eK K L eK K K L

2e eL K L 3

e eL K L

Rendering

- The final Φi's can be used in place of intensities in a standard renderer (Gouraud, per-veretx shading)

- Radiosities are constant over the extent of a patch

- A standard renderer requires vertex intensities (or radiosities)

- If the radiosities of surrounding patches are know, vertex radiosities can be estimated using bilinear interpolation

Vertex Intensity: Bilinear Interpolation

Consolation Room

Theatre

Steel Mills

Radiosity: Benefit

Global illumination method: modeling diffuse inter-reflection

Color bleeding: a red wall next to a white one casts a reddish glow on the white wall near the corner

Soft shadows – an “area” light source casts a soft shadow from a polygon

No ambient term hack, so when you want to look at your object in low light, you don’t have to adjust parameters of the objects – just the intensities of the lights!

View independent: it assigns a brightness to every surface

Radiosity: Limitation

Radiation is uniform in all directions

Radiosity is piecewise constant

– usual renderings make this assumption, but then interpolate cheaply to fake a nice-looking answer

– this introduces quantifiable errors

No surface is transparent or translucent

Reflectivity is independent of directions to source and destination

Recommended