Nothing Special   »   [go: up one dir, main page]

Lighting and Shading

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Lighting and Shading

Properties of Light
Light Sources
Phong Illumination Model
Normal Vectors
[Angel, Ch. 6.1-6.4]

Announcements
• Written assignment #1 due Thursday
– Handin at beginning of class
• Programming assignment #2 out Thursday

1
The Rendering Equation
• (Angel, Ch 13)

Outline
• Lighting models (OpenGL oriented)
• Reflection models (Phong shading)
• Normals
• Color

2
Common Types of Light Sources
• Ambient light: no identifiable source or direction
• Point source: given only by point
• Distant light: given only by direction
• Spotlight: from source in direction
– Cut-off angle defines a cone of light
– Attenuation function (brighter in center)
• Light source described by a luminance
– Each color is described separately
– I = [Ir Ig Ib]T (I for intensity)
– Sometimes calculate generically (applies to r, g, b)

Ambient Light
• Intensity is the same at all points
• This light does not have a direction (or .. it is
the same in all directions)

3
Point Source
• Given by a point p0
• Light emitted from that point equally in all
directions

• Intensity decreases with square of distance

One Limitation of Point Sources


• Shading and shadows inaccurate
• Example: penumbra (partial “soft” shadow)

4
Distant Light Source
• Given by a vector v
• Intensity does not vary with distance (all
distances are the same .. infinite!)

Spotlight
• Most complex light source in OpenGL
• Light still emanates from point
• Cut-off by cone determined by angle T

5
Spotlight Attenuation
• Spotlight is brightest along ls
• Vector v with angle I from p to point on surface
• Intensity determined by cos I
• Corresponds to projection of v onto Is
• Spotlight exponent e determines rate

for e = 1

for e > 1
curve narrows

For any of these light sources, it is


easy to compute illumination arriving
at a point (e.g., a vertex)

6
Now we can think about how the
incoming light is reflected by a surface

Surface Reflection
• When light hits an opaque surface some is absorbed, the rest is
reflected (some can be transmitted too--but never mind for now)
• The reflected light is what we see
• Reflection is not simple and varies with material
– the surface’s micro structure define the details of reflection
– variations produce anything from bright specular reflection
(mirrors) to dull matte finish (chalk)

Incident Light Camera


Reflected Light

Surface

7
Phong Illumination Model
• Calculate color for arbitrary point on surface
• Basic inputs are material properties and l, n, v:

l = vector to light source


n = surface normal
v = vector to viewer
r = reflection of l at p
(determined by l and n)

Basic Calculation
• Calculate each primary color separately
• Start with global ambient light
• Add reflections from each light source
• Clamp to [0, 1]
• Reflection decomposed into
– Ambient reflection
– Diffuse reflection
– Specular reflection
• Based on ambient, diffuse, and specular
lighting and material properties

8
Ambient Reflection
• Intensity of ambient light uniform at every point
• Ambient reflection coefficient ka, 0 w ka w 1
• May be different for every surface and r,g,b
• Determines reflected fraction of ambient light
• La = ambient component of light source
• Ambient intensity Ia = ka La
• Note: La is not a physically meaningful quantity

Diffuse Reflection
• Diffuse reflector scatters light
• Assume equally all direction
• Called Lambertian surface
• Diffuse reflection coefficient kd, 0 w kd w 1
• Angle of incoming light still critical

9
Lambert’s Law
• Intensity depends on angle of incoming light
• Recall
l = unit vector to light
n = unit surface normal
T = angle to normal
• cos T = l d n
• Id = kn (l d n) Ld
• With attenuation:
q = distance to light source,
Ld = diffuse component of light

Specular Reflection
• Specular reflection coefficient ks, 0 w ks w 1
• Shiny surfaces have high specular coefficient
• Used to model specular highlights
• Do not get mirror effect (need other techniques)

specular reflection specular highlights

10
Shininess Coefficient
• Ls is specular component of light
• r is vector of perfect reflection of l about n
• v is vector to viewer
• I is angle between v and r
• Is = ks Ls cosD I
• D is shininess coefficient
• Compute cos I = r d v
• Requires |r| = |v| = 1
• Multiply distance term Higher D is narrower

Summary of Phong Model


• Light components for each color:
– Ambient (L_a), diffuse (L_d), specular (L_s)
• Material coefficients for each color:
– Ambient (k_a), diffuse (k_d), specular (k_s)
• Distance q for surface point from light source

l = vector from light r = l reflected about n


n = surface normal v = vector to viewer

11
Comparison of Phong model to the
rendering equation

Raytracing Example

Martin Moeck,
Siemens Lighting

12
Radiosity Example

Restaurant Interior. Guillermo Leal, Evolucion Visual

BRDF
• Bidirectional Reflection Distribution Function
• Measure for
materials
• Isotropic vs.
anisotropic
• Mathematically
complex

13
Accurate normal vectors are important
for modeling surface reflection

Normal Vectors
• Summarize Phong

• Surface normal n is critical


– Calculate l d n
– Calculate r and then r d v

• Must calculate and specify the normal vector


– Even in OpenGL!
• Two examples: plane and sphere

14
Normals of a Plane, Method I
• Method I: given by ax + by + cz + d = 0
• Let p0 be a known point on the plane
• Let p be an arbitrary point on the plane
• Recall: u d v = 0 iff u orthogonal v
• n d (p – p0) = nd p – nd p0 = 0
• We know that [a b c 0] Td p0 = -d (because p0
satisfies the plane equation)
• Consequently n0 must be [a b c 0]T
• Normalize to n = n0/|n0|

