Chi-Cheng Lin, Winona State University CS430 Computer Graphics Lighting and Shading.
-
Upload
edgar-derick-taylor -
Category
Documents
-
view
232 -
download
0
Transcript of Chi-Cheng Lin, Winona State University CS430 Computer Graphics Lighting and Shading.
2
Topics
Introduction Geometric Model in Lighting Colored Surfaces and Lights Shading and Graphics Pipeline Flat Shading and Smooth Shading
3
Introduction
LightingProcess of computing the luminous
intensity reflected from a specific 3-D point
ShadingProcess of assigning colors to pixels
Shading model dictates how light is scattered or reflected from a surfaceWe will begin with achromatic light then
colored lights
4
Introduction
Two types of light sourcesPoint light sourceAmbient light
Light interacts surfaces in different waysAbsorbed by surfaceReflected by surfaceTransmitted into the interior
What absorbs all of the incident achromatic light?
5
Introduction Types of reflection of incident light
Diffuse scattering Some of the incident light penetrates the surface
slightly and is re-radiated uniformly in all directions
Scattering light interacts strongly with surface color is affected by nature of surface material
Specular reflections Incident light does not penetrate the surface Reflected directly from the surface More mirror like and highly directional Highlight, shiny, plastic like
6
Introduction
Total light reflected from the surface in a certain direction is the sum of Diffuse componentsSpecular components
We calculate the size of each component that reaches the eye for each point of interest on surfaces
7
Geometric Model in Lighting
Principle vectors to find amount of light reaching the eye from a point Pm: normal vector of surface at Pv: from P to the eyes: from P to light sourceAngles between vectors are
calculated in the world coordinates
Is: intensity of light source
m
vs
P
eye
8
Diffuse Component Id: intensity of the diffused component
Scattering is uniform in all directionsIndependent of v
unless m v 0, where Id = 0 (why?)
Lambert’s law: brightness is proportional to the area subtended (= fraction cos()) 0: brightness varies slightly with angle 90°: brightness falls rapidly to 0
m
s
9
Diffuse Component
cos() =
How do we calculate/obtain the value for d ? By experiments.
ms ˆˆ
tcoefficien reflection diffuse where
),),ˆˆmax((
d
dsd II 0ms
10
Specular Reflection Isp: intensity of specular reflection Phong model is used to
approximate highlightAmount of light reflected is greatest
in the direction of perfect mirror reflection, r
Amount of light reflected diminished rapidly at the nearby angles
Beam patternm
s
P
r
11
Specular Reflection Remember ? Amount of light reflected falls off as
increases and is approximately cosf(), where f is the Phong exponent
Problem: expensive to compute as r has to be found and normalized
m
vs eye
r
mmssr ˆ)ˆ( 2
tcoefficien reflectionspecular where
,)ˆˆ(
s
fsssp II vr
12
Specular Reflection Solution (proposed by Jim Blinn)
Calculate h = s + vLet be the angle between h and mUse to calculate the falloff of specular
intensity as has the same property as , but can be compensated by different
value of f
m
v
sh
mvs
=h=0
),)ˆˆmax(( 0fsssp II mh
13
Ambient Light
A uniform background glow in the environmentSource is not situated at any particular placeLight spreads uniformly in all directions
Ia: intensity of light source
Iaa is added to the light reaching the eyea: ambient reflection coefficient
a is often the same as d
14
Combining Light Contributions I = Ia a + Id d lambert + Isp s phongf
lambert = phong =
Implications for different points P on a facetAmbient is not changed for different Pm is the same for all point on the facetIf the light is far far away, s will change slightly as P
changes diffuse will change slightly on different PIf the light or/and eye is/are close, s and h will
change a lot as P changes specular changes significantly over the facet
)),ˆˆmax(( 0ms)),ˆˆmax(( 0mh
15
Colored Surfaces and Lights
Colored surfaceIr = Iar ar + Idr dr lambert + Ispr sr phongf
Ig = Iag ag + Idg dg lambert + Ispg sg phongf
Ib = Iab ab + Idb db lambert + Ispb sb phongf
lambert and phong terms do not depends on color component
We have to define 9 reflection coefficientsAmbient and diffuse reflection are based on
the color of surface
16
Colored Surfaces and Lights Colored light (Isr, Isg, Isb)
If the color of a surface is (r, g, b), then it is reasonable to set
(ar, ag, ab) = (dr, dg, db) = (rK, gK, bK), where K is the fraction of light reflected
The diffusion of the surface = (Isrdr, Isgdg, Isbdb) = (IsrrK, IsggK, IsbbK)
Example: white lightIsr = Isg = Isb = I, (r, g, b) = (0.3, 0.45, 0.25) then
diffusion = (0.3IK, 0.45IK, 0.25IK) the surface is seen as its color
17
Colored Surfaces and Lights
Color of specular lightOften the same as that of light source
Example: sunlightHighlight on plastic caused by sunlight is
whiteSet (sr, sg, sb) = (s, s, s)
s = 0.5 slightly shiny
s = 0.9 highly shiny
Different coefficients are selected for specific materials. (Fig 8.17)
19
Shading and Graphics Pipeline
Vertices are sent down the pipeline along with their associated normals
All shading calculations are done on vertices
VM clipprojectionmatrix
viewportmatrix
shading isapplied here
v1, m1
v2, m2
v0, m0
20
Shading and Graphics Pipeline
Lights are objects and the positions of light sources are also transformed by the modelview matrix
After all quantities are expressed in camera coordinates, colors are attached to vertices using the formula
If an object is clipped, normals of newly generated vertices are calculated by interpolation
21
Flat Shading and Smooth Shading
Polygonal face in 3D spaceIndividual faceUnderlying surface approximated
Shading methodsFlat shadingSmooth shading
Gouraud shading Phong shading
23
Flat Shading
Entire face is drawn with the same color
Lateral inhibitionWhen there is a discontinuity across an
object, the eye manufactures a Mach band at the discontinuity and a vivid edge is seen
Specular highlights are rendered poorlyEither no highlight at allOr highlight on the entire face
24
Smooth Shading
Smooth shading computes colors at more points on each face to de-emphasize edges between adjacent faces
Use linear interpolation Gouraud shading
Interpolate vertex colors Phong shading
Interpolate vertex normalsInterpolate normal for each pixel
25
Gouraud Shading
Used by OpenGL Example
colora: by interpolating
color3 and color4
colorb: by interpolating
color1 and color2
Colors of pixels on the horizontal line segment is obtained by interpolating colora and colorb
Does not picture highlights well
color1
color2
color3
color4
colora colorb
26
Phong Shading Compute normal at each pixel by
interpolating the normals at the vertices Apply the shading model to to every point to
find the color Example
ma: by interpolating m3 and m4
mb: by interpolating m1 and m2
Normals of pixels on the horizontal line segment is obtained by interpolating ma and mb
Colors of the pixels are then computedm1
m2
m3
m4
ma mb