CS 445 / 645 Introduction to Computer Graphics Lecture 14 Lighting Lighting.

Post on 13-Jan-2016

225 views 3 download

Tags:

Transcript of CS 445 / 645 Introduction to Computer Graphics Lecture 14 Lighting Lighting.

CS 445 / 645Introduction to Computer Graphics

Lecture 14Lecture 14

LightingLighting

Lecture 14Lecture 14

LightingLighting

Today we talk about lighting

Typical three-step development processTypical three-step development process

1.1. Understand the real system – how does light work (Physics)Understand the real system – how does light work (Physics)

2.2. Determine what matters to us – what can we sense (Psyc)Determine what matters to us – what can we sense (Psyc)

3.3. Engineer a system that remains true to the portion of reality Engineer a system that remains true to the portion of reality we can appreciatewe can appreciate

Typical three-step development processTypical three-step development process

1.1. Understand the real system – how does light work (Physics)Understand the real system – how does light work (Physics)

2.2. Determine what matters to us – what can we sense (Psyc)Determine what matters to us – what can we sense (Psyc)

3.3. Engineer a system that remains true to the portion of reality Engineer a system that remains true to the portion of reality we can appreciatewe can appreciate

What can we sense?Review of lecture notes about color

What color do we see the best?What color do we see the best?

• Yellow-green at 550 nmYellow-green at 550 nm

What color do we see the worst?What color do we see the worst?

• Blue at 440 nmBlue at 440 nm

How many fully saturated hues can be distinguished?How many fully saturated hues can be distinguished?

• 128 fully saturated hues128 fully saturated hues

How many saturations can be distinguished for a given hue?How many saturations can be distinguished for a given hue?

• 16 to 23 depending on hue16 to 23 depending on hue

What color do we see the best?What color do we see the best?

• Yellow-green at 550 nmYellow-green at 550 nm

What color do we see the worst?What color do we see the worst?

• Blue at 440 nmBlue at 440 nm

How many fully saturated hues can be distinguished?How many fully saturated hues can be distinguished?

• 128 fully saturated hues128 fully saturated hues

How many saturations can be distinguished for a given hue?How many saturations can be distinguished for a given hue?

• 16 to 23 depending on hue16 to 23 depending on hue

Engineer a SolutionCIE Color Space

International standard for describing a color (1931)International standard for describing a color (1931)

Empirically determined parameterization (X, Y, Z)Empirically determined parameterization (X, Y, Z)

Any pure wavelength Any pure wavelength can be matched perceptually by can be matched perceptually by positive positive combinations combinations of X,Y,Zof X,Y,Z

International standard for describing a color (1931)International standard for describing a color (1931)

Empirically determined parameterization (X, Y, Z)Empirically determined parameterization (X, Y, Z)

Any pure wavelength Any pure wavelength can be matched perceptually by can be matched perceptually by positive positive combinations combinations of X,Y,Zof X,Y,Z

Engineer a SolutionCIE Color Space

The The gamutgamut of all colors perceivable is thus a three- of all colors perceivable is thus a three-dimensional shape in X,Y,Zdimensional shape in X,Y,Z

The The gamutgamut of all colors perceivable is thus a three- of all colors perceivable is thus a three-dimensional shape in X,Y,Zdimensional shape in X,Y,Z

Engineer a SolutionDevices Have Unique Color Gamuts

Since X, Y, and Z are hypothetical light sources, no real Since X, Y, and Z are hypothetical light sources, no real device can produce the entire gamut of perceivable device can produce the entire gamut of perceivable colorcolor

Since X, Y, and Z are hypothetical light sources, no real Since X, Y, and Z are hypothetical light sources, no real device can produce the entire gamut of perceivable device can produce the entire gamut of perceivable colorcolor

Engineer a SolutionRGB Color Space (Color Cube)

Define colors with (r, g, b) amounts of red, green, Define colors with (r, g, b) amounts of red, green, and blueand blue

