Illumination and Shading Sung-Eui Yoon ( ) ( ) C Course URL: - - PowerPoint PPT Presentation

illumination and shading
SMART_READER_LITE
LIVE PREVIEW

Illumination and Shading Sung-Eui Yoon ( ) ( ) C Course URL: - - PowerPoint PPT Presentation

CS380: Computer Graphics CS380: Computer Graphics Illumination and Shading Sung-Eui Yoon ( ) ( ) C Course URL: URL http://sglab.kaist.ac.kr/~sungeui/CG/ Course Objectives Course Objectives Know how to consider lights


slide-1
SLIDE 1

CS380: Computer Graphics CS380: Computer Graphics

Illumination and Shading

Sung-Eui Yoon (윤성의) (윤성의)

C URL Course URL: http://sglab.kaist.ac.kr/~sungeui/CG/

slide-2
SLIDE 2

Course Objectives Course Objectives

Know how to consider lights

  • Know how to consider lights

during rendering models

Li ht

  • Light sources
  • I llumination models
  • Shading
  • Shading
  • Local vs. global illumination

2

slide-3
SLIDE 3

Question: How Can We See Objects? Objects?

Emission and reflection!

  • Emission and reflection!

3

slide-4
SLIDE 4

Question: How Can We See Objects? Objects?

Light (sub-class of electromagnetic waves)

Prism Sun light g

4

eMag Solutions

From Newton magazine

slide-5
SLIDE 5

Question: How Can We See Objects? Objects?

Light

Human Sensitivity

(sub-class of electromagnetic waves)

Birds Rod and cone

E

Rod and cone

Eye

5

From Newton magazine

slide-6
SLIDE 6

Question: How Can We See Objects? Objects?

Emission and reflection!

  • Emission and reflection!

Light (sub-class of electromagnetic waves)

White light Reflect green li ht light Absorb lights other than green light

E

g g

Eye

From Newton magazine

6 ● How about mirrors and white papers?

slide-7
SLIDE 7

Illumination Models Illumination Models

  • Physically-based
  • Physically-based
  • Models based on the actual physics of light's

interactions with matter te act o s t atte

  • Empirical
  • Simple formulations that approximate

Simple formulations that approximate

  • bserved phenomenon

7

slide-8
SLIDE 8

Two Components of Illumination Two Components of Illumination

  • Light sources:
  • Light sources:
  • Emittance spectrum (color)
  • Geometry (position and direction)
  • Geometry (position and direction)
  • Directional attenuation
  • Surface properties:

p p

  • Reflectance spectrum (color)
  • Geometry (position, orientation, and micro-

structure)

  • Absorption

8

slide-9
SLIDE 9

Bi-Directional Reflectance Distribution Function (BRDF)

Describes the transport of irradiance to

Distribution Function (BRDF)

  • Describes the transport of irradiance to

radiance

9

slide-10
SLIDE 10

Measuring BRDFs Measuring BRDFs

  • Goniophotometer
  • One 4D measurement at a time (slow)

10

slide-11
SLIDE 11

How to use BRDF Data? How to use BRDF Data?

One can make direct use of acquired BRDFs in a renderer

11

slide-12
SLIDE 12

Two Components of Illumination Two Components of Illumination

  • Simplifications used by most computer
  • Simplifications used by most computer

graphics systems:

  • Compute only direct illumination from the

Compute only direct illumination from the emitters to the reflectors of the scene

  • I gnore the geometry of light emitters, and

id l h f fl consider only the geometry of reflectors

12

slide-13
SLIDE 13

Ambient Light Source Ambient Light Source

A simple hack for indirect illumination

  • A simple hack for indirect illumination
  • I ncoming ambient illumination (I i,a) is constant

for all surfaces in the scene for all surfaces in the scene

  • Reflected ambient illumination (I r,a ) depends
  • nly on the surface’s ambient reflection

y coefficient (ka) and not its position or

  • rientation

r ,a a i,a

