# Graphics by yurtgc548

VIEWS: 0 PAGES: 37

• pg 1
```									    159.235 Graphics & Graphical
Programming
Lecture 31 - Illumination Part 1 -
Local Models

159.235                  Graphics              1
Illumination Models
Illumination: transport of luminous
flux from light sources via direct &
indirect paths.
Lighting: computing intensity
reflected from 3D point in scene.

Illumination Models:
- Empirical: simple approximations to observed phenomena.
- Physically-based: model actual physics of light interactions.
159.235                      Graphics                           2
Two Components of Illumination
Light Sources:
-Emittance spectrum (colour)
-Geometry (position and colour)
-Directional attenuation
Surface Properties:
-Reflectance spectrum (colour)
-Geometry (position, orientation, and micro-structure)
-Absorption
Simplifications:
- Use only direct illumination from emitters to reflectors
- Ignore geometry of emitters, use only geometry of reflectors

159.235                                Graphics                 3
Illumination model from last lecture

I   I a ka  I p [kd cos  ks cos  ]    n

Ambient                          Diffuse

Specular

159.235               Graphics                 4
Phong model – the effect of n

n=0.1

n=0.5

n=1
n=2
n=10

159.235           Graphics                                5
Phong Examples

159.235        Graphics    6
There may be a number of Point Sources
Extend empirical model as: (and replacing cosines)
lights
I   I a ka     I
p 1
p   [kd ( N  L )  k s (V  R ) ]
n

This is known as the standard
LOCAL ILUMINATION
MODEL

159.235                        Graphics                 7
Local Illumination Model
• Considers light sources and surface
properties only.
• Approximations based on appearance.
• Fast real-time interactive rendering.
• Haven’t considered light attenuation –
inverse square law – but don’t like
exponentiation and doesn’t always look
right.
159.235             Graphics               8
Local Illumination Model
• Use 1/(s+k) where s relates to eye-object
distance and k is some constant for scene.
• Can add transparency too, to give final empirical
model as shown below:
• Note: must apply 3 times – for each primary.
lights
Ip
I   I a ka                     [kd ( N  L )  ks (V  R ) ]  I t kt
n

p 1    (so  k )

159.235                            Graphics                        9
• Objects modelled as plane-faced polyhedra
• Assumptions:
– Source at infinity L  N constant.
– Viewer at infinity N  V constant.
– Polygon is not an approximation – often
• If first two unacceptable, average L and V .
• For specularity R  V varies across surface.
159.235                  Graphics                10
– Works well for objects
– Appearance depends on
number of polygons for
curved surface objects.
• If polyhedral model is an approximation
then need to smooth.
159.235                   Graphics          11
Mach Banding
Physiological effect
exaggerates difference
between closely coloured
polygons.

-Mach banding.
-Exaggerates intensity
change at an edge with a
discontinuity in magnitude.

- Our eyes are well adapted
to seeing edges !

- Using a finer mesh is
surprisingly ineffective.

159.235                       Graphics   12
• Wylie, Romney, Evans and Erdahl pioneered
linear interpolation of shading information from
the vertices.
• Gouraud generalized this to arbitrary polygons.
• Interpolate illumination in same manner as we
interpolated z for z-buffering.
– Not physically correct for illumination.
• Assumption of polygon approximating a curved
surface gives rise to largest error.

159.235                       Graphics               13
N1               Find vertex normals by averaging face
normals, or find analytically.

N4          NV                                     N       i
NV       1i  n

N2                             N
1i  n
i

N3                   - Use vertex normals with desired shading model,

B                              - Interpolate vertex intensities along edges.
A         Ibc                            - Interpolate edge values across a scanline.

Iac
C        Iac interpolated A to C, Ibc interpolated B to C.

159.235                                    Graphics                                         14

159.235        Graphics     15
• Normals are calculated for each vertex.
• Vectors are interpolated across the face.
• Illumination calculated with interpolated normal
vector, ie. shading model applied each step.
Interpolated
normals.

Assume polygon is
approximation to curved
surface.

159.235                             Graphics                  16
• In Phong model of specular
reflection, highlight falls off
with cosn 

interpolates – makes highlight               Direction of
maximum highlight
too big.

• Gouraud shading may well miss
a highlight that occurs in the
middle of the face.

159.235                             Graphics                       17
• In Phong model of specular
reflection, highlight falls off
with cosn 

interpolates – makes highlight               Direction of
maximum highlight
too big.

• Gouraud shading may well miss
a highlight that occurs in the
middle of the face.
Highlight on surface.

159.235                             Graphics                       18
Phong Example

159.235        Graphics   19

• Problems with computing vertex normals
A,B are shared by all polygons, but C
A                       is not shared by the polygon on the
left.

C                       right of C will be different from that to
the left.

Solution : introduce a ‘ghost’ vertex that shares C’s values

159.235                          Graphics                                     20
• Problems with computing vertex normals.
Face surface normals and averaged vertex normals shown.

Unrepresentative so add small polygon strips along edges or
test angle and threshold to defeat averaging.
159.235                           Graphics                          21

• Perspective distortion
– Perform interpolation after perspective
transformation.
Must perform interpolation
in image space.
Could split polygon into
lots of small triangles and it
would look okay either
way.

159.235                   Graphics                             22

• Rotational invariance?
– The results of interpolation shading can change
with orientation of the polygon.
A
Point on left is interpolated
B

D             A                C
B                          Point on right is
interpolated between AB &
D              BC
C

159.235                   Graphics                                23

• Solution.
– Decompose polygon into triangles before

159.235                  Graphics                24
– approximation only holds for exceptional cases.
– appearance of Mach bands.
• Gouraud shading – poorly interpolates
specular highlights.
• Phong shading – better, and better in
animation too (less Mach banding).
159.235                  Graphics                    25
Texture Mapping

• Method of
improving surface
appearance by
surface.

159.235               Graphics   26
Texture Mapping
• Image is ‘pasted’ onto a polygon.
• Image is called a Texture map, it’s pixels are often
referred as a Texels and have coordinates (u,v)
• Texture coordinates are defined for each vertex
and interpolated across the polygon.

y
v
v
u
u
x

159.235                 Graphics                     27
Texture Mapping = 2D Image Warp

2D texture Space                         v
Parameterisation
3D Object space
u
Model Transformation
3D World space
Viewing Transformation
3D Camera space
Projection
y
2D Image Space                               v
u
x

159.235                                 Graphics                   28
Polygonal Texture mapping.
Texture to Screen
 x  . . . u 
transformation composed of 3
 y    . . .  v 
transformations :
             
 z   . . .  1 
     

1. Parameterization may                            TO
be written as a linear                 x  . . . .  x 
transformation from                   y  . . . .  y 
texture space to object                             
Space (TO)                        z   . . . .  z 
              
2. Modelling and viewing                w . . . .  1 
  
transformation from                             OC
object space to camera                x      . . .        u 
Space (OC)                       y    . . .        v 
                     
3. Projection from camera                w
       . . .
            1 
 
space to screen space (CS)                       
(not shown)                             TS TO OC CS

159.235                        Graphics                                  29
Interpolation of Texture Coordinates
• Same problem as for Gouraud shading – need to
break down into triangles for rotational invariance.
• Linear interpolation leads to incorrect perspective.

Perspective interpolation              Linear interpolation

½L

159.235                               Graphics                               30
Texture Filtering
• Can map texture in 2 ways :
– From (u,v) space to (x,y) – forward mapping.
– From (x,y) back to (u,v) – reverse mapping.
• Forward mapping is linear projective map.
• Reverse mapping is inverse – also linear
projective map.
– The inverse of a projective transformation is
also a projective transformation.

159.235                   Graphics                     31
Texture Filtering
• Pixel footprint changes from pixel to pixel
– No single filter.
• Resampling theory : two cases
– Magnification – interpolate texel values.
– Minification – average texel values.

Texture                           Image

159.235                          Graphics              32
Texture Filtering
• Need to filter texels to avoid aliasing.
• Useful filter shape is a weighted ellipse
whose dimensions are controlled by the
projective warp. – EWA filter.

159.235              Graphics                 33
MIP Map
Multum In Parvo = Many things in a small place
Sub-sample the texture, and store
filtered samples in a pyramid.                               d=4

When interpolating the texel value,                          d=2
use d parameter – texel : pixel ratio          d
and tri-linearly interpolate.                        v

- Efficient in storage as well.

u
d

u        v

159.235                                Graphics                 34
Texture Mapping Summary
• Paste a 2D image onto projected geometry.
• Required transformation is a 2D image
warp.
• Need for projective interpolation.
• Texture filtering.
– EWA
– Mip-map.

159.235             Graphics                  35
Texture Mapping Example

159.235            Graphics         36
Illumination Part 1 - Summary
• Illumination
• Texture Mapping
• Acknowledgments - thanks to Eric McKenzie, Edinburgh, from whose
Graphics Course some of these slides were adapted.

159.235                       Graphics                           37

```
To top