Define colors with (r, g, b) amounts of red, green, Define colors with (r, g, b) amounts of red, green, and blueand blue

Engineer a SolutionRGB Color Gamuts

The RGB color cube sits within CIE color space The RGB color cube sits within CIE color space something like this:something like this:

The RGB color cube sits within CIE color space The RGB color cube sits within CIE color space something like this:something like this:

Engineer a SolutionRGB Color Space

RGB may be counter intuitiveRGB may be counter intuitive

• Must think about mixing colorsMust think about mixing colors

• Small changes in RGB value may have large or small perceived Small changes in RGB value may have large or small perceived color changescolor changes

RGB may be counter intuitiveRGB may be counter intuitive

• Must think about mixing colorsMust think about mixing colors

• Small changes in RGB value may have large or small perceived Small changes in RGB value may have large or small perceived color changescolor changes

Engineer a SolutionHSV Color Space

A more intuitive color spaceA more intuitive color space

HSV is an alternative:HSV is an alternative:

• HueHue - The color we see (red, green, purple) - The color we see (red, green, purple)

• SaturationSaturation - How far is the color from gray (pink is less - How far is the color from gray (pink is less saturated than red, sky blue is less saturated than royal blue)saturated than red, sky blue is less saturated than royal blue)

• Brightness (Luminance)Brightness (Luminance) - How bright is the color (how bright - How bright is the color (how bright are the lights illuminating the object?)are the lights illuminating the object?)

A more intuitive color spaceA more intuitive color space

HSV is an alternative:HSV is an alternative:

• HueHue - The color we see (red, green, purple) - The color we see (red, green, purple)

• SaturationSaturation - How far is the color from gray (pink is less - How far is the color from gray (pink is less saturated than red, sky blue is less saturated than royal blue)saturated than red, sky blue is less saturated than royal blue)

• Brightness (Luminance)Brightness (Luminance) - How bright is the color (how bright - How bright is the color (how bright are the lights illuminating the object?)are the lights illuminating the object?)

HSV Color Space

• H = HueH = Hue

• S = SaturationS = Saturation

• V = Value (or brightness)V = Value (or brightness)

• H = HueH = Hue

• S = SaturationS = Saturation

• V = Value (or brightness)V = Value (or brightness)

ValueSaturation

Hue

Solving the Lighting Problem

• We somewhat understand the perception of light (color)We somewhat understand the perception of light (color)

• We engineered a solution to representing and generating We engineered a solution to representing and generating color using computerscolor using computers

• We need to understand the interplay of light and objectsWe need to understand the interplay of light and objects

• We somewhat understand the perception of light (color)We somewhat understand the perception of light (color)

• We engineered a solution to representing and generating We engineered a solution to representing and generating color using computerscolor using computers

• We need to understand the interplay of light and objectsWe need to understand the interplay of light and objects

Optical Illusion

Lighting

Remember, we know how to Remember, we know how to rasterizerasterize

• Given a 3-D triangle and a 3-D viewpoint, we know which Given a 3-D triangle and a 3-D viewpoint, we know which pixels represent the trianglepixels represent the triangle

But what color should those pixels be?But what color should those pixels be?

Remember, we know how to Remember, we know how to rasterizerasterize

• Given a 3-D triangle and a 3-D viewpoint, we know which Given a 3-D triangle and a 3-D viewpoint, we know which pixels represent the trianglepixels represent the triangle

But what color should those pixels be?But what color should those pixels be?

Lighting

If we’re attempting to create a realistic image, we If we’re attempting to create a realistic image, we need to simulate the need to simulate the lightinglighting of the surfaces in of the surfaces in the scenethe scene

• Fundamentally simulation of Fundamentally simulation of physicsphysics and and opticsoptics

• As you’ll see, we use a lot of approximations (a.k.a As you’ll see, we use a lot of approximations (a.k.a perceptually based hacks) to do this simulation fast enoughperceptually based hacks) to do this simulation fast enough

