Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
144 views

Computer Graphics - Shading

This document discusses shading in computer graphics and introduces the Phong shading model. It aims to teach how to shade 3D objects so they appear more realistic. Specifically, it covers: 1) The need for shading to make 3D objects appear 3D rather than flat colored. 2) Types of light-material interactions and reflection models like the Phong model. 3) Components of the Phong model including diffuse, specular, and ambient light. It also covers vectors like normal, viewer, and light direction vectors used in the model. 4) Material properties that affect how light interacts with surfaces, like roughness. 5) Modifications to the Phong model to

Uploaded by

ejkiran
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
144 views

Computer Graphics - Shading

This document discusses shading in computer graphics and introduces the Phong shading model. It aims to teach how to shade 3D objects so they appear more realistic. Specifically, it covers: 1) The need for shading to make 3D objects appear 3D rather than flat colored. 2) Types of light-material interactions and reflection models like the Phong model. 3) Components of the Phong model including diffuse, specular, and ambient light. It also covers vectors like normal, viewer, and light direction vectors used in the model. 4) Material properties that affect how light interacts with surfaces, like roughness. 5) Modifications to the Phong model to

Uploaded by

ejkiran
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 41

Computer Graphics

- Shading -

Hanyang University

Jong-Il Park
Objectives

 Learn to shade objects so their images appear


three-dimensional
 Introduce the types of light-material interactions
 Build a simple reflection model---the Phong model---
that can be used with real time graphics hardware
 Introduce modified Phong model
 Consider computation of required vectors

Division of Electrical and Computer Engineering, Hanyang University


Why we need shading
 Suppose we build a model of a sphere using many
polygons and color it with glColor. We get
something like

 But we want

Division of Electrical and Computer Engineering, Hanyang University


Shading
 Why does the image of a real sphere look like

 Light-material interactions cause each point to


have a different color or shade
 Need to consider
 Light sources
 Material properties
 Location of viewer
 Surface orientation

Division of Electrical and Computer Engineering, Hanyang University


Rendering: 1960s (visibility)
 Roberts (1963), Appel (1967) - hidden-line algorithms
 Warnock (1969), Watkins (1970) - hidden-surface
 Sutherland (1974) - visibility = sorting

Images from FvDFH, Pixar’s Shutterbug


Slide ideas for history of Rendering courtesy Marc Levoy
Division of Electrical and Computer Engineering, Hanyang University
Rendering: 1970s (lighting)
1970s - raster graphics
 Gouraud (1971) - diffuse lighting, Phong (1974) - specular lighting
 Blinn (1974) - curved surfaces, texture
 Catmull (1974) - Z-buffer hidden-surface algorithm

Division of Electrical and Computer Engineering, Hanyang University


Rendering (1980s, 90s: Global Illumination)
early 1980s - global illumination
 Whitted (1980) - ray tracing
 Goral, Torrance et al. (1984) radiosity
 Kajiya (1986) - the rendering equation

Division of Electrical and Computer Engineering, Hanyang University


Scattering
 Light strikes A
 Some scattered
 Some absorbed
 Some of scattered light strikes B
 Some scattered
 Some absorbed
 Some of this scattered light strikes A
and so on

Division of Electrical and Computer Engineering, Hanyang University


Rendering Equation
 The infinite scattering and absorption of light can be
described by the rendering equation
 Cannot be solved in general
 Ray tracing is a special case for perfectly reflecting
surfaces
 Rendering equation is global and includes
 Shadows
 Multiple scattering from object to object

Division of Electrical and Computer Engineering, Hanyang University


Global Effects

shadow

multiple reflection

translucent surface

Division of Electrical and Computer Engineering, Hanyang University


Local vs Global Rendering
 Correct shading requires a global calculation
involving all objects and light sources
 Incompatible with pipeline model which shades each
polygon independently (local rendering)
 However, in computer graphics, especially real time
graphics, we are happy if things “look right”
 Exist many techniques for approximating global effects

Division of Electrical and Computer Engineering, Hanyang University


Light-Material Interaction

 Light that strikes an object is partially absorbed


and partially scattered (reflected)
 The amount reflected determines the color and
brightness of the object
 A surface appears red under white light because the
red component of the light is reflected and the rest is
absorbed
 The reflected light is scattered in a manner that
depends on the smoothness and orientation of
the surface

Division of Electrical and Computer Engineering, Hanyang University