Normals of a Plane, Method II


• Method II: plane given by p0, p1, p2
• Points must not be collinear
• Recall: u e v orthogonal to u and v
• n0 = (p1 – p0) e (p2 – p0)
• Order of cross product determines orientation
• Normalize to n = n0/|n0|

15
Normals of Sphere
• Implicit Equation f(x, y, z) = x2 + y2 + z2 –1 = 0
• Vector form: f(p) = p d p – 1 = 0
• Normal given by gradient vector

• Normalize n0/|n0| = 2p/2 = p

Angle of Reflection
• Perfect reflection: angle of incident equals
angle of reflection
• Also: l, n, and r lie in the same plane
• Assume |l| = |n| = 1, guarantee |r| = 1

Solution: D = -1 and
E = 2 (l d n)

Perhaps easier geometrically

16
Summary: Normal Vectors
• Critical for Phong model (diffuse and specular)
• Must calculate accurately (even in OpenGL)
• Pitfalls
– Not unit length
– How to set at surface boundary?

Color .. Why RGB?

17
Physics of Light and Color
• It’s all electromagnetic (EM) radiation
– Different colors correspond to different wavelengths O
– Intensity of each wavelength specified by amplitude
– Frequency Q SO
• long wavelength is low frequency
• short wavelength is high frequency

We perceive EM
UDGLDWLRQZLWK LQWKH
400-700 nm range

Color: What’s There vs. What We See


• Human eyes respond to “visible light”
– tiny piece of spectrum between infra-red and ultraviolet
• Color defined by emission spectrum of light source
– amplitude vs wavelength (or frequency) plot

Amplitude

Wavelength O

UV Visible IR

18
The Eye

• The image is formed on the retina


• Retina contains two types of cells: rods and cones
• Cones measure color (red, green, blue)
• Rods responsible for monochrome night-vision

The Fovea

• Three types of cones: S,M,L


•Corresponds to 3 visual pigments
• Roughly speaking:
- S responds to blue
- M responds to green
- L responds to red
Cones are most densely • Note that these are not uniform
packed within a region of the - more sensitive to green than red
retina called the fovea • Colorblindness
- deficiency of one cone/pigment type

19
Color Filters
• Rods and cones can be thought of as filters
– Cones detect red, green or blue parts of spectrum
– Rods detect average intensity across spectrum
• To get the output of a filter
– Multiply its response curve by the spectrum, integrate over all wavelengths
• A physical spectrum is a complex function of wavelength
– But what we see can be described by just 3 numbers—the color filter outputs
– How can we encode a whole function with just 3 numbers?
• A: we can’t! We can’t distinguish certain colors--metamers
G R
Amplitude

Wavelength

Color Models
• Okay, so our visual system is quite limited
• But maybe this is good news. . .
• We can avoid computing and reproducing the full color
spectrum since people only have 3 color channels
–TV would be much more complex if we perceived the
full spectrum
• transmission would require much higher bandwidths
• display would require much more complex methods
–real-time color 3D graphics is feasible
–any scheme for describing color requires only three
values
–lots of different color spaces--related by 3x3 matrix
transformations

20
Color Spaces
• There are many ways to describe color
–Spectrum
• allows any radiation (visible or invisible) to be described
• usually unnecessary and impractical
–RGB
• convenient for display (CRT uses red, green, and blue
phosphors)
• not very intuitive
–HSV
• an intuitive color space
• H is hue - what color is it? S is saturation or purity - how non-
gray is it? V is value - how bright is it?
• H is cyclic therefore it is a non-linear transformation of RGB
–CIE XYZ
• a linear transform of RGB used by color scientists

HSV

From mathworks

B G V
G
R
R
B
G H
R B S

21
Additive vs. Subtractive Color
• Working with light: additive primaries
– Red, green and blue components are added by the superposition
property of electromagnetism
– Conceptually: start with black, primaries add light
• Working with pigments: subtractive primaries
– Typical inks (CMYK): cyan, magenta, yellow, black
– Conceptually: start with white, pigments filter out light
– The pigments remove parts of the spectrum
dye color absorbs reflects
cyan red blue and green
magenta green blue and red
yellow blue red and green
black all none

– Inks interact in nonlinear ways--makes converting from monitor


color to printer color a challenging problem
– Black ink (K) used to ensure a high quality black can be printed

The Meaning of “Color”


• What’s an image?
– Irradiance: each pixel measures the incident light at a point on the film
– Proportional to integral of scene radiance hitting that point

• What’s Color?
– Refers to radiance or irradiance measured at 3 wavelengths
– Scene color: radiance coming off of surface (for illumination)
– Image color: irradiance (for rendering)
– These quantities have different units and should not be confused

22
Units of Light and Color
Quantity Dimension Units .

solid angle solid angle [steradian]


a two-dimensional angle (proportional to area on a sphere)

power energy/time [watt]=[joule/sec]


photons per second; radiance integrated over incoming directions, over a finite area.

irradiance (intensity) power/area [watt/m2]


Brightness of light hitting the surface (or image) at this point (incident light)

radiance (intensity) power/(area*solid angle) [watt/(m2*steradian)]


Brightness of light reflected at this point along this direction (reflected light)

reflectance unitless [1]


what fraction of the light is reflected by a material? typically between 0 and 1.

Announcements
• Written assignment #1 due Thursday
– Handin at beginning of class
• Programming assignment #2 out Thursday

23
24

You might also like