If we’re attempting to create a realistic image, we If we’re attempting to create a realistic image, we need to simulate the need to simulate the lightinglighting of the surfaces in of the surfaces in the scenethe scene

• Fundamentally simulation of Fundamentally simulation of physicsphysics and and opticsoptics

• As you’ll see, we use a lot of approximations (a.k.a As you’ll see, we use a lot of approximations (a.k.a perceptually based hacks) to do this simulation fast enoughperceptually based hacks) to do this simulation fast enough

Definitions

IlluminationIllumination: : the transport of energy from light sources the transport of energy from light sources to surfaces & pointsto surfaces & points

• Note: includes Note: includes directdirect and and indirectindirect illuminationillumination

IlluminationIllumination: : the transport of energy from light sources the transport of energy from light sources to surfaces & pointsto surfaces & points

• Note: includes Note: includes directdirect and and indirectindirect illuminationillumination

Images by Henrik Wann Jensen

Definitions

LightingLighting: : the process of computing the luminous the process of computing the luminous intensity (i.e., outgoing light) at a particular 3-D intensity (i.e., outgoing light) at a particular 3-D point, usually on a surfacepoint, usually on a surface

ShadingShading: : the process of assigning colors to pixelsthe process of assigning colors to pixels(why the distinction?)(why the distinction?)

LightingLighting: : the process of computing the luminous the process of computing the luminous intensity (i.e., outgoing light) at a particular 3-D intensity (i.e., outgoing light) at a particular 3-D point, usually on a surfacepoint, usually on a surface

ShadingShading: : the process of assigning colors to pixelsthe process of assigning colors to pixels(why the distinction?)(why the distinction?)

Definitions

Illumination models fall into two categories:Illumination models fall into two categories:

• EmpiricalEmpirical: simple formulations that approximate observed phenomenon: simple formulations that approximate observed phenomenon

• Physically basedPhysically based: models based on the actual physics of light : models based on the actual physics of light interacting with matterinteracting with matter

We mostly use empirical models in interactive graphics We mostly use empirical models in interactive graphics for simplicityfor simplicity

Increasingly, realistic graphics are using physically Increasingly, realistic graphics are using physically based models based models

Illumination models fall into two categories:Illumination models fall into two categories:

• EmpiricalEmpirical: simple formulations that approximate observed phenomenon: simple formulations that approximate observed phenomenon

• Physically basedPhysically based: models based on the actual physics of light : models based on the actual physics of light interacting with matterinteracting with matter

We mostly use empirical models in interactive graphics We mostly use empirical models in interactive graphics for simplicityfor simplicity

Increasingly, realistic graphics are using physically Increasingly, realistic graphics are using physically based models based models

Components of IlluminationTwo components of illumination: Two components of illumination: light sourceslight sources and and surface surface propertiesproperties

Light sources (or Light sources (or emittersemitters))

• Spectrum of emittance (i.e., color of the light)Spectrum of emittance (i.e., color of the light)

• Geometric attributesGeometric attributes

– PositionPosition

– DirectionDirection

– ShapeShape

• Directional attenuationDirectional attenuation

• PolarizationPolarization

Two components of illumination: Two components of illumination: light sourceslight sources and and surface surface propertiesproperties

Light sources (or Light sources (or emittersemitters))

• Spectrum of emittance (i.e., color of the light)Spectrum of emittance (i.e., color of the light)

• Geometric attributesGeometric attributes

– PositionPosition

– DirectionDirection

– ShapeShape

• Directional attenuationDirectional attenuation

• PolarizationPolarization

Components of Illumination

Surface propertiesSurface properties

• Reflectance spectrum (i.e., color of the surface)Reflectance spectrum (i.e., color of the surface)

• Subsurface reflectanceSubsurface reflectance

