cs 354 lighting

Post on 24-Jan-2018

2.362 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CS 354Lighting

Mark KilgardUniversity of TexasFebruary 28, 2012

CS 354 2

Today’s material

In-class quiz Lecture topics

Lighting surfaces Course work

Homework Turn in Homework #3 today Homework #4 to be assigned next class, due March 6th

Reading Chapter 7, 388-403 on Programmable Shading

Project #2 on texturing, shading, & lighting is coming Will be due after Spring Break

Remember: Midterm in-class on March 8

CS 354 3

My Office Hours

Tuesday, before class Painter (PAI) 5.35 8:45 a.m. to 9:15

Thursday, after class ACE 6.302 11:00 a.m. to 12:00

CS 354 4

Last time, this time

Last lecture, we discussed Texture mapping What’s involved in a texel fetch operation?

This lecture How do we simulate how light interacts with

visible surfaces in computer graphics?

CS 354 5

Daily Quiz

1. How many texture coordinate components are used to access a cube map?

2. In conventional texture mapping, elements of the texture (texels) store color values. What is stored in the texel values for shadow mapping?

If bilinear filtering involves interpolating between 4 texel samples, mipmap bilinear filtering involves filtering how many texels?

Multiple choice: The interval between the Texel Selection and Texel Combinations stages of a texture fetch is meant to hide what?

a) texture seamsb) memory latencyc) cache hitsd) filtering artifactse) all of the above

On a sheet of paper• Write your EID, name, and date• Write #1, #2, #3, #4 followed by its answer

CS 354 6

What makes an apple red?

speculardiffuse

ambient

Child’s view:“an apple is red”

Image synthesis view:

“light, surface, and material interact to reflect light perceived as color, modeled via simplifying assumptions”

CS 354 7

Complex Realistic Lighting

iray

OptiX

CS 354 8

Why lighting?

Convey sense of surfaceroughness/smoothness

Convey sense of material Visual appearance

of plastic is differentthan copper or ebony

Realism Emotion

Teapots rendered

with different material parameters

CS 354 9

Light Scatters

Light strikes A Some scattered Some absorbed

Some of scattered light strikes B Some scattered Some absorbed

Some of this scattered light strikes Aand so on Inherently recursive Massively parallel Points to the ray tracing methodology for rendering

CS 354 10

Global Lighting Effects

translucent surface

shadow

multiple reflection

Common interactive graphicsrendering assumption: only model local lighting effects

CS 354 11

Rendering Equation

Theory for light-surface interactions

ωωλωλωωλωλω ′•′−′′+= ∫Ω