Light Sources

General light sources are difficult to work with because


we must integrate light coming from all points on the
source

Division of Electrical and Computer Engineering, Hanyang University


Simple Light Sources
 Point source
 Model with position and color
 Distant source = infinite distance away (parallel)

 Spotlight
 Restrict light from ideal point source

 Ambient light
 Same amount of light everywhere in scene
 Can model contribution of many sources and reflecting
surfaces

Division of Electrical and Computer Engineering, Hanyang University


Surface Types
 The smoother a surface, the more reflected
light is concentrated in the direction a perfect
mirror would reflected the light
 A very rough surface scatters light in all
directions

smooth surface rough surface

Division of Electrical and Computer Engineering, Hanyang University


Phong Model
 A simple model that can be computed rapidly
 Has three components
 Diffuse
 Specular
 Ambient
 Uses four vectors
 To source
 To viewer
 Normal
 Perfect reflector

Division of Electrical and Computer Engineering, Hanyang University


Ideal Reflector
 Normal is determined by local orientation
 Angle of incidence = angle of reflection
 The three vectors must be coplanar

r = 2 (l · n ) n - l

Division of Electrical and Computer Engineering, Hanyang University


Lambertian Surface
 Perfectly diffuse reflector
 Light scattered equally in all directions
 Amount of light reflected is proportional to the vertical
component of incoming light
 reflected light ~cos qi
 cos qi = l · n if vectors normalized
 There are also three coefficients, kr, kb, kg that show
how much of each color component is reflected

Division of Electrical and Computer Engineering, Hanyang University


Specular Surfaces
 Most surfaces are neither ideal diffusers nor
perfectly specular (ideal reflectors)
 Smooth surfaces show specular highlights due
to incoming light being reflected in directions
concentrated close to the direction of a perfect
reflection

specular
highlight

Division of Electrical and Computer Engineering, Hanyang University


Modeling Specular Relections
 Phong proposed using a term that dropped off as the
angle between the viewer and the ideal reflection
increased

Ir ~ ks I cosaf

reflected shininess coef


intensity incoming intensity
absorption coef

Division of Electrical and Computer Engineering, Hanyang University


The Shininess Coefficient
 Values of a between 100 and 200 correspond
to metals
 Values between 5 and 10 give surface that look
like plastic

cosa f

-90 f 90

Division of Electrical and Computer Engineering, Hanyang University


Ambient Light

 Ambient light is the result of multiple interactions


between (large) light sources and the objects in the
environment
 Amount and color depend on both the color of the
light(s) and the material properties of the object
 Add ka Ia to diffuse and specular terms

reflection coef intensity of ambient light

Division of Electrical and Computer Engineering, Hanyang University


Distance Terms
 The light from a point source that reaches a surface
is inversely proportional to the square of the distance
between them
 We can add a factor of the form 1/(a + bd +cd2) to the
diffuse and specular terms
 The constant and linear terms soften the effect of the
point source

Division of Electrical and Computer Engineering, Hanyang University


Light Sources

 In the Phong Model, we add the results from each light


source
 Each light source has separate diffuse, specular, and
ambient terms to allow for maximum flexibility even
though this form does not have a physical justification
 Separate red, green and blue components
 Hence, 9 coefficients for each point source
 Idr, Idg, Idb, Isr, Isg, Isb, Iar, Iag, Iab

Division of Electrical and Computer Engineering, Hanyang University


Material Properties
 Material properties match light source properties
 Nine absorption coefficients

 kdr, kdg, kdb, ksr, ksg, ksb, kar, kag, kab


 Shininess coefficient a

Roughness

Division of Electrical and Computer Engineering, Hanyang University


Adding up the Components
For each light source and each color
component, the Phong model can be written
(without the distance terms) as

I =kd Id l · n + ks Is (v · r )a + ka Ia

For each color component


we add contributions from
all sources

Division of Electrical and Computer Engineering, Hanyang University


Modified Phong Model
 The specular term in the Phong model is problematic
because it requires the calculation of a new reflection
vector and view vector for each vertex
 Blinn suggested an approximation using the halfway
vector that is more efficient

Division of Electrical and Computer Engineering, Hanyang University


The Halfway Vector
 h is normalized vector halfway between l and v

h = ( l + v )/ | l + v |

Division of Electrical and Computer Engineering, Hanyang University


