I light - Computer Graphics Group

Illumination and Shading
Light Sources
Empirical
Illumination
Shading
Tong-Yee Lee
Transforming
Normals
Lecture 15
Slide 1
6.837 Fall 2001
Illumination Models
Illumination
The transport luminous flux
from light sources between
points via direct and indirect paths
Lighting
The process of computing the luminous
intensity reflected from a specified 3-D point
Shading
The process of assigning a colors to a pixels
Illumination Models
Simple approximations of light transport
Physical models of light transport
Lecture 15
Slide 2
6.837 Fall 2001
Two Components of Illumination
Light Sources (Emitters)
Emission Spectrum (color)
Geometry (position and direction)
Directional Attenuation
Surface Properties (Reflectors)
Reflectance Spectrum (color)
Geometry (position, orientation, and micro-structure)
Absorption
Approximations
Only direct illumination from the emitters to the reflectors
Ignore the geometry of light emitters, and consider
only the geometry of reflectors
Lecture 15
Slide 3
6.837 Fall 2001
Ambient Light Source
Even though an object in a scene is not directly lit it will still be
visible. This is because light is reflected indirectly from
nearby objects. A simple hack that is commonly used to
model this indirect illumination is to use of an ambient light
source. Ambient light has no spatial or directional
characteristics. The amount of ambient light incident on
each object is a constant for all surfaces in the scene. An
ambient light can have a color.
The amount of ambient light that is reflected by an
object is independent of the object's position or
orientation. Surface properties are used to determine how
much ambient light is reflected.
Lecture 15
Slide 4
6.837 Fall 2001
Directional Light Sources
All of the rays from a directional light source have a common direction,
and no point of origin. It is as if the light source was infinitely far away
from the surface that it is illuminating. Sunlight is an example of an
infinite light source.
The direction from a surface to a light source is important for computing
the light reflected from the surface. With a directional light source this
direction is a constant for every surface. A directional light source can
be colored.
No attenuation with distance.
Lecture 15
Slide 5
6.837 Fall 2001
Point Light Sources
The point light source emits rays in radial directions from its
source. A point light source is a fair approximation to a local
light source such as a light bulb.
p&d =
p&r
l&
l&
The direction of the light to each point on a surface
changes when a point light source is used. Thus, a
normalized vector to the light emitter must be computed for
each point that is illuminated.
Lecture 15
Slide 6
6.837 Fall 2001
Other Light Sources
Spotlights
 Point source whose intensity falls off
away from a given direction
 Requires a color, a point, a direction,
parameters that control the rate of fall
off
Area Light Sources
 Light source occupies a 2-D area
(usually a polygon or disk)
 Generates soft shadows
Extended Light Sources
 Spherical Light Source
 Generates soft shadows