• Geometric attributesGeometric attributes

– PositionPosition

– OrientationOrientation

– Micro-structureMicro-structure

Surface propertiesSurface properties

• Reflectance spectrum (i.e., color of the surface)Reflectance spectrum (i.e., color of the surface)

• Subsurface reflectanceSubsurface reflectance

• Geometric attributesGeometric attributes

– PositionPosition

– OrientationOrientation

– Micro-structureMicro-structure

Simplifications for Interactive Graphics

• Only Only directdirect illuminationillumination from emitters to surfaces from emitters to surfaces

• Simplify geometry of emitters to trivial casesSimplify geometry of emitters to trivial cases

• Only Only directdirect illuminationillumination from emitters to surfaces from emitters to surfaces

• Simplify geometry of emitters to trivial casesSimplify geometry of emitters to trivial cases

Ambient Light SourcesObjects not directly lit are typically still visibleObjects not directly lit are typically still visible

• e.g., the ceiling in this room, undersides of deskse.g., the ceiling in this room, undersides of desks

This is the result of This is the result of indirect illuminationindirect illumination from emitters, bouncing from emitters, bouncing off intermediate surfacesoff intermediate surfaces

Too expensive to calculate (in real time), so we use a hack called Too expensive to calculate (in real time), so we use a hack called an an ambient light sourceambient light source

• No spatial or directional characteristics; illuminates all surfaces equallyNo spatial or directional characteristics; illuminates all surfaces equally

• Amount reflected depends on surface propertiesAmount reflected depends on surface properties

Objects not directly lit are typically still visibleObjects not directly lit are typically still visible

• e.g., the ceiling in this room, undersides of deskse.g., the ceiling in this room, undersides of desks

This is the result of This is the result of indirect illuminationindirect illumination from emitters, bouncing from emitters, bouncing off intermediate surfacesoff intermediate surfaces

Too expensive to calculate (in real time), so we use a hack called Too expensive to calculate (in real time), so we use a hack called an an ambient light sourceambient light source

• No spatial or directional characteristics; illuminates all surfaces equallyNo spatial or directional characteristics; illuminates all surfaces equally

• Amount reflected depends on surface propertiesAmount reflected depends on surface properties

Ambient Light Sources

For each sampled wavelength (R, G, B), the For each sampled wavelength (R, G, B), the ambient light reflected from a surface depends onambient light reflected from a surface depends on

• The surface properties,The surface properties, kkambientambient

• The intensity, The intensity, IIambient,ambient, of the ambient light source (constant for of the ambient light source (constant for

all points on all surfaces )all points on all surfaces )

IIreflectedreflected = k = kambient ambient IIambientambient

For each sampled wavelength (R, G, B), the For each sampled wavelength (R, G, B), the ambient light reflected from a surface depends onambient light reflected from a surface depends on

• The surface properties,The surface properties, kkambientambient

• The intensity, The intensity, IIambient,ambient, of the ambient light source (constant for of the ambient light source (constant for

all points on all surfaces )all points on all surfaces )

IIreflectedreflected = k = kambient ambient IIambientambient

Ambient Light Sources

A scene lit only with an ambient light source:A scene lit only with an ambient light source:A scene lit only with an ambient light source:A scene lit only with an ambient light source:

Light PositionNot Important

Viewer PositionNot Important

Surface AngleNot Important

Directional Light Sources

For a For a directional light sourcedirectional light source we make simplifying we make simplifying assumptionsassumptions

• Direction is constant for all surfaces in the sceneDirection is constant for all surfaces in the scene

• All rays of light from the source are parallelAll rays of light from the source are parallel

– As if the source were infinitely far away As if the source were infinitely far away from the surfaces in the scenefrom the surfaces in the scene

– A good approximation to sunlightA good approximation to sunlight

The direction from a surface to the light source is The direction from a surface to the light source is important in lighting the surfaceimportant in lighting the surface