Using the halfway vector
 Replace (v · r )a with (n · h )b
 b is chosen to match shininess
 Note that halfway angle is half of angle
between r and v if vectors are coplanar
 Resulting model is known as the modified
Phong or Blinn lighting model
 Specified in OpenGL standard

Division of Electrical and Computer Engineering, Hanyang University


Example

Only differences in
these teapots are
the parameters
in the modified
Phong model

Division of Electrical and Computer Engineering, Hanyang University


Computation of Vectors
 l and v are specified by the application
 Can compute r from l and n
 Problem is determining n
 For simple surfaces n can be determined but
how we determine n differs depending on
underlying representation of surface
 OpenGL leaves determination of normal to
application
 Exception for GLU quadrics and Bezier surfaces
(Chapter 11)

Division of Electrical and Computer Engineering, Hanyang University


Plane Normals
 Equation of plane: ax+by+cz+d = 0
 From Chapter 4 we know that plane is determined by
three points p0, p2, p3 or normal n and p0
 Normal can be obtained by

n = (p2-p0) × (p1-p0)

Division of Electrical and Computer Engineering, Hanyang University


Normal to Sphere
 Implicit function f(x,y.z)=0
 Normal given by gradient
 Sphere f(p)=p·p - 1
 n = [∂f/∂x, ∂f/∂y, ∂f/∂z]T=p

Division of Electrical and Computer Engineering, Hanyang University


Parametric Form
 For sphere
x=x(u,v)=cos u sin v
y=y(u,v)=cos u cos v
z= z(u,v)=sin u
 Tangent plane determined by vectors
∂p/∂u = [∂x/∂u, ∂y/∂u, ∂z/∂u]T
∂p/∂v = [∂x/∂v, ∂y/∂v, ∂z/∂v]T

 Normal given by cross product


n = ∂p/∂u × ∂p/∂v

Division of Electrical and Computer Engineering, Hanyang University


General Case
 We can compute parametric normals for other simple
cases
 Quadrics
 Parametric polynomial surfaces
 Bezier surface patches (Chapter 11)

Division of Electrical and Computer Engineering, Hanyang University


Mesh Shading
 For polygonal models, Gouraud proposed we use the
average of the normals around a mesh vertex

n = (n1+n2+n3+n4)/ |n1+n2+n3+n4|

Division of Electrical and Computer Engineering, Hanyang University


Gouraud Shading – Details

I1 ( ys  y2 )  I 2 ( y1  ys )
Ia 
y1  y2

I1 ( ys  y3 )  I 3 ( y1  ys )
I1 Ib 
y1  y3
y1
I a ( xb  x p )  I b ( x p  xa )
Ip 
xb  xa
Ia Ip Ib
ys
y2 Scan line
I2

y3 I3

Actual implementation efficient: difference


equations while scan converting
Division of Electrical and Computer Engineering, Hanyang University
Gouraud and Errors
 I1 = 0 because (n dot v) is negative.
 I2 = 0 because (n dot l) is negative.
 Any interpolation of I1 and I2 will be 0.

v
l
n1 n2

I1 = 0 I2 = 0

area of
desired
highlight

Division of Electrical and Computer Engineering, Hanyang University


2 Phongs make a Highlight
 Besides the Phong Reflectance model (cosn), there is
a Phong Shading model.
 Phong Shading: Instead of interpolating the
intensities between vertices, interpolate the normals.
 The entire lighting calculation is performed for each
pixel, based on the interpolated normal. (OpenGL
doesn’t do this, but you can with programmable
shaders)

I1 = 0 I2 = 0

Division of Electrical and Computer Engineering, Hanyang University


Gouraud vs. Phong Shading

 Gouraud Shading
 Find average normal at each vertex (vertex normals)
 Apply modified Phong model at each vertex
 Interpolate vertex shades across each polygon

 Phong shading
 Find vertex normals
 Interpolate vertex normals across edges
 Interpolate edge normals across polygon
 Apply modified Phong model at each fragment

Division of Electrical and Computer Engineering, Hanyang University


Comparison
 If the polygon mesh approximates surfaces with
a high curvatures, Phong shading may look
smooth while Gouraud shading may show
edges
 Phong shading requires much more work than
Gouraud shading
 Until recently not available in real time systems
 Now can be done using fragment shaders (see
Chapter 9)
 Both need data structures to represent meshes
so we can obtain vertex normals

Division of Electrical and Computer Engineering, Hanyang University

You might also like