I k I

  • These quantities typically specified as (R, G, B)

triples triples

13

slide-14
SLIDE 14

Point Light Sources

Point light sources emit rays from a single

Point Light Sources

  • Point light sources emit rays from a single

point

  • Simple approximation to a local light source such as a
  • Simple approximation to a local light source such as a

light bulb

l

p

p p p p L

l

      ˆ

p

ˆ L

p pl 

  • The direction to the light changes across

the surface

14

the surface

slide-15
SLIDE 15

Directional Light Sources Directional Light Sources

Light rays are parallel and have no origin

  • Light rays are parallel and have no origin
  • Can be considered as a point light at infinity
  • A good approximation for sunlight
  • A good approximation for sunlight

ˆ L

  • The direction to the light source is constant

th f

  • ver the surface
  • How can we specify point and directional

lights?

15

lights?

slide-16
SLIDE 16

Other Light Sources Other Light Sources

  • Spotlights
  • Spotlights
  • Point source whose

intensity falls off away te s ty a s o a ay from a given direction

  • Area light sources

g

  • Occupies a 2D area

(e.g. a polygon or a disk)

  • Generates soft shadows

16

slide-17
SLIDE 17

Ideal Diffuse Reflection Ideal Diffuse Reflection

I deal diffuse reflectors (e g chalk)

  • I deal diffuse reflectors (e.g., chalk)
  • Reflect uniformly over the hemisphere
  • Reflection is view independent
  • Reflection is view-independent
  • Very rough at the microscopic level
  • Follow Lambert’s cosine law
  • Follow Lambert s cosine law

17

slide-18
SLIDE 18

Lambert’s Cosine Law Lambert s Cosine Law

  • The reflected energy from a small surface area
  • The reflected energy from a small surface area

from illumination arriving from direction is proportional to the cosine of the angle between

ˆ L ˆ L

and the surface normal