For a For a directional light sourcedirectional light source we make simplifying we make simplifying assumptionsassumptions

• Direction is constant for all surfaces in the sceneDirection is constant for all surfaces in the scene

• All rays of light from the source are parallelAll rays of light from the source are parallel

– As if the source were infinitely far away As if the source were infinitely far away from the surfaces in the scenefrom the surfaces in the scene

– A good approximation to sunlightA good approximation to sunlight

The direction from a surface to the light source is The direction from a surface to the light source is important in lighting the surfaceimportant in lighting the surface

Directional Light Sources

The same scene lit with a directional and an The same scene lit with a directional and an ambient light sourceambient light sourceThe same scene lit with a directional and an The same scene lit with a directional and an ambient light sourceambient light source

Light PositionNot Important

Viewer PositionNot Important

Surface AngleImportant

Point Light Sources

A A point light sourcepoint light source emits light equally in all emits light equally in all directions from a single point directions from a single point

The direction to the light from a point on a surface The direction to the light from a point on a surface thus differs for different points:thus differs for different points:

• So we need to calculate a So we need to calculate a normalized vector to the light normalized vector to the light source for every point we light:source for every point we light:

A A point light sourcepoint light source emits light equally in all emits light equally in all directions from a single point directions from a single point

The direction to the light from a point on a surface The direction to the light from a point on a surface thus differs for different points:thus differs for different points:

• So we need to calculate a So we need to calculate a normalized vector to the light normalized vector to the light source for every point we light:source for every point we light:

p

l

Point Light Sources

Using an ambient and a point light source:Using an ambient and a point light source:Using an ambient and a point light source:Using an ambient and a point light source:

Light PositionImportant

Viewer PositionImportant

Surface AngleImportant

Other Light Sources

SpotlightsSpotlights are point sources whose intensity falls are point sources whose intensity falls off directionally. off directionally.

• Requires color, pointRequires color, pointdirection, falloffdirection, falloffparametersparameters

• Supported by OpenGLSupported by OpenGL

SpotlightsSpotlights are point sources whose intensity falls are point sources whose intensity falls off directionally. off directionally.

• Requires color, pointRequires color, pointdirection, falloffdirection, falloffparametersparameters

• Supported by OpenGLSupported by OpenGL

Other Light Sources

Area light sourcesArea light sources define a 2-D emissive surface define a 2-D emissive surface (usually a disc or polygon)(usually a disc or polygon)

• Good example: fluorescent light panelsGood example: fluorescent light panels

• Capable of generating Capable of generating soft shadowssoft shadows ( (why?why? ))

Area light sourcesArea light sources define a 2-D emissive surface define a 2-D emissive surface (usually a disc or polygon)(usually a disc or polygon)

• Good example: fluorescent light panelsGood example: fluorescent light panels

• Capable of generating Capable of generating soft shadowssoft shadows ( (why?why? ))

Ideal diffuse reflectionIdeal diffuse reflection

• An An ideal diffuse reflectorideal diffuse reflector, at the microscopic level, is a very rough , at the microscopic level, is a very rough surface (real-world example: chalk) surface (real-world example: chalk)

• Because of these microscopic variations, an incoming ray of light is Because of these microscopic variations, an incoming ray of light is equally likely to be reflected in any direction over the hemisphere:equally likely to be reflected in any direction over the hemisphere:

• What does the reflected intensity depend on?What does the reflected intensity depend on?

Ideal diffuse reflectionIdeal diffuse reflection

• An An ideal diffuse reflectorideal diffuse reflector, at the microscopic level, is a very rough , at the microscopic level, is a very rough surface (real-world example: chalk) surface (real-world example: chalk)

• Because of these microscopic variations, an incoming ray of light is Because of these microscopic variations, an incoming ray of light is equally likely to be reflected in any direction over the hemisphere:equally likely to be reflected in any direction over the hemisphere:

• What does the reflected intensity depend on?What does the reflected intensity depend on?

The Physics of Reflection

Lambert’s Cosine Law

Ideal diffuse surfaces reflect according to Ideal diffuse surfaces reflect according to Lambert’s cosine lawLambert’s cosine law::

The energy reflected by a small portion of a surface from a light source in a The energy reflected by a small portion of a surface from a light source in a given direction is proportional to the cosine of the angle between that direction given direction is proportional to the cosine of the angle between that direction and the surface normaland the surface normal

These are often called These are often called Lambertian surfacesLambertian surfaces

Note that the Note that the reflectedreflected intensity is independent of intensity is independent of the the viewingviewing direction, but does depend on the direction, but does depend on the surface orientation with regard to the light sourcesurface orientation with regard to the light source

Ideal diffuse surfaces reflect according to Ideal diffuse surfaces reflect according to Lambert’s cosine lawLambert’s cosine law::

The energy reflected by a small portion of a surface from a light source in a The energy reflected by a small portion of a surface from a light source in a given direction is proportional to the cosine of the angle between that direction given direction is proportional to the cosine of the angle between that direction and the surface normaland the surface normal

These are often called These are often called Lambertian surfacesLambertian surfaces

Note that the Note that the reflectedreflected intensity is independent of intensity is independent of the the viewingviewing direction, but does depend on the direction, but does depend on the surface orientation with regard to the light sourcesurface orientation with regard to the light source

Lambert’s Law

Computing Diffuse ReflectionThe angle between the surface normal and the The angle between the surface normal and the incoming light is the incoming light is the angle of incidence:angle of incidence:

IIdiffusediffuse = k = kdd I Ilightlight cos cos

In practice we use vector arithmetic:In practice we use vector arithmetic:

IIdiffusediffuse = k = kdd I Ilightlight ( (n • ln • l))

The angle between the surface normal and the The angle between the surface normal and the incoming light is the incoming light is the angle of incidence:angle of incidence:

IIdiffusediffuse = k = kdd I Ilightlight cos cos

In practice we use vector arithmetic:In practice we use vector arithmetic:

IIdiffusediffuse = k = kdd I Ilightlight ( (n • ln • l))

nl

Diffuse Lighting Examples

We need only consider angles from 0° to 90° We need only consider angles from 0° to 90° ((Why?Why?))

A Lambertian sphere seen at several different A Lambertian sphere seen at several different lighting angles:lighting angles:

We need only consider angles from 0° to 90° We need only consider angles from 0° to 90° ((Why?Why?))

A Lambertian sphere seen at several different A Lambertian sphere seen at several different lighting angles:lighting angles:

Specular Reflection

Shiny surfaces exhibit Shiny surfaces exhibit specular reflectionspecular reflection

• Polished metalPolished metal

• Glossy car finishGlossy car finish

A light shining on a specular surface causes a bright spot A light shining on a specular surface causes a bright spot known as a known as a specular highlightspecular highlight

Where these highlights appear is a function of the viewer’s Where these highlights appear is a function of the viewer’s position, so specular reflectance is view dependentposition, so specular reflectance is view dependent

Shiny surfaces exhibit Shiny surfaces exhibit specular reflectionspecular reflection

• Polished metalPolished metal

• Glossy car finishGlossy car finish

A light shining on a specular surface causes a bright spot A light shining on a specular surface causes a bright spot known as a known as a specular highlightspecular highlight

Where these highlights appear is a function of the viewer’s Where these highlights appear is a function of the viewer’s position, so specular reflectance is view dependentposition, so specular reflectance is view dependent

The Physics of Reflection

At the microscopic level a specular reflecting At the microscopic level a specular reflecting surface is very smoothsurface is very smooth

Thus rays of light are likely to bounce off the Thus rays of light are likely to bounce off the microgeometry in a mirror-like fashionmicrogeometry in a mirror-like fashion

