Post on 21-Dec-2015
1
7M836 Animation & Rendering
Illumination models, light sources, reflection shading
Arjan Kok
a.j.f.kok@tue.nl
2
Graphics pipeline
Geometric model Viewing
Camera parameters
Light sources,materials
Shading
Visible surface determination
Rasterize
Raster display
3
Illumination
• Illumination model• Illumination (and therefore color) of point on surface is
determined by simulation of light in scene• Illumination model is approximation of real light
transport
• Shading method• determines for which points illumination is computed• determines how illumination for other points is
computed
4
Illumination models
• Model(s) needed for
• Emission of light
• Distribution of light in scene
• Desired model requirement
• Accurate
• Efficient to compute
5
Illumination models
• Local illumination
• Direct illumination
• Emission of light sources
• Scattering at surfaces
• Global illumination
• Shadows
• Refraction
• Interreflection
• (Ray tracing + Radiosity)
6
Light source
• IL (x, y, z, θ, φ, λ)
• Intensity of energy
• of light source L
• arriving at point (x, y, z)
• from direction (θ, φ)
• with wavelength λ
• Complex
• Simpler model needed
(x,y,z)
7
Point light source
• Emits light equally in all directions
• Parameters
• Intensity I0
• Position P (px,py,pz)
•
• Attenuation factor(kc, kl, kq) for distance (d) to light source
• 2
qlc
0L dkdkk
II
d
P
0L II
8
Point light source
9
Direction light source
• Emits light in one direction
• Can be regarded as point light source at infinity
• E.g. sun
• Parameters
• Intenslity I0
• Direction D (dx,dy,dz)
• IL = I0
D
10
Directional light source
11
Spot light source
• Point light source with direction
• E.g. Spot light
• Parameters
• Intensity I0
• Position P (px,py,pz)
• Direction D (dx,dy,dz)
• “Hotspot” angle θ
• Maximum angle φ
• Exponent e
d
PD
γθ
φ
12
Spot light source
• if γ ≤ θ
• if θ < γ ≤ φ
• if φ < γ
• Attenuation factor
)2
(cosII e
0L
0IL θ φ
0L II
2
qlc dkdkk1
13
Spot light source
14
Spot light source
15
Other light sources
• Linear light sources
• Area sources
• Spherical lights
• …
16
Reflection
• Rs (θ, φ, γ, ψ, λ)
• Amount of energy,
• arriving from direction (θ, φ),
• that is reflected in direction (γ, ψ)
• with wavelength λ
• Ideal
• Describe this function for all combinations of θ, φ, γ, ψ and λ
• Impossible, simpler model(s) needed
(θ, φ)(γ, ψ)
λ
17
Reflection model
• Total intensity on point reflected in certain direction is determined by:
• Diffusely reflected light
• Specularly reflected light
• Emission (for light sources)
• Reflection of ambient light
• Intensity not computed for all wavelengths λ, only for R, G and B
18
Diffuse reflection
• Incoming light is reflected equally in all directions
• Amount of reflected light depends only on angle of incident light
viewer
surface
19
Diffuse reflection
• Lambert’ law: Reflected energy from a surface is proportional to the cosine of the angle of direction of incoming light and normal of surface
• Id = kdILcos(θ)
• kd is diffuse reflection coefficient
viewer
surface
20
Specular reflection
• Models reflections of shiny surfaces
21
Specular reflection
• Shininess depends on roughness surface
• Incident light is reflected unequally in all directions
• Reflection strongest near mirror angle
very shiny less shiny
22
Specular reflection / Phong
• Light intensity observed by viewer depends on angle of incident light and angle to viewer
• Phong model: Is = ksILcosn(α)
• ks is specular reflection coefficient
• n is specular reflection exponent
α
23
Specular reflection / Phongin
crea
sing
n
increasing ks
24
Emission
• Emission IE represents light that is emanated directly by surface
• Used for light sources
Emission ≠ 0
25
Ambient light
• Even thought parts of scene are not directly lit by light sources, they can still be visible
• Because of indirect illumination• “Ambient” light IA is an approach to this indirect
illumination• Ambient light is independent of light sources and viewer
position• Conbtribution of ambient light I = kAIA
• kA is ambient reflection coefficient• IA is ambient intensitity (constant over scene)
• Indirect illumination can be computed much better: e.g. radiosity
26
Total illumination Phong model
• Total intensity Itotal at point P seen by viewer is
i
i
n
SiDiAAEtotal )(cosk)cos(kIIkII
α0
θ0
θ1
α1
27
Total illumination Phong model
• In previous formula kA, kD dependent on wavelength (different values for R, G and B)
• Often division into color and reflection coefficient of surface
where:• 0 ≤ kA, kD, kS ≤ 1• CA is ambient reflected color of surface• CD is diffuse reflected color of surface• Cs is specular reflected color of surface
i
i
n
ssiDDiAAAEtotaal cosCkcosCkIICkII
28
Only emission and ambient
29
Including diffuse reflection
30
Including specular reflection
31
Illumination model
• More advanced models:
• Allows for angle between incident light and surface normal for specular reflection (Fresnel’s law)
• Better models for surface roughness
• Beter model for wavelength dependent reflection
32
Shading
• Illumination model computes illumination for a point on surface
• But how do we compute the illumination for all points on all (visible) surfaces?
• Shading methods:
• Flat shading
• Gouraud shading
• Phong shading
33
Flat shading
• Determine illumination for one point on polygon
• Use this illumination for all points on polygon
• Disadvantages:
• Does not account for changing direction to light source over polygon
• Does not account for changing direction to eye over polygon
• Discontinuity at polygon boundaries (when curved surface approximated by polygon mesh
34
Flat shading
35
Gouraud shading
• Based on interpolation of illumination values
• Compute illumination for vertices of polygon
• Algorithm
• for all vertices of polygon
• get vertex normal
• compute vertex illumination using this normal
• for all pixels in projection of polygon
• compute pixel illumination by interpolation of vertex illumination
36
Gouraud shading
I1
I2
I3
ys
IA IB
21A II1I
21B II1I
21
s1
yyyy
31
s1
yyyy
IP
BAP II)1(I
BA
PA
xxxx
37
Gouraud shading
38
Gouraud shading
• Advantages
• Interpolation is simple, hardware implementation
• Continuous shading over curved surfaces possible
• Disadvantages
• Subtle illumination effects (e.g. highlights) require high subdivision of surface in very small polygons
39
Phong shading
• Based on normal interpolation
• Compute illumination for each point of polygon
• Algorithm
• for each vertex of polygon
• get vertex normal
• for each pixel in projection of polygon
• compute point normal by interpolation of vertex normals
• compute illumination using interpolated normal
40
Phong shading
41
Phong shading
• Advantages
• Nice highlights
• Disadvantages
• Computational expensive
• Normal interpolation and application of illumination model for each pixel
42
Shading samengevat
43
Shading
• Flat shading
• 1x application of illumination model per polygon
• 1 color per polygon
• Gouraud shading
• 1x application of illumination model per vertex
• Interpolated colors
• Phong shading
• 1x application of illumination model per pixel
• Nice highlightsIncrease computation time
Increase quality
44
Grafische pijplijn
Geometric model Viewing
Camera parameters
Light sources,materials
Shading
Visible surface determination
Rasterize
Raster display
45
Z-buffer & Gouraud shading
modelingtransformation
viewingtransformation
trivialaccept/reject
z-bufferprojection
lighting
clipping display
46
Z-buffer & Phong shading
modelingtransformation
viewingtransformation
trivialaccept/reject
z-bufferlighting
projectionclipping display
47
What is still missing?
• Shadows
• Area light sources
• “Real” mirroring
• Transparency
• Indirect diffuse reflection
• Influence of atmosphere
48
Shadow
• Illumination with shadows
• Si = 0 if light of source i is blocked= 1 if light of source i is not blocked
• Several methods to compute shadow
• Shadow buffer
• Ray casting
• Shadow volumes
• ..
i
i
n
ssiDDiiAAAEtotaal cosCkcosCkSIICkII
49
Shadow buffer
• Based on z-buffer algorithm
• Rendering in 2 steps
• Z-buffer from light source (= shadow buffer) to compute shadows
• During “normal” rendering, when computing illumination of point read from shadow buffer if point is lit by light source
50
Shadow buffer – step 1
• “Render” scene with light source position as viewpoint and store depth results in depth buffer
• sbuffer(x,y) = minimum z-value after projection of all polygons on (x,y)
3 3 5 _5_
z
3
0
5
51
Shadow buffer – step 2
• At rendering, when computing illumination of point (x,y,z), transform point into light source coordinate system, resulting in point (x’,y’,z’)
• Si = 1 als z’ <= sbuffer(x’,y’)= 0 als z’ > sbuffer(x’,y’)
3 3 5 _5_
S=0
S=1 S=1
S=1
52
What is still missing?
• Area light sources
• “Real” mirroring
• Transparency
• Indirect diffuse reflection
• Influence of atmosphere