SHADING
Michael Heron
INTRODUCTION
 Shading is an important part of creating realistic
objects.
 It adds nuance and definition to otherwise flat
representations.
 Illumination may fall unevenly across a polygon.
 Can be calculated individually for each pixel.
 Expensive to calculate.
 Faster shading algorithms exist.
SHADING
 There are several key determinants in the level
of shading across a polygon.
 Surface properties
 Texture
 Colour
 Material
 Light sources
 Relative positions and orientations
SHADING
 Shading is important as a mechanism for
conveying information about 3D shapes in 2D.
 Representation of shapes with single colours
render the images as 2D to our eyes.
LOCAL RENDERING OF LIGHT
 Modelled in one of three ways.
 Perfect specular reflection.
 Light is reflected directionally.
 Imperfect specular reflection.
 Light is reflected imperfectly
 Perfect diffuse reflection
 Light is scattered in all directions.
 These three models can be used to determine the
shading of polygons.
FLAT SHADING
 Flat shading works by applying a single pixel
colour across an entire polygon.
 It cannot handle specular reflection.
 Very quick and efficient, but realism is limited.
 Especially for low polygon counts.
 Separate polygons are clearly visible.
FLAT SHADING
 The human eye is especially good at
noticing edges.
Flat shading is thus acting against our biology.
 Better results can be obtained by
interpolation of shading across a polygon’s
surface.
Common technique for this is Gouraud
Shading.
Used when polygons are approximating curved
surfaces.
This provides a linear colour gradient over the
polygon.
GOURAUD SHADING
 First, must calculate vertex intensity.
 Simple method is to average the light intensity of all
polygons sharing a vertex.
 More complex method involves modelling light
interaction at each vertex.
 More computation, but more realistic output.
The arrows indicate
surface normals
GOURAUD SHADING
 Light intensity at each vertex used to calculate
light intensity of pixels in polygon.
10
0 20
15
10
5
10
172
10
FLAT VERSUS GOURAUD
Flat Shading Model – note
individual polygons easily
identifiable.
Gouraud Shading Model –
interpolation of pixel colours
across polygons hides edges
better.
FLAT SHADING
GOURAUD SHADING
PHONG REFLECTION MODEL
 The Phong Reflection Model works by estimating
the colours of pixels.
 Light described as the combination of:
 Ambient light
 Diffuse light
 Specular Light
PHONG SHADING
 Problem of visible edges mitigated by Gouraud
shading
 Not eliminated
 Minimum and maximum intensity will always occur
at vertexes.
 Calculation works on the basis of interpolation.
 Interpolation works slightly differently.
SURFACE NORMALS
 When determining the way light interacts
with a polygon, we base it on the surface
normal.
A hypothetical line that extends
perpendicularly from the point.
 With flat shading, we base the
intersection on the surface normal of the
middle pixel of a polygon.
This gives a rough measure of light intensity.
 With Gouraud, we base it on the intensity
of each vertex.
More nuanced.
PHONG SHADING
 Phong Shading interpolates the surface normals
across a polygon.
 Intensity is estimated based on these interpolated
normals.
The arrows indicate
surface normals
SHADING MODELS
Phong Shading Flat Shading
Gouraud Shading
SPECULAR REFLECTION
 Specular reflection can have its own colour.
 A snooker ball’s highlight is the colour of the light, not
the colour of the ball.
 Several specular models exist
 Phong
 Basic, but good output
 Cook-Tor
 Optimised version of Phong, handles hardness
 Blinn
 Also handles softness of highlight
 Toon
 Simulates cartoon style shading
 Play about with these in Blender.
SHADOWS
 Shadows are tremendously important in
3D images.
They give cues for depth, shape, structure, and
light source positions
 Texture of an image represented by
variation across a surface.
 Gouraud and Phong scenes lack shadows
and texture.
 Simple approach to paste shadows onto
the scene.
SHADOWS
SHADOWS
Scene without shadows lacks
definition and detail. Obviously
unrealistic.
Scene with shadows has much
greater detail and provides visual
cues as to light sources and
shapes.
SHADOWS
 Shadow algorithms provide approximations.
 Limited consideration of light characteristics.
 Point lights create sharp shadows
 Other sources create softer shadows.
 Most common algorithm used for shadow
generation is shadow mapping.
 Also known as shadow z-buffering
SHADOW MAPPING
 Process works similarly to z-buffering.
Trace the light from each light source.
If a pixel is occluded, it is in shadow.
 We use the light-source in the same way
as we use a view-port in z-buffering.
Count the level of shadow depth
 Two pass algorithm.
Calculate shadows across a scene
 Reusable data
Calculate z-buffering for rasterisation.
SHADOW MAPPING
Light
Viewpoint
transform
SHADOW MAPPING
Pixels may be illuminated from many sources or from many paths of light.
Pixels in the umbra are entirely shadowed.
Pixels in the penumbra are in shadow from only some parts of the light
source.
Requires the use of Extended Light Sources
SHADOW MAPPING
Number of paths calculated from light
source is a simplification. Too hard to
compute. Number of paths determined
by sample points.
Image on the left uses one sample point,
Image on the right uses 36
sample points.
Takes much longer to render!
SUMMARY
 Shading and shadows important for 3D
definition.
 Different models exist for managing
shading
Flat
Gouraud
Phong
 Shadows important for realism.
Mostly done using shadow mapping.
Only an approximation of light occlusion.