dtLtftLtL ireo )(),,,(),,,,(),,,(),,,( nxxxx

CS 354 12

Rendering Equation Parts

Lo = outgoing light from x in direction ω

x = point on a surface ω = normalized outgoing light vector λ = wavelength of light t = time Le = emitted light at x going towards from ω

n = surface normal at x

ωωλωλωωλωλω ′•′−′′+= ∫Ω

dtLtftLtL ireo )(),,,(),,,,(),,,(),,,( nxxxx

CS 354 13

Rendering Equation Integral

∫ = integrate over a region Ω = region of a hemisphere

Together: “integrate overall the incoming directions for a hemisphere at a point x”

ωˊ = normalized outgoing light vector Li = incoming light at x coming from ωˊ n = surface normal at x (-ωˊ • n) = cosine of angle between incoming

light and surface normal dωˊ = differential of incoming angle

CS 354 14

Bidirectional Reflectance Distribution Function

Ratio of differential outgoing (reflected) radiance to differential incoming irradiance

Physically based BRDF properties Must be non-negative Must be reciprocal

Swap incoming & relected directions generates same ratio

Conserves energy Integrating over entire hemisphere must be ≤ 1

ωωλωλω

λωλωλωω

′•′−′=

′=′

dtdL

tdL

tdE

tdLtf

i

r

i

rr )(),,,(

),,,(

),,,(

),,,(),,,,(

nx

x

x

xx

L = radiance

E = irradiance

CS 354 15

Cosine Weighting for Irradiance

At shallow angles, incoming light spreads over a wider area of the surface Thus spreading the energy Thus dimming the received light

CS 354 16

Measuring BRDFs Empirically

Gonioreflectometer is device to measure BRDFs

CS 354 17

Rendering Equation Interpretation

Recursive equation

Limitations Treats wavelengths all independent Treats time in Newtonian way Ignores volumetric and subsurface scattering More complex models can incorporate these aspects of light Impractical for actual computer graphics rendering

ωωλωλωωλωλω ′•′−′′+= ∫Ω

dtLtftLtL ireo )(),,,(),,,,(),,,(),,,( nxxxx

outgoing light “sums up” all incoming light

for all surfaces

CS 354 18

Light Sources

Real lights have “emissive regions” Simplifying assumption treats lights as points

Model area lights source as “lots of points”

Lights have color and attenuation Fall-off, spotlight, and shadow attenuation

CS 354 19

Area Light Source Modeled as Many Points

12 point light sources model an area light

CS 354 20

Light Attenuation

Energy of light in watts But energy received over a distance surface falls off

with the inverse square of the distance from the light

Steradian (st) is measure of solid angle

CS 354 21

Simple Light Source Types

Positional (point) light sources (x,y,z,1)

Directional (infinite) light sources Represented with

homogeneous corodinates

(x,y,z,0)

Spot light Directional lighting Often a cone or cone

with fall-off function

Linear light sources Ambient light

Useful as an error term

Directional light operates as if at infinity

Rays are essentially parallel—sun would be such a light

CS 354 22

Surface Types

Smooth surfaces reflect like mirrors Rough surfaces scatter light Real surfaces act as mixture of both

Smooth reflectivesurface

Rough diffusesurface

CS 354 23

Emissive Light Certain objects emit light

Various reasons: incandesce, burning, fluorescence, phosphorescence

Typically models as a emissive color

CS 354 24

Types of Reflected Light

Mirror reflection Ideal reflection Reflection Law

Diffuse reflection Matte, flat finish Lambert’s Law

Specular Highlights and gloss Micro-facet model

Phonglighting

Lambertianlighting

Blinnlighting

CS 354 25

Mirror: Law of Reflection

Angle of incidence = angle of reflection

Planar reflectanceSpherical reflectance

CS 354 26

Lambert’s Law, orDiffuse Illumination

Surface normal pointsout from surface

Light source

L

diffuse

θcos

)ˆˆ,0max(

=•= LN

CS 354 27

Micro-facet Specular

Think of the surface as have a statistical distribution of facet orientations OpenGL’s fixed-

function specular model

CS 354 28

Shininess

Modeled as exponential fall-off function Larger shininess exponent

values means a tighter specular highlight

Complement of shininess is roughness

Exponential fall-off also use to model Spotlight attenuation Fog effects

CS 354 29

CombiningLighting Contributions

Contributions can be summed Since RGB color components are additive Illumination color modulated by material color

Ambient Diffuse Specular Result

CS 354 30

Summing Multiple Lights

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

I = kd ld l · n + ks Is (v · r )α + ka Ia

I = kd ld l · n + ks Is (h · n )α + ka Ia

For each color component, we add contributions from all sources

Blinn

Phong

CS 354 31

Multiple Animated Lights

CS 354 32

Surface Normal

Surface normal = cross product of surface gradients

vF

uF

T

T

vuFzyx

∂∂

∂∂

===

2

1

),(),,(

CS 354 33

Example: Normals for a Sphere

Parameterize sphere with latitude and longitude

Problem: What happens at the poles?

When θ is +90 or -90 degrees

CS 354 34

Transforming Normals

Recall: vertex and vector transformation Multiply transform matrix by column vector v’ = M v

How to transforming normals correctly Desire: n’ • v’ = n • v = nT v

Rationale: dot product should be invariant under coordinate space transformation

I = M-1 M nT I v = nT M-1 M v n’ = nT M-1, v’ = M v n’ = M-T n

Implication: column normal transformed by inverse transpose of transform matrix used for vectors

Flattening sphere bends normals up

CS 354 35

Frequency of Lighting Computations

Per-vertex Per-fragment

Specular highlight “wobbles”

under animation

Specular highlight has

stable structure

CS 354 36

Fixed-function OpenGLPer-vertex Lighting

OpenGL API includes lighting model Operates at the per-vertex level Implements a Blinn-Phong lighting model

Example usage glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0, GL_POSITION, position); glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); glLightfv(GL_LIGHT0, GL_SPECULAR, specular);

Relies on Per-vertex normal value sent with glNormal3f And per-vertex material properties sent with glMaterialfv

CS 354 37

OpenGL Light Parameters Per-light state set with glLightfv command

