# CS代考计算机代写 algorithm CS580

CS580

Illumination and Shading

Ulrich Neumann

CS580

Computer Graphics Rendering

Illumination and shading

Illumination (lighting) and shading

models simulation of light interactions with scene

light sources, geometry, propagation, interaction with surfaces, imaging process in camera

Shading Examples

Images courtesy of Watt, Watt & Watt, and Foley & van Dam

Global versus Local Illumination

Indirect Illumination

Direct

Illumination

Global versus Local Illumination

Global Illumination

Models indirect illumination and occlusions

Reflection

Refraction

Shadows

Local Illumination

Only models

direct illumination

No reflection

No refraction

No shadows

Global versus Local Illumination

Local illumination is a simplified model in which every pixel color is only a function of parameters at that one surface point.

Shadows are based on light visibility.

Inter-reflections are based on reflection path.

Every pixel color is a function of entire scene.

Local Illumination

Global Illumination

Fidelity of Global Illumination

Global illumination effects are modeled with varying degrees of fidelity. Algorithms may produce simple approximations or complex diffusion and shadow effects.

Simple shadows result from binary light visibility tests

Light diffusion produces soft shadows

Light Terminology

Radiant Intensity (I = W/sr)

Illuminating energy emitted by a light source

Irradiance or Illuminance (E = W/m2 )

Light energy falling on a surface area

Radiance or Luminance (L = W/m2/sr)

Light energy reflected by a surface area

Light Source Radiant Intensity

Radiant Intensity per steradian

Ie = power/sr (Watts/steradian)

constant in vacuum at all distances

Ie is constant over distance for a

fixed solid-angle

Solid-angle

sr = surface area (a) of portion of sphere divided by r2

sr = a/r2

Area of sphere surface = 4 pi r2

sr = (4pi r2)/r2 sr = 4pi steradians over sphere of any radius

E = Watt/m2

Energy hitting a surface

Radiance or Power Density

diminishes with “square” of

distance from source

Ie = Power over these areas – a fixed solid-angle

Light Color and Intensity

Ie is specified as coefficients of color spectrum or basis function (RGB, HSV…)

Ie = (R,G,B) | R,G,B [0,1]

three color channels model colored light

Based on human perception (next slide)

arbitrary scale and units

e.g., Ie = (0.1, 0.6, 0.9)

“Color” of light is determined by the

relative levels of RGB intensities

“Brightness” is determined by aggregate or sum of RGB intensities

Color and Perception

Natural light has energy over a

continuous spectrum

We perceive “color”

based on energy

at different frequencies

Energy vs freq histogram

Human eyes have 3 “cone”

sensors that have peaked

sensitivities over different

frequency ranges

3 dimensions (trivariant)

color perception

Color Metamers

Two different spectrums may look like the same color to us since we only sense the levels of three sensor ranges

Differing spectrums that produce the same perceived color are called metamers

RGB color produces a range of perceived colors

that are metamers for

natural light spectrums

What matters is that the three

cone sensors produce the

same brain signals

Metamers are the basis for all

display (and print) technologies

that produce a range of colors

from a mix of basis colors

Propagation

Light interaction in medium or camera

Atmosphere effect, lens effects

We use simple approximations

vacuum – no haze, smoke, thermal shimmer

opaque scene objects – no transparency

ideal camera imaging – no lens flare, color

aberration

FYI: Papers by Ron Henry (USC)

Color Perception through Atmospheric Haze

These are global effects that require

more complex models of lighting,

shading, and cameras than

used for HWs

Modeling Light Source Geometry

Geometry parameters that affect illumination of a scene

Size and shape

Position and orientation

Directional distribution

Ie = f() Directional distribution of intensity can vary for a point-source or a region of an area light-source

Occlusions in the light source structure also modify the intensity and distribution of light energy over different regions in the scene

A large-area source can be approximated

as multiple uniform-intensity regions that

each contribute independently to the scene

Light is addative so complex sources can be

decomposed into a sum of simpler sources

When the source and scene-areas are