ˆ ˆ N L

) L N ( I cosθ I I

i i r

ˆ ˆ    ) (

i

18

slide-19
SLIDE 19

Computing Diffuse Reflection Computing Diffuse Reflection

Constant of proportionality depends on

  • Constant of proportionality depends on

surface properties

) L N ( I k I

i d d

ˆ ˆ  

  • The constant kd specifies how much of the

incident light I i is diffusely reflected

) L N ( I k I

i d r,d

incident light I i is diffusely reflected

Diffuse reflection for varying light directions

  • When the incident light is blocked by

the surface itself and the diffuse reflection is 0

ˆ ˆ (N L)

 

19

the surface itself and the diffuse reflection is 0

slide-20
SLIDE 20

Specular Reflection Specular Reflection

  • Specular reflectors have a bright view
  • Specular reflectors have a bright, view

dependent highlight

  • E.g., polished metal, glossy car finish, a mirror

E.g., polished metal, glossy car finish, a mirror

  • At the microscopic level a specular reflecting

surface is very smooth

  • Specular reflection obeys Snell’s law

20

Image source: astochimp.com and wiki

slide-21
SLIDE 21

Snell’s Law Snell s Law

  • The relationship between the angles of
  • The relationship between the angles of

the incoming and reflected rays with the normal is given by:

ˆ N ˆ L N

ˆ R

i

i i

  • n sin

n sin

  

  • n and n are the indices of refraction for the
  • ni and no are the indices of refraction for the

incoming and outgoing ray, respectively

  • Reflection is a special case where ni = no so o

Reflection is a special case where ni no so o = i

  • The incoming ray, the surface normal, and the

21

reflected ray all lie in a common plane

slide-22
SLIDE 22

Computing the Reflection Vector Computing the Reflection Vector

The vector R can be computed from the

  • The vector R can be computed from the

incoming light direction and the surface normal as shown below: normal as shown below:

L N )) L N (2( R ˆ ˆ ˆ ˆ ˆ   

  • How?

ˆ ˆ N ˆ ˆ L N ˆ R

N )) L N 2( ˆ ˆ ˆ  N )) L N 2(

22

ˆ L

slide-23
SLIDE 23

Non Ideal Reflectors Non-Ideal Reflectors

Snell’s law applies only to ideal specular

  • Snell’s law applies only to ideal specular

reflectors

  • Roughness of surfaces causes highlight to
  • Roughness of surfaces causes highlight to

“spread out”

  • Empirical models try to simulate the

p y appearance of this effect, without trying to capture the physics of it

ˆ L ˆ N ˆ R

23

slide-24
SLIDE 24

Phong Illumination Phong Illumination

  • One of the most commonly used
  • One of the most commonly used

illumination models in computer graphics

  • Empirical model and does not have no physical

Empirical model and does not have no physical basis

ˆ R ˆ L ˆ N

ˆ V

s

n i s r

) (cos I k I  

s

n i s i s r

) R V ( I k ) (cos I k I ˆ ˆ   

  • is the direction to the viewer

i l d [0 ]

ˆ (V)

ˆ ˆ

  • is clamped to [0,1]
  • The specular exponent ns controls how quickly

the highlight falls off

) R V ( ˆ ˆ 

24

the highlight falls off

slide-25
SLIDE 25

Effect of Specular Exponent Effect of Specular Exponent

  • How the shape of the highlight changes

with varying ns

25

slide-26
SLIDE 26

Examples of Phong Examples of Phong

varying light direction

26

varying specular exponent

slide-27
SLIDE 27

Blinn & Torrance Variation Blinn & Torrance Variation

Jim Blinn introduced another approach for

  • Jim Blinn introduced another approach for

computing Phong-like illumination based

  • n the work of Ken Torrance:
  • n the work of Ken Torrance:

V ˆ L ˆ V ˆ L ˆ H ˆ  

ˆ ˆ N ˆ H

s

n

ˆ ˆ I k I(N H)

V L

L ˆ V

i h h lf h bi h

s

n r ,s s i

I k I(N H)

 

ˆ

  • is the half-way vector that bisects the

light and viewer directions

H

27

slide-28
SLIDE 28

Putting it All Together Putting it All Together

Li ht

    

numLights 1 j n j s j s j j d j d j a j a r

s

),0)) R V max(( I k ),0) L N max(( I k I (k I ˆ ˆ ˆ ˆ

28

slide-29
SLIDE 29

Putting it All Together Putting it All Together

Li ht

    

numLights 1 j n j s j s j j d j d j a j a r

s

),0)) R V max(( I k ),0) L N max(( I k I (k I ˆ ˆ ˆ ˆ

From Wikipedia

29

slide-30
SLIDE 30

OpenGL’s Illumination Model OpenGL s Illumination Model

Li ht

    

numLights 1 j n j s j s j j d j d j a j a r

s

),0)) R V max(( I k ),0) L N max(( I k I (k I ˆ ˆ ˆ ˆ

  • Problems with empirical models:
  • What are the coefficients for copper?
  • What are ka, ks, and ns?

A th bl titi ? Are they measurable quantities?

  • I s my picture accurate? I s energy conserved?

30

slide-31
SLIDE 31

Lights in OpenGL Lights in OpenGL

  • Light positions are specified in
  • Light positions are specified in

homogeneous coordinates

  • They are transformed by the current modelview
  • They are transformed by the current modelview

matrix

  • Directional light sources have w= 0

g

31

slide-32
SLIDE 32

Lights in OpenGL Lights in OpenGL

# define a directional light lightDirection = [1, 1, 1, 0] glLightfv(GL LIGHT0, GL POSITION, lightDirection) g g ( _ , _ , g ) glEnable(GL_LIGHT0) # define a point light # define a point light lightPoint = [100, 100, 100, 1] glLightfv(GL_LIGHT1, GL_POSITION, lightPoint) glEnable(GL LIGHT1) glEnable(GL_LIGHT1) # set up light’s color l i h f ( bi i ) glLightfv(GL_LIGHT0, GL_AMBIENT, ambientIntensity) glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseIntensity) glLightfv(GL_LIGHT0, GL_SPECULAR, specularIntensity)

32

slide-33
SLIDE 33

OpenGL Surface Properties OpenGL Surface Properties

glMaterialfv(GL_FRONT, GL_AMBIENT, ambientColor) glMaterialfv(GL_FRONT, GL_DIFFUSE, diffuseColor) glMaterialfv(GL FRONT, GL SPECULAR, specularColor) g ( _ , _ , p ) glMaterialfv(GL_FRONT, GL_SHININESS, nshininess)

33

slide-34
SLIDE 34

Illumination Methods Illumination Methods

I llumination can be expensive

  • I llumination can be expensive
  • Requires computation and normalizing of

vectors for multiple light sources vectors for multiple light sources

  • Compute illumination for faces vertices or
  • Compute illumination for faces, vertices, or

pixels with increasing realism and computing overhead

  • Correspond to flat, Gouraud, and Phong

shading respectively

34

slide-35
SLIDE 35

Flat Shading

Th i l t h di th d

Flat Shading

  • The simplest shading method
  • Applies only one illumination calculation

per face per face

  • I llumination usually computed at

the centroid of the face: the centroid of the face:

n i i 1

1 cent roid p n 

  

  • I ssues?

35

slide-36
SLIDE 36

Gouraud Shading

Performs the illumination model on vertices

Gouraud Shading

  • Performs the illumination model on vertices

and interpolates the intensity of the remaining points on the surface remaining points on the surface

Notice that facet artifacts are still visible

36

slide-37
SLIDE 37

Vertex Normals Vertex Normals

I f t l t id d I f vertex normals are not provided they can often be approximated by averaging the normals of the facets

k v face,i

n n

  

averaging the normals of the facets which share the vertex

i 1 

37

slide-38
SLIDE 38

Phong Shading

Surface normal is linearly interpolated

Phong Shading

  • Surface normal is linearly interpolated

across polygonal facets, and the illumination model is applied at every point illumination model is applied at every point

  • Not to be confused with Phong’s illumination

model

  • Phong shading will usually result in a very
  • Phong shading will usually result in a very

smooth appearance

  • However, evidence of the polygonal model can

38

, p yg usually be seen along silhouettes

slide-39
SLIDE 39

Local Illumination Local Illumination

L l ill i ti d l t th l f

  • Local illumination models compute the colors of

points on surfaces by considering only local properties: properties:

  • Position of the point
  • Surface properties
  • Properties of any light sources that

affect it

  • No other objects in the scene

are considered neither as light blockers nor as reflectors blockers nor as reflectors

  • Typical of immediate-mode

renders such as OpenGL

39

renders, such as OpenGL

slide-40
SLIDE 40

Global Illumination Global Illumination

I th l ld li ht t k i di t th

  • I n the real world, light takes indirect paths
  • Light reflects off of other materials (possibly multiple
  • bjects)

j )

  • Light is blocked by other objects
  • Light can be scattered
  • Light can be focused
  • Light can be focused
  • Light can bend
  • Harder to model
  • Harder to model
  • At each point we must

consider not only every light source but and other point source, but and other point that might have reflected light toward it

40

slide-41
SLIDE 41

Various Effects using Physically- based Models based Models

From slides of Pat Hanrahan

  • There are still many open problems to

From slides of Pat Hanrahan

  • There are still many open problems to

accurately represent various natural materials and efficiently render them

41

slide-42
SLIDE 42

Course Objectives Course Objectives

Know how to consider lights

  • Know how to consider lights

during rendering models

Li ht

  • Light sources
  • I llumination models
  • Shading
  • Shading
  • Local vs. global illumination

42

slide-43
SLIDE 43

Reading Homework Reading Homework

Read a chapter of “Texture Mapping”

  • Read a chapter of “Texture Mapping”

43

slide-44
SLIDE 44

Next Time Next Time

Texture mapping

  • Texture mapping

44