Scalar float

Scalar float

Scalar float

Angle in degrees

Non-negative scalar exponent

Direction vector, 3 floats

Homogeneous position, 4 floats

RGBA, 4 floats

RGBA, 4 floats

RGBA, 4 floats

Type

0Inverse quadratic attenuation

GL_QUADRATIC_ATTENUATION

0Inverse linear attenuationGL_LINEAR_ATTENUATION

1Light attenuation inverse constant

GL_CONSTANT_ATTENUATION

180, uniform distributionAngle of spot light cut offGL_SPOT_CUTOFF

0Spot light exponential fall-off

GL_SPOT_EXPONENT

(0,0,-1)Spot light directionGL_SPOT_DIRECTION

(0,0,1,0), +Z axis directionLight locationGL_POSITION

(1,1,1,1) for light 0, (0,0,0,1) for other lights

Specular light colorGL_SPECULAR

(1,1,1,1) for light 0, (0,0,0,1) for other lights

Diffuse light colorGL_DIFFUSE

(0,0,0,1)Ambient light colorGL_AMBIENT

Initial ValueMeaningToken Name

CS 354 38

OpenGL Material Parameters Per-light state set with glLightfv command

Surface has GL_FRONT and GL_BACK versions of these materials

For two-sided lighting, depending on how polygon faces

Scalar float

RGBA, 4 floats

RGBA, 4 floats

RGBA, 4 floats

RGBA, 4 floats

Type

0Specular exponent of

material

GL_SHININESS

(0, 0, 0, 1)Emissive material colorGL_EMISSION

(0, 0, 0, 1)Specular material colorGL_SPECULAR

(0.8, 0.8, 0.8, 1)Diffuse material colorGL_DIFFUSE

(0.2, 0.2, 0.2, 1)Ambient material colorGL_AMBIENT

Initial ValueMeaningToken Name

CS 354 39

OpenGL Fixed-functionLighting Equation

emissive

global ambient

for each lightsource

surfaceresultcolor

per-light ambient

diffuse specular

diffuse squashesspecular

CS 354 40

OpenGL Lighting Equation Terms

half-angle

distanceattenuation

spotlightattenuation

infinite viewerassumption

local viewerassumption

inverse square fall-off

CS 354 41

Displacement and Bump Mapping

Use surface offsets stored in texture Perturb or displace the surface Shade on the resulting surface normals

CS 354 42

Normal Mapping Bump mapping via a normal map texture

Instead of a height field The normal map is generated from the height field

×× ++diffusediffuse decaldecal specularspecular

==

CS 354 43

Combination of Normal MapLighting + Texturing

×× ××) + () + ((( ) =) =

DiffuseDiffuse GlossGlossSpecularSpecularDecalDecal

Final result!Final result!

CS 354 44

Environment Mapping asOmni-directional Lighting

Access textureAccess textureby surface reflectionby surface reflectionvectorvector

CS 354 45

Other Fancy Lighting Effects

Caustic patterns

Light is “focused” as it

refracts through interfaces

Diffraction

Small slits act as a diffraction

grating, separating wavelengths

CS 354 46

Subsurface Scattering Light bounces around within an object

Translucency

CS 354 47

Paths of Scattered Photons Trace photons statistically as they bounce and eventually

exit the material

CS 354 48

Accurate Skin Needs to Model Subsurface Scattering

Skin with subsurface scattering

Looks natural

Without

Looks lifeless

Credit: Stephen Stahlberg

CS 354 49

Take Away Information

Rendering equation Good theory for modeling realistic lighting Basis for approximation

Interactive computer graphics typically uses a local lighting model Simple but effective Models lighting as ambient, diffuse, and specular

interactions

Lighting can be implemented in programmable shaders At either the per-vertex or per-fragment level

CS 354 50

Next Lecture

Programmable shading Combine texture, lighting, and shading under application control

In a high-level language

As usual, expect a short quiz on today’s lecture

Assignments Be sure to schedule your Project 1 demos with Randy Reading

Chapter 7, 388-403 on Programmable Shading Homework #4 to be assigned next class, due March 6th

Project #2 coming soon Will be due after Spring Break

Remember: Midterm in-class on March 8

CS 354 51

Credits and Appreciation

Some images from Dr. Pat Hanrahan, Stanford University Ed Angel & David Shriner, textbook Stephen Stahlberg Christian Miller, UT CS

top related