Lighting

1 / 33

# Lighting - PowerPoint PPT Presentation

Lighting. What is Light?. A very complex process Find a dark area – how is it being lit? Light bounces (mirrors, shiny objects) Light refracts through other media (water, heat) Light comes from everywhere (Global Illumination) Light bounces off of lakes in weird ways (Fresnel effect)

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Lighting' - tarmon

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Lighting

Jeff Chastine

What is Light?
• A very complex process
• Find a dark area – how is it being lit?
• Light bounces (mirrors, shiny objects)
• Light refracts through other media (water, heat)
• Light comes from everywhere (Global Illumination)
• Light bounces off of lakes in weird ways (Fresnel effect)
• THUS
• We’re forced to make approximations
• Tradeoff between time and realism
• “If it looks good, it is good” – Michael Abrash

http://en.wikipedia.org/wiki/File:Global_illumination.JPG

http://darrentakenaga.com/3d.html

Jeff Chastine

A Basic Lighting Concept
• How can we determine how much light should be cast onto a triangle from a directional light?

Directional light - position doesn’t matter

- triangle is almost fully lit

P0

P1

P2

Jeff Chastine

A Basic Lighting Concept
• How can we determine how much light should be cast onto a triangle from a directional light?

P0

(Triangle less lit)

P1

P2

Jeff Chastine

A Basic Lighting Concept
• How can we determine how much light should be cast onto a triangle from a directional light?

P0

P1

P2

(Little to no light hits the surface)

Jeff Chastine

A Basic Lighting Concept
• How can we determine how much light should be cast onto a triangle from a directional light?

P0

(Directional light)

P1

P2

Jeff Chastine

A Basic Lighting Concept
• How can we determine how much light should be cast onto a triangle from a directional light?

P0

(Directional light)

P1

P2

Jeff Chastine

A Basic Lighting Concept
• How can we determine how much light should be cast onto a triangle from a directional light?

Lesson learned: Lighting depends on angles between vectors!

P0

(Directional light)

P1

P2

Jeff Chastine

A Basic Lighting Concept
• How can we determine how much light should be cast onto a triangle from a directional light?

P0

(Directional light)

P1

P2

Assuming N and L are normalized, and N∙L isn’t negative

Jeff Chastine

Basic Lighting
• Four independent components:
• Diffuse – the way light “falls off” of an object
• Specular – the “shininess” of the object
• Ambient – a minimum amount of light used to simulate “global illumination”
• Emit – a “glowing” effect

Only diffuse

Jeff Chastine

Basic Lighting
• Four independent components:
• Diffuse – the way light “falls off” of an object
• Specular – the “shininess” of the object
• Ambient – a minimum amount of light used to simulate “global illumination”
• Emit – a “glowing” effect

Diffuse+Specular

Jeff Chastine

Basic Lighting
• Four independent components:
• Diffuse – the way light “falls off” of an object
• Specular – the “shininess” of the object
• Ambient – a minimum amount of light used to simulate “global illumination”
• Emit – a “glowing” effect

Diffuse+Specular+Ambient

Ambient

Jeff Chastine

Basic Lighting
• Four independent components:
• Diffuse – the way light “falls off” of an object
• Specular – the “shininess” of the object
• Ambient – a minimum amount of light used to simulate “global illumination”
• Emit – a “glowing” effect

D+S+A+Emit

Note: emit does not produce light!

Jeff Chastine

Interaction between Material and Lights
• Final color of an object is comprised of many things:
• The base object color (called a “material”)
• The light color
• Example: a purple light on a white surface
• Any textures we apply (later)
• Materials and lights have four individual components
• Diffuse color (cdand ld)
• Specular color (csand ls)
• Ambient color (caand la)
• Emit color (ceand le)
• cd* ld = [cd.r*ld.r, cd.g*ld.g, cd.b*ld.b] // R, G, B

Jeff Chastine

General Lighting
• Primary vectors
• l – the incoming light vector
• n – the normal of the plane/vertex
• r – the reflection vector
• v – the viewpoint (camera)

v

n

l

r

θ

θ

Jeff Chastine

LambertianReFlectance(diffuse Component)
• Light falling on an object is the same regardless of the observer’s viewpoint
• Good for rough surfaces without specular highlights
• where and are normalized

n

l

θ

Jeff Chastine

LambertianReFlectance(diffuse Component)
• Light falling on an object is the same regardless of the observer’s viewpoint
• Good for rough surfaces without specular highlights
• where and are normalized

3 parts (R, G, B)

scalar

n

l

θ

Note: final_colordiffusehas R, G, B

Jeff Chastine

LambertianReFlectance(diffuse Component)
• Technically, it should be:

n

l

θ

Jeff Chastine

BLINN-PHONG Reflection(Specular Component)
• Describes the specular highlight and is dependent on viewpoint v
• Also describes a “half-vector” h that is halfway between v and l

h

v

n

r

l

θ

θ

Jeff Chastine

BLINN-PHONG Reflection(Specular Component)
• - which is really Blinn’s contribution to the original Phong model

h

v

n

r

l

θ

θ

Note: vectors should be normalized

Jeff Chastine

BLINN-PHONG Reflection(Specular Component)
• Our final specular equation is:

h

v

n

r

l

θ

θ

Jeff Chastine

Determining
• Realize that will always be < 1.0, so raising it to a power will make it smaller
• is the “shininess” factor
• It relates to the size of the specular highlight

s = ~1

s = ~30

s = ~255

Jeff Chastine

Ambient and Emit Components
• Ambient:
• Used to simulate light bouncing around the environment (global illumination)
• Real world is far too complex for real time, so just add a little light!
• Emit:
• Used to make the object “glow”
• Does not emit light!!!
• Both:
• Independent of viewpoint
• Super easy to calculate

Jeff Chastine

Final Color
• To determine the final color (excluding textures) we sum up all components:

final_colordiffuse

final_colorspecular

final_colorambient

final_coloremit

final_color

+

http://en.wikipedia.org/wiki/Phong_reflection_model

Jeff Chastine

• Calculate final colors and sum them all together
• Assuming results are in f [ ] and there are count number of lights

Jeff Chastine

Common Kinds of Lights
• Point light
• Directional Light
• Spot Light
• Area Light
• Interesting fact:
• Lights cannot be seen!
• Only their effects
• We can light per vertex (fast) or per fragment (slower)

Jeff Chastine

Point Lights
• These lights have a position in 3D space
• Sometimes called a “Lamp”
• Light emanates from the light in all directions
• Distance d determines brightness (“attenuation”):

Here, per fragment lighting used

Jeff Chastine

Point Lights
• These lights have a position in 3D space
• Sometimes called a “Lamp”
• Light emanates from the light in all directions
• Distance d determines brightness (“attenuation”):

Here, per vertex lighting used

Jeff Chastine

Directional Lights
• Are infinitely far away
• position in NO WAY matters
• Have only direction
• All objects are lit evenly
• Sometimes called a “Sun”

Jeff Chastine

Spotlights
• Point light source
• Conical in shape

Jeff Chastine

Spotlights
• Point light source
• Conical in shape
• Have:
• An inner and outer cone angle
• Umbra – areas that are fully in shadow
• Penumbra – areas that are in partial shadow
• Note: There’s an ambient light

Jeff Chastine

Area Lights
• A “surface” lights objects
• Has a position and direction
• Provides for a smoother drop off than point
• Larger surface == smoother shadows
• Expensive to calculate

Jeff Chastine