The smoother the surface, the closer it becomes The smoother the surface, the closer it becomes to a perfect mirrorto a perfect mirror

At the microscopic level a specular reflecting At the microscopic level a specular reflecting surface is very smoothsurface is very smooth

Thus rays of light are likely to bounce off the Thus rays of light are likely to bounce off the microgeometry in a mirror-like fashionmicrogeometry in a mirror-like fashion

The smoother the surface, the closer it becomes The smoother the surface, the closer it becomes to a perfect mirrorto a perfect mirror

The Optics of Reflection

Reflection follows Reflection follows Snell’s Laws:Snell’s Laws:

• The incoming ray and reflected ray lie in a plane with the The incoming ray and reflected ray lie in a plane with the surface normalsurface normal

• The angle that the reflected ray forms with the surface The angle that the reflected ray forms with the surface normal equals the angle formed by the incoming ray and the normal equals the angle formed by the incoming ray and the surface normal:surface normal:

Reflection follows Reflection follows Snell’s Laws:Snell’s Laws:

• The incoming ray and reflected ray lie in a plane with the The incoming ray and reflected ray lie in a plane with the surface normalsurface normal

• The angle that the reflected ray forms with the surface The angle that the reflected ray forms with the surface normal equals the angle formed by the incoming ray and the normal equals the angle formed by the incoming ray and the surface normal:surface normal:

(l)ight = (r)eflection

Non-Ideal Specular Reflectance

Snell’s law applies to perfect mirror-like surfaces, but aside Snell’s law applies to perfect mirror-like surfaces, but aside from mirrors (and chrome) few surfaces exhibit perfect from mirrors (and chrome) few surfaces exhibit perfect specularityspecularity

How can we capture the “softer” How can we capture the “softer” reflections of surface that are glossy reflections of surface that are glossy rather than mirror-like?rather than mirror-like?

One option: model the microgeometry of the surface and One option: model the microgeometry of the surface and explicitly bounce rays off of itexplicitly bounce rays off of it

Or… Or…

Snell’s law applies to perfect mirror-like surfaces, but aside Snell’s law applies to perfect mirror-like surfaces, but aside from mirrors (and chrome) few surfaces exhibit perfect from mirrors (and chrome) few surfaces exhibit perfect specularityspecularity

How can we capture the “softer” How can we capture the “softer” reflections of surface that are glossy reflections of surface that are glossy rather than mirror-like?rather than mirror-like?

One option: model the microgeometry of the surface and One option: model the microgeometry of the surface and explicitly bounce rays off of itexplicitly bounce rays off of it

Or… Or…

Non-Ideal Specular Reflectance: An Empirical Approximation

In general, we expect most reflected light to travel in In general, we expect most reflected light to travel in direction predicted by Snell’s Lawdirection predicted by Snell’s Law

But because of microscopic surface variations, some But because of microscopic surface variations, some light may be reflected in a direction slightly off the ideal light may be reflected in a direction slightly off the ideal reflected rayreflected ray

As the angle from the ideal reflected ray increases, we As the angle from the ideal reflected ray increases, we expect less light to be reflectedexpect less light to be reflected

In general, we expect most reflected light to travel in In general, we expect most reflected light to travel in direction predicted by Snell’s Lawdirection predicted by Snell’s Law

But because of microscopic surface variations, some But because of microscopic surface variations, some light may be reflected in a direction slightly off the ideal light may be reflected in a direction slightly off the ideal reflected rayreflected ray

As the angle from the ideal reflected ray increases, we As the angle from the ideal reflected ray increases, we expect less light to be reflectedexpect less light to be reflected

Non-Ideal Specular Reflectance: An Empirical Approximation

An illustration of this angular falloff:An illustration of this angular falloff:

How might we model this falloff?How might we model this falloff?

An illustration of this angular falloff:An illustration of this angular falloff:

How might we model this falloff?How might we model this falloff?

Phong Lighting

