27
Chi-Cheng Lin, Winona State University CS430 Computer Graphics Lighting and Shading

Chi-Cheng Lin, Winona State University CS430 Computer Graphics Lighting and Shading

Embed Size (px)

Citation preview

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)

18

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

22

Comparison of Shading Methods

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

27

Phong Shading Very smooth appearance Highlights are approximated better Principle drawback

Heavy computation slow speed Not supported by OpenGL

Can be approximated using texture mapping

Phong shading Phong model Don’t be confused!!