GRPHICS06 - Shading

  • 1.
  • 2.
    INTRODUCTION  Shading isan important part of creating realistic objects.  It adds nuance and definition to otherwise flat representations.  Illumination may fall unevenly across a polygon.  Can be calculated individually for each pixel.  Expensive to calculate.  Faster shading algorithms exist.
  • 3.
    SHADING  There areseveral key determinants in the level of shading across a polygon.  Surface properties  Texture  Colour  Material  Light sources  Relative positions and orientations
  • 4.
    SHADING  Shading isimportant as a mechanism for conveying information about 3D shapes in 2D.  Representation of shapes with single colours render the images as 2D to our eyes.
  • 5.
    LOCAL RENDERING OFLIGHT  Modelled in one of three ways.  Perfect specular reflection.  Light is reflected directionally.  Imperfect specular reflection.  Light is reflected imperfectly  Perfect diffuse reflection  Light is scattered in all directions.  These three models can be used to determine the shading of polygons.
  • 6.
    FLAT SHADING  Flatshading works by applying a single pixel colour across an entire polygon.  It cannot handle specular reflection.  Very quick and efficient, but realism is limited.  Especially for low polygon counts.  Separate polygons are clearly visible.
  • 7.
    FLAT SHADING  Thehuman eye is especially good at noticing edges. Flat shading is thus acting against our biology.  Better results can be obtained by interpolation of shading across a polygon’s surface. Common technique for this is Gouraud Shading. Used when polygons are approximating curved surfaces. This provides a linear colour gradient over the polygon.
  • 8.
    GOURAUD SHADING  First,must calculate vertex intensity.  Simple method is to average the light intensity of all polygons sharing a vertex.  More complex method involves modelling light interaction at each vertex.  More computation, but more realistic output. The arrows indicate surface normals
  • 9.
    GOURAUD SHADING  Lightintensity at each vertex used to calculate light intensity of pixels in polygon. 10 0 20 15 10 5 10 172 10
  • 10.
    FLAT VERSUS GOURAUD FlatShading Model – note individual polygons easily identifiable. Gouraud Shading Model – interpolation of pixel colours across polygons hides edges better.
  • 11.
  • 12.
  • 13.
    PHONG REFLECTION MODEL The Phong Reflection Model works by estimating the colours of pixels.  Light described as the combination of:  Ambient light  Diffuse light  Specular Light
  • 14.
    PHONG SHADING  Problemof visible edges mitigated by Gouraud shading  Not eliminated  Minimum and maximum intensity will always occur at vertexes.  Calculation works on the basis of interpolation.  Interpolation works slightly differently.
  • 15.
    SURFACE NORMALS  Whendetermining the way light interacts with a polygon, we base it on the surface normal. A hypothetical line that extends perpendicularly from the point.  With flat shading, we base the intersection on the surface normal of the middle pixel of a polygon. This gives a rough measure of light intensity.  With Gouraud, we base it on the intensity of each vertex. More nuanced.
  • 16.
    PHONG SHADING  PhongShading interpolates the surface normals across a polygon.  Intensity is estimated based on these interpolated normals. The arrows indicate surface normals
  • 17.
    SHADING MODELS Phong ShadingFlat Shading Gouraud Shading
  • 18.
    SPECULAR REFLECTION  Specularreflection can have its own colour.  A snooker ball’s highlight is the colour of the light, not the colour of the ball.  Several specular models exist  Phong  Basic, but good output  Cook-Tor  Optimised version of Phong, handles hardness  Blinn  Also handles softness of highlight  Toon  Simulates cartoon style shading  Play about with these in Blender.
  • 19.
    SHADOWS  Shadows aretremendously important in 3D images. They give cues for depth, shape, structure, and light source positions  Texture of an image represented by variation across a surface.  Gouraud and Phong scenes lack shadows and texture.  Simple approach to paste shadows onto the scene.
  • 20.
  • 21.
    SHADOWS Scene without shadowslacks definition and detail. Obviously unrealistic. Scene with shadows has much greater detail and provides visual cues as to light sources and shapes.
  • 22.
    SHADOWS  Shadow algorithmsprovide approximations.  Limited consideration of light characteristics.  Point lights create sharp shadows  Other sources create softer shadows.  Most common algorithm used for shadow generation is shadow mapping.  Also known as shadow z-buffering
  • 23.
    SHADOW MAPPING  Processworks similarly to z-buffering. Trace the light from each light source. If a pixel is occluded, it is in shadow.  We use the light-source in the same way as we use a view-port in z-buffering. Count the level of shadow depth  Two pass algorithm. Calculate shadows across a scene  Reusable data Calculate z-buffering for rasterisation.
  • 24.
  • 25.
    SHADOW MAPPING Pixels maybe illuminated from many sources or from many paths of light. Pixels in the umbra are entirely shadowed. Pixels in the penumbra are in shadow from only some parts of the light source. Requires the use of Extended Light Sources
  • 26.
    SHADOW MAPPING Number ofpaths calculated from light source is a simplification. Too hard to compute. Number of paths determined by sample points. Image on the left uses one sample point, Image on the right uses 36 sample points. Takes much longer to render!
  • 27.
    SUMMARY  Shading andshadows important for 3D definition.  Different models exist for managing shading Flat Gouraud Phong  Shadows important for realism. Mostly done using shadow mapping. Only an approximation of light occlusion.