The most common lighting model in computer graphics The most common lighting model in computer graphics was suggested by Phong:was suggested by Phong:The most common lighting model in computer graphics The most common lighting model in computer graphics was suggested by Phong:was suggested by Phong:

shinynlightsspecular IkI cos

The The nnshinyshiny term is a purelyterm is a purely

empirical constant that empirical constant that varies the rate of falloffvaries the rate of falloff

Though this model has no Though this model has no physical basis, it works physical basis, it works (sort of) in practice(sort of) in practice

v

Phong Lighting: The nshiny Term

This diagram shows how the Phong reflectance term drops This diagram shows how the Phong reflectance term drops off with divergence of the viewing angle from the ideal off with divergence of the viewing angle from the ideal reflected ray:reflected ray:

What does this term control, visually?What does this term control, visually?

This diagram shows how the Phong reflectance term drops This diagram shows how the Phong reflectance term drops off with divergence of the viewing angle from the ideal off with divergence of the viewing angle from the ideal reflected ray:reflected ray:

What does this term control, visually?What does this term control, visually?

Viewing angle – reflected angle

Calculating Phong Lighting

The The coscos term of Phong lighting can be computed using term of Phong lighting can be computed using vector arithmetic:vector arithmetic:

• VV is the unit vector towards the viewer is the unit vector towards the viewer

• RR is the ideal reflectance directionis the ideal reflectance direction

An aside: we can efficiently calculate r?An aside: we can efficiently calculate r?

The The coscos term of Phong lighting can be computed using term of Phong lighting can be computed using vector arithmetic:vector arithmetic:

• VV is the unit vector towards the viewer is the unit vector towards the viewer

• RR is the ideal reflectance directionis the ideal reflectance direction

An aside: we can efficiently calculate r?An aside: we can efficiently calculate r?

shinynlightsspecular rvIkI

lnlnr 2

v

Calculating The R Vector

This is illustrated below:This is illustrated below:This is illustrated below:This is illustrated below:

nlnlr 2

lnlnr 2

Phong Examples

These spheres illustrate the Phong model as These spheres illustrate the Phong model as ll and and nnshinyshiny are varied: are varied:These spheres illustrate the Phong model as These spheres illustrate the Phong model as ll and and nnshinyshiny are varied: are varied:

The Phong Lighting Model

Let’s combine ambient, diffuse, and specular Let’s combine ambient, diffuse, and specular components:components:

Commonly called Commonly called Phong lightingPhong lighting

• Note: once per lightNote: once per light

• Note: once per color componentNote: once per color component

• Do Do kkaa, , kkdd, and , and kkss vary with color component? vary with color component?

Let’s combine ambient, diffuse, and specular Let’s combine ambient, diffuse, and specular components:components:

Commonly called Commonly called Phong lightingPhong lighting

• Note: once per lightNote: once per light

• Note: once per color componentNote: once per color component

• Do Do kkaa, , kkdd, and , and kkss vary with color component? vary with color component?

lights

i

nisidiambientatotal

shinyrvklnkIIkI#

1

Phong Lighting: Intensity Plots

Lighting Review

Lighting ModelsLighting Models• Ambient Ambient

– Normals don’t matterNormals don’t matter

• Lambert/Diffuse Lambert/Diffuse

– Angle between surface normal and lightAngle between surface normal and light

• Phong/Specular Phong/Specular

– Surface normal, light, and viewpointSurface normal, light, and viewpoint

Next Class, Shading Models…Next Class, Shading Models…

Lighting ModelsLighting Models• Ambient Ambient

– Normals don’t matterNormals don’t matter

• Lambert/Diffuse Lambert/Diffuse

– Angle between surface normal and lightAngle between surface normal and light

• Phong/Specular Phong/Specular

– Surface normal, light, and viewpointSurface normal, light, and viewpoint

Next Class, Shading Models…Next Class, Shading Models…