Title: SI31 Advanced Computer Graphics AGR
1SI31Advanced Computer GraphicsAGR
- Lecture 5
- A Simple Reflection Model
2What is a Reflection Model?
- A reflection model (also called lighting or
illumination model) describes the interaction
between light and a surface, in terms of - surface properties
- nature of incident light
- Computer graphics uses a simplification of
accurate physical models - objective is to mimic reality to an acceptable
degree
3Phong Reflection Model
- The most common reflection model in computer
graphics is due to Bui-Tuong Phong - in 1975 - Has proved an acceptable compromise between
simplicity and accuracy - Largely empirical
4Diffuse Reflection and Specular Reflection -
Phong Approach
white light
specular reflection (white)
Some light reflected directly from
surface. Other light passes into material.
Particles of pigment absorb certain wavelengths
from the incident light, but also scatter the
light through multiple reflections - some light
emerges back through surface as diffuse
reflection.
diffuse reflection (yellow)
yellow pigment particles
microscopic view
5Ambient Reflection
- In addition to diffuse and specular reflection, a
scene will also include ambient reflection - This is caused by light falling on an object
after reflection off other surfaces - eg in a room with a light above a table, the
floor below the table will not be totally black,
despite having no direct illumination - this is
reflection of ambient light
6Reflection Model - Ambient Light
hemisphere of ambient light
surface
P
Ia Intensity of ambient light Ka
Ambient-reflection coefficient I Reflected
intensity ?? wavelength of light
I ( ??) Ka ( ??)Ia(???)
7Ambient Lighting
8Reflection Model - Diffuse Reflection
light source
light source
P
P
Light reflected equally in all directions -
intensity dependent on angle ? between light
source and surface normal Lamberts cosine law
I I cos ? where I is intensity of light source
light source
N
L
?
surface
9Reflection Model - Diffuse Reflection
light source
N
L
?
surface
Light reflected equally in all directions,
with intensity depending on angle ? between light
and surface normal
I Intensity of light source N Surface
normal L Direction of light source Kd
Diffuse-reflection coefficient I Reflected
intensity
I Kd ( cos ??) I
10Reflection Model - Diffuse Reflection
light source
- The angle between two vectors is given by their
dot product cos ? L . N (assume L, N are unit
length) - The coefficient Kd depends on the wavelength ??of
the incoming light
N
L
?
surface
I ( ? ) Kd(?) ( L . N ) I(?)
11Ambient and Diffuse
12Reflection Model - Specular Reflection
N
light source
R
P
In perfect specular reflection, light is
only reflected along the unique direction
symmetric to the incoming light
13Reflection Model - Specular Reflection
N
light source
R
P
In practice, light is reflected within a small
angle of the perfect reflection direction - the
intensity of the reflection tails off at the
outside of the cone. This gives a narrow
highlight for shiny surfaces, and a broad
highlight for dull surfaces.
14Reflection Model - Specular Reflection
- Thus we want to model intensity, I, as a
function of angle between viewer and R, say ?,
like this
I
?
with a sharper peak for shinier surfaces, and
broader peak for dull surfaces.
15Reflection Model - Specular Reflection
- Phong realised this effect can be modelled by
- (cos ? )n
- with a sharper peak for larger n
I
n1
n10
?
16Reflection Model - Specular Reflection
light source
N
R
L
eye
?
V
surface
Intensity depends on angle between eye
and reflected light ray
I Intensity of light source V View
direction R Direction of perfect reflected
light Ks Specular-reflection coefficient I
Reflected intensity
I Ks( cos ??)n I
n varies with material large n shiny small n
dull
17Reflection Model - Specular Reflection
light source
N
R
L
eye
?
V
surface
Using cos ?? R . V (R, V unit vectors), we have
I (?) Ks ( R . V )n I(?)
Note Ks does not depend on the wavelength ? -
hence colour of highlight is same as source
18Ambient, Diffuse and Specular
19Reflection Model - Ambient, Diffuse and Specular
light source
N
R
L
eye
?
V
?
surface
I(?) Ka(?)Ia(?) ( Kd(?)( L . N ) Ks( R .
V )n ) I(?)
20Example - Ambient Reflection
21Example - Ambient and Diffuse
22Ambient, Diffuse and Specular
23Reflection Model - Effect of Distance
light source
d
surface
The intensity of light reaching a surface
decreases with distance - so we use typically
I
K1, K2, K3 constant - often K21, K30
K1 K2d K3d2
24Final Reflection Model
light source
N
R
L
eye
?
V
d
?
surface
This needs to be applied for every light source
in the scene
25Phong illumination model Ks 0.0 to 1.0, Kd 0.0
to 1.0 (Ka 0.7, n 10.0)
Ks
Kd
26Phong Illumination Model Ks 0.0 to 1.0 n 10.0
to 810.0 (Ka 0.7, Kd 1.0)
n
Ks
27Phong Model in Practice
- In practice, some simplifications are made to the
model for sake of efficiency - For example, ambient light is sometimes assumed
to be a constant - Other simplifications are
- lights at infinity
- simple colour model
28Practicalities - Effect of Distance
- There are advantages in assuming light source and
viewer are at infinity - L and V are then fixed for whole scene and
calculations become simpler - Lights at infinity are called directional lights
- Lights at a specified position are called
positional, or point, lights
29Practicalities - Calculating R
N
- R L 2 ( N.L ) N
- hence
- R 2 ( N.L )N - L
- In practice, implementations often compute H (
L V ) / 2 - and replace (R.V) with (H.N)
- these are not the same, but compensation is made
with choice of n (angle between N and H is half
angle between R and V - if vectors coplanar)
R
L
R
H
N
V
L
R
30Practicalities - Calculating R
- As noted, if viewer and light source both
sufficiently far from surface, then V and L are
constant over scene - and so H (LV)/2 just
needs to be calculated once - H is often called the halfway vector
31Practicalities - Effect of Colour
- The Phong reflection model gives reflection for
each wavelength ? in visible spectrum - In practice, we assume light to be composed as a
mixture of RGB (red, green, blue) components -
and reflection model is applied for each
component - Coefficients of ambient-reflection (Ka) and
diffuse-reflection (Kd) have separate components
for RGB - Coefficient of specular-reflection (Ks) is
independent of colour
32Acknowledgements
- Thanks to Alan Watt for the images