Lecture 15
Slide 7
6.837 Fall 2001
Spot Light Source
Lecture 15
Slide 8
6.837 Fall 2001
Point, Directional and Spot Light Source
Lecture 15
Slide 9
6.837 Fall 2001
Lecture 15
Slide 10
6.837 Fall 2001
Ideal Diffuse Reflection
First, we will consider a particular type of surface called an
ideal diffuse reflector. An ideal diffuse surface is, at the
microscopic level a very rough surface. Chalk is a good
approximation to an ideal diffuse surface. Because of the
microscopic variations in the surface, an incoming ray of light
is equally likely to be reflected in any direction over the
hemisphere.
Lecture 15
Slide 11
6.837 Fall 2001
Lecture 15
Slide 12
6.837 Fall 2001
Lambert's Cosine Law
Ideal diffuse reflectors reflect light according to Lambert's cosine law,
(there are sometimes called Lambertian reflectors). Lambert's law states
that the reflected energy from a small surface area in a particular
direction is proportional to cosine of the angle between that
direction and the surface normal. Lambert's law determines how much
of the incoming light energy is reflected. Remember that the amount
energy that is reflected in any one direction is constant in this model. In
other words the reflected intensity is independent of the viewing
direction. The intensity does however depend on the light source's
orientation relative to the surface, and it is this property that is
governed by Lambert's law.
Lecture 15
Slide 13
6.837 Fall 2001
Computing Diffuse Reflection
The angle between the surface normal and the incoming light
ray is called the angle of incidence and we can express a
intensity of the light in terms of this angle.
The Ilight term represents the intensity of the incoming light at
the particular wavelength (the wavelength determines the
light's color). The kd term represents the diffuse reflectivity of
the surface at that wavelength.
In practice we use vector analysis to compute cosine term
indirectly. If both the normal vector and the incoming light
vector are normalized (unit length) then diffuse shading can be
computed as follows:
Lecture 15
Slide 14
6.837 Fall 2001
Diffuse Lighting Examples
We need only consider angles from 0 to 90 degrees. Greater
angles (where the dot product is negative) are blocked by the
surface, and the reflected energy is 0. Below are several
examples of a spherical diffuse reflector with a varying
lighting angles.
Why do you think spheres are used as examples when shading?
Lecture 15
Slide 15
6.837 Fall 2001
Diffuse Lighting Examples
Lecture 15
Slide 16
6.837 Fall 2001
Non-ideal Reflectors
Snell's law, however, applies only to ideal mirror
reflectors. Real materials, other than mirrors
and chrome tend to deviate significantly
from ideal reflectors. At this point we will
introduce an empirical model that is consistent
with our experience, at least to a crude
approximation.
In general, we expect most of the reflected light
to travel in the direction of the ideal ray. However,
because of microscopic surface variations we
might expect some of the light to be reflected just
slightly offset from the ideal reflected ray. As
we move farther and farther, in the angular
sense, from the reflected ray we expect to
see less light reflected.
Lecture 15
Slide 17
6.837 Fall 2001
Phong Illumination
One function that approximates this fall off is called the
Phong Illumination model. This model has no physical basis,
yet it is one of the most commonly used illumination models in
computer graphics.
I specular = k s I light cos
n shiny
f
The cosine term is maximum when the surface is
viewed from the mirror direction and falls off to 0 when
viewed at 90 degrees away from it. The scalar nshiny controls
the rate of this fall off.
Lecture 15
Slide 18
6.837 Fall 2001
Effect of the nshiny coefficient
The diagram below shows the how the reflectance drops off
in a Phong illumination model. For a large value of the nshiny
coefficient, the reflectance decreases rapidly with
increasing viewing angle.
Lecture 15
Slide 19
6.837 Fall 2001
Lecture 15
Slide 20
6.837 Fall 2001
Computing Phong Illumination
I specular = k s I light Vˆ ЧRˆ
(
n shiny
)
The V vector is the unit vector in the direction of the viewer
and the R vector is the mirror reflectance direction. The vector
R can be computed from the incoming light direction and the
surface normal:
R = 2 Nˆ ЧLˆ Nˆ - Lˆ
(
Lecture 15
)
Slide 21
6.837 Fall 2001
Blinn & Torrance Variation
Jim Blinn introduced another approach for computing Phong-like
illumination based on the work of Ken Torrance. His illumination function
uses the following equation:
I specular = k s I light Nˆ ЧHˆ
(
n shiny
)
In this equation the angle of specular dispersion is computed by how
far the surface's normal is from a vector bisecting the incoming
light direction and the viewing direction.
On your own you should consider
how this approach and the previous
one differ.
Lecture 15
Slide 22
6.837 Fall 2001
Phong Examples
The following spheres illustrate specular reflections as the
direction of the light source and the coefficient of shininess
is varied.
Lecture 15
Slide 23
6.837 Fall 2001
Putting it all together
Phong Illumination Model
I total = k a I ambient
Lecture 15
й ˆ ˆ
+ I light кk d N ЧL + k s Vˆ ЧRˆ
кл
(
Slide 24
)
(
n shiny
)
6.837 Fall 2001
щ
ъ
ъ
ы
Phong Illumination Model
I total, l = k aOl I ambient, l +
lights
еi
=1






Ii, l
й
кk d Ol Nˆ ЧLˆ + k s Vˆ ЧRˆ
кл
(
)
(
n shiny
)
for each light Ii
for each color component
I total, l , Ol , I ambient, l , I i , l
reflectance coefficients kd, ks, and ka scalars between 0 and 1 may or may
not vary with color
nshiny scalar integer: 1 for diffuse surface, 100 for metallic shiny surfaces
notice that the specular component does not depend on the object
color O .
l
In above equation, if its value is more than 1, how to do?
 Normalize it
 Clamp each I i , to be 1/#(light)
 OpenGL just simply clamp to 1
Lecture 15
Slide 25
6.837 Fall 2001
щ
ъ
ъ
ы
Phong Illumination Model
Lecture 15
Slide 26
6.837 Fall 2001
Lecture 15
Slide 27
6.837 Fall 2001
OpenGL Reflectance Model
Lecture 15
Slide 28
6.837 Fall 2001
Emission
Lecture 15
Slide 29
6.837 Fall 2001
OpenGL
Lighting
Lecture 15
Slide 30
6.837 Fall 2001
OpenGL
Material
Lecture 15
Slide 31
6.837 Fall 2001
OpenGL Mathematical Model
Lecture 15
Slide 32
6.837 Fall 2001
Where do we Illuminate?
To this point we have discussed how to compute an
illumination model at a point on a surface. But, at which points
on the surface is the illumination model applied? Where and
how often it is applied has a noticeable effect on the result.
Illuminating can be a costly process involving the
computation of and normalizing of vectors to multiple
light sources and the viewer.
For models defined by collections of polygonal facets or
triangles:
 Each facet has a common surface normal
 If the light is directional then the diffuse
contribution is constant across the facet
 If the eye is infinitely far away and the light is
directional then the specular contribution is constant
across the facet.
Lecture 15
Slide 33
6.837 Fall 2001
Flat Shading Or Facet Shading
The simplest shading method applies only one illumination
calculation for each primitive. This technique is called
constant or flat shading. It is often used on polygonal
primitives.
Drawbacks:
 the direction to the light source varies over the facet
 the direction to the eye varies over the facet
Nonetheless, often illumination is computed for only a
single point on the facet. Which one? Usually the centroid.
OpenGL picks any vertex of a polygon
Lecture 15
Slide 34
6.837 Fall 2001
OpenGL: Flat shading
Compute shading at a representative
point and apply to whole polygon
OpenGL uses one of the
vertices
Advantages:
Fast - one shading value per
polygon
Disadvantages:
Inaccurate
Discontinuities at polygon
boundaries
Lecture 15
Slide 35
6.837 Fall 2001
Constant Shading with Ambient
Illumination Only
Lecture 15
Slide 36
6.837 Fall 2001
Facet Shading With Diffuse
Reflection
Lecture 15
Slide 37
6.837 Fall 2001
Facet Shading
Even when the illumination equation is applied at each point of
the faceted nature of the polygonal nature is still apparent.
To overcome this limitation normals are introduced at
each vertex.
 different than the polygon normal
 for shading only (not backface culling or other
computations)
 better approximates smooth surfaces
Lecture 15
Slide 38
6.837 Fall 2001
Vertex Normals
If vertex normals are not provided
they can often be approximated
by averaging the normals of the
facets which share the vertex.
r
nv =
k
еi
=1
r
ni
r
r
nv =
k
еi
=1
ni
This only works if the polygons
reasonably approximate the
underlying surface.
A better approximation can be
found using a clustering analysis of
the normals on the unit sphere.
Lecture 15
Slide 39
6.837 Fall 2001
r
ni
r
ni
Gouraud Shading
The Gouraud shading method applies the illumination model on
a subset of surface points and interpolates the
intensity of the remaining points on the surface. In the
case of a polygonal mesh the illumination model is usually
applied at each vertex and the colors in the triangles interior
are linearly interpolated from these vertex values.
The linear interpolation can be accomplished using the plane
equation method discussed in the lecture on rasterizing
polygons.
Lecture 15
Slide 40
6.837 Fall 2001
Lecture 15
Slide 41
6.837 Fall 2001
Gourand Shading
Shade each vertex with it’s own
location and normal
Linearly interpolate across the face
Advantages:
Fast - incremental calculations
when rasterizing
Much smoother - use one normal
per shared vertex to get
continuity between faces
Highlight is loss
Disadvantages:
Gourand
Specularitiesifget
lost shading
is applied
Lecture 15
Slide 42
No highlights
6.837 Fall 2001
Gouraud Shading with Diffuse
Reflection
Do not average normals
everywhere. Only for the
approximately curve surface
Lecture 15
Slide 43
6.837 Fall 2001
Shading and OpenGL
OpenGL defines two particular shading models
Controls how colors are assigned to pixels
glShadeModel(GL_SMOOTH) interpolates between
the colors at the vertices (the default)
glShadeModel(GL_FLAT) uses a constant color
across the polygon
Lecture 15
Slide 44
6.837 Fall 2001
Phong Shading
In Phong shading (not to be confused with the Phong illumination model),
the surface normal is linearly interpolated across polygonal facets,
and the Illumination model is applied at every point.
A Phong shader assumes the same input as a Gouraud shader, which means
that it expects a normal for every vertex. The illumination model is applied
at every point on the surface being rendered, where the normal at each
point is the result of linearly interpolating the vertex normals defined at
each vertex of the triangle.
Phong shading will usually result in a very smooth appearance, however,
evidence of the polygonal model can usually be seen along
silhouettes.
Lecture 15
Slide 45
6.837 Fall 2001
Phong Shading with Correct
Highlight
Edge Silhouettes
Lecture 15
Slide 46
6.837 Fall 2001
Lecture 15
Slide 47
6.837 Fall 2001