small (relative to distance between source and scene), incident intensity can be approximated as a uniform fixed-direction distribution

a far-away source produces a uniform illumination over a scene

Simplified Lighting

The total irradiance E falling on some surface area of a scene requires integral of Ie function over visible hemisphere (prior slide)

even fairly simple cases can be difficult to compute

For simplicity (for HW4) … assume distant point-light sources (e.g., sun, or light bulb in a large room)

Source has uniform radial intensity distribution

E = ~ constant within distances in scene – neglect distance falloff

Solid angle per unit surface area is ~ constant everywhere

Direction to source is constant within scene

This simple approximation of actual physics only requires two parameters to define a light

direction (x,y,z) – vector from surface to light source

intensity (r,g,b) of the light

Irradiance Geometry

Irradiance E: Incident radiant energy per unit area

Diminishes with the cosine of the incident angle

I(x, w) is the light intensity arriving from all directions and entering hemisphere Ω over unit surface area.

Interaction with opaque surfaces

Light hitting an opaque surface reflects a fraction of that light back into the environment.

Two extremes are observed

Mirrors – specular reflection

Incoming ray reflects about

the surface’s normal

perfect mirror has no scattering – just perfect reflection

color shift is possible by attenuation of RGB components

Ideal white chalk – diffuse reflection

Incoming ray scatters equally in all directions (ideal case)

color shift is possible by attenuation of RGB components

Ideal Specular Reflection

Reflection occurs in the “mirror” direction

L is reflected about the normal vector (N) to create R

Ij = Ie Ks Reflected light is attenuated (colored) by Ks

Ks is RGB vector of “specular color” coefficients [0,1]

R

Ie

Ij

Ie and Ij are both RGB color intensity values in their respective vector directions L and R

General Specular Model

Reflection occurs mainly in the “mirror” R direction, but there is some spread in similar directions V (view vector)

Ij(V) = Ie Ks (V•R)spec is the reflected specular intensity in the direction of vector V (for normalized V and R)

Specular reflection is attenuated (colored) by Ks and by the angle between R and V

“spec” exponent controls the

distribution of intensity about R

R

Ie

Ij(V)

Ie and Ij(V) are both RGB color intensity values in their respective vector directions L and V

V

Angle of R and V

(V • R)spec

n = spec

Specular Power

Ij(V) = Ie Ks (V•R)spec

“spec” exponent controls the distribution of energy about R

These images show it’s effect:

Higher values of “spec” produce

smaller, tighter specular

highlights that also make

surfaces appear smoother

R

Ie

Ij(V)

V

Ideal Diffuse Reflection

Reflection or scattering is equal in all directions

for all wavelengths

Rho (ρ) is the ratio of output intensity (in any direction) to input intensity

models the case where L and N are coincident and the surface scatters all wavelengths equally

Ie

Ij

Colored Diffuse Absorption

Reflected intensity Ij = Ie Kd in any direction over the exit hemisphere

Still restricted to case where N and L are coincident

Kd models the absorption (color) of a surface

Kd is RGB vector of “diffuse color” coefficients [0,1] that scale light source Ie RGB components

Ij

Ie

Ij and Ie are RGB color intensity vectors

General Diffuse Model

In the more general case where the direction L varies

Ij = Ie Kd cos() or Ij = Ie Kd (L•N)

cos() accounts for the change in projected surface area of incident light Ie and surface orientation toward/away from light

L•N computes cos () function if L and N are normalized vectors

For either formulation, surfaces facing away from light receive NO illumination

For || || > 90, cos term is clamped to zero. For (L•N) < 0, result is clamped to zero.
Ij
Ie
Ij and Ie are RGB color intensity values
Ie has a direction L
Note that Ij has no specific direction vector associated with it since it is the same over the entire hemisphere defined by N
Ij
General Diffuse Example
Ij = Ie Kd cos() or Ij = Ie Kd (L•N)
cos() accounts for the change in projected surface area of incident light Ie and surface orientation toward/away from light
L•N computes cos () function if L and N are normalized vectors
Kd is RGB vector of “diffuse color” coefficients in range [0,1]
Two lights (UL and LR) produce diffuse reflections on spheres
Diffuse reflection on a sphere from one light
diffuse reflection on a teapot
How many lights?
Combined Specular and Diffuse Reflection
Real materials exhibit a mix of both diffuse and specular reflection characteristics
The diffuse intensity is constant and a bulge or peak of specular intensity occurs near the R direction
A camera “sees” the energy emitted in it’s direction (V or E)
V or E direction
points toward
the viewer, eye, or camera
N
L
R
E
Ie
Examples of Combined Model
The reflection distribution can be a sharp-peak or a broad-bump of reflected energy in the R direction, controlled by the specular-power “spec”
The diffuse reflection produces smooth color variation over the model portion facing the light(s) (view-independent)
The specular reflection produces a highlight that moves as the viewpoint (E) changes (view-dependent)
Where is the sphere bottom?
N
L
R
E
Ie
Ambient Light
Surfaces facing away from a light will be black
No diffuse or specular reflection intensity
To avoid this, create a special light that hits all surfaces
A lumped omnidirectional source is called the ambient light
Ambient light Ia is an fixed intensity vector and
considered “normal” to all surfaces
Ambient light produces an additional diffuse-like
reflection called an ambient reflection
Ka is specified for materials as the “ambient color”
Use separate Ka for HW4
other systems may set Ka = Kd
Only one ambient light is needed and allowed
With ambient light
Without ambient light
Specular, Diffuse, and Ambient
Reflection Components
All 3 reflection behaviors create a complete shading model
Specular reflection intensity
specular component = Ie Ks (RE)spec
Diffuse reflection intensity
diffuse component = Ie Kd (NL)
Ambient reflection intensity
ambient component = Ia Ka
E or V
Complete Shading Equation
Surface color seen by camera at a surface point is modeled by summing the light-surface interactions over all lights
Color C = lights specular + diffuse + ambient components
= (Ks [Ie (RE)s]) + (Kd [Ie (NL)]) + (Ka Ia)
S is a scalar
C, Ie, Ks, Kd, Ka, Ia – are all RGB color vectors ( [0, 1])
R = reflected ray direction vector (normalized)
E = eye ray direction vector (normalized)
N = surface normal vector (normalized)
L = light ray direction vector (normalized)
Specular Power Variations
Parameter Example
with varied Kd, Ks, and spec pwr
Observations about Specular, Diffuse, and Ambient Reflection Components
Absorption (or color) for each reflection component is modeled by
Ks, Kd, Ka ---- each is a vector of fractional attenuations [0,1]
For most real materials, these equations are only approximate
Cos laws approximate the behavior of light with real materials
K terms are often a function of incident/reflection angle and wavelength
Surface appearance is set by specifying Kd, Ks, Ka and spec power s
Kd, Ks, Ka [0,1] for each rgb vector element
Sharpness of specular highlight is controlled by specular power “s”
“s” is often constrained
to be a binary power
for fast calculation
(1, 2, 4, 8, 16, 32, … )
The surface reflection model
applies to any geometry, but
Normal vector at each point
determines appearance
Implementing the Shading Equation
Color C = lights specular + diffuse + ambient components
= (Ks [Ie (RE)s]) + (Kd [Ie (NL)]) + (Ka Ia)
C, Ie, Ks, Kd, Ka, Ia – are all RGB color vectors ( [0, 1])
R = reflected ray direction vector (normalized)
E = eye ray direction vector (normalized)
N = surface normal vector (normalized)
L = light ray direction vector (normalized)
This is an approximate model of illumination of opaque surfaces
But…, geometry is involved -- dot products, cosines
Recall that the rasterizer operates on coordinates after perspective projection. Perspective does not preserve angles or lengths.
Lighting calculations must be done in some space before the perspective projection.
Model, world, or image space?
2
P
1
P
ò
W
=
w
q
w
d
x
I
E
cos
)
,
(
q
)
,
(
w
x
I
W
N
L
diffuse
Ie
Ij
r
=