Top Banner
14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques
36

14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

Mar 28, 2015

Download

Documents

Mia Lyons
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.1Si23_03

SI23Introduction to Computer

Graphics

SI23Introduction to Computer

Graphics

Lecture 14 – Polygon Shading Techniques

Page 2: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.2Si23_03

Reflection ModelsReflection Models

We have seen how the reflected intensity at a point may be calculated

A reminder of the Phong reflection model...

Page 3: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.3Si23_03

Phong Reflection ModelPhong Reflection Model

lightsourceN

LR

Veye

surface

I() = Ka()Ia() + ( Kd()( L . N ) + Ks( R . V )n ) I*() / dist

In practice, we evaluate IRED, IGREEN, IBLUE for red, green, blue intensities:IRED= Ka

REDIaRED + ( Kd

RED( L . N ) + Ks( R . V )n ) I*RED/dist

dist = distance attenuation factor

Page 4: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.4Si23_03

Phong Reflection ModelPhong Reflection Model

Remember calculation depends on:– surface normal at a point– light source intensity and position– material properties– viewer position

L.N and R.V constant if L, V taken to be far away

Page 5: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.5Si23_03

Viewing PolygonsViewing Polygons

We have also seen how a 3D polygon can be projected to screen space via a sequence of transformations

This lecture looksat how we shade the polygon, usingour reflection model

Page 6: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.6Si23_03

Constant (or Flat) ShadingConstant (or Flat) Shading

Calculate normal (how?)

Assume L.N and R.V constant (light & viewer at infinity)

Calculate IRED, IGREEN, IBLUE using Phong reflection model

Project vertices to viewplane

Use scan line conversion to fill polygon

N

lightviewer

Page 7: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.7Si23_03

2D Graphics - Filling a Polygon

2D Graphics - Filling a Polygon

Scan line methods used to fill 2D polygons with a constant colour– find ymin, ymax of vertices– from ymin to ymax do:– find intersection with

polygon edges– fill in pixels between

intersections using specified colour

– See lecture 6 for details of algorithm with edge tables etc

See alsoHearn&Baker, Ch 3

Page 8: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.8Si23_03

Polygonal ModelsPolygonal Models

Recall that we use polygonal models to approximate curved surfaces

Constant shading will emphasise this approximation becauseeach facet will be constant shaded, with sudden change fromfacet to facet

Page 9: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.9Si23_03

Flat ShadingFlat Shading

Page 10: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.10Si23_03

Gouraud ShadingGouraud Shading

Gouraud shading attempts to smooth out the shading across the polygon facets

Begin by calculating the normal at each vertex

N

Page 11: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.11Si23_03

Gouraud ShadingGouraud Shading

A feasible way to do this is by averagingaveraging the normals from surrounding facets

Then apply the reflection model to calculate intensitiesintensities at each vertex

N

Page 12: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.12Si23_03

Gouraud ShadingGouraud Shading

We use linear linear interpolation interpolation to calculate intensity at edge intersection P

IPRED = (1-IP1

RED + IP2

RED

where P divides P1P2 in the ratio

Similarly for Q

P4

P2

P1

P3

PQ

1-

Page 13: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.13Si23_03

Gouraud ShadingGouraud Shading

Then we do further linear interpolation to calculate colour of pixels on scanline PQ

P2

P1

P3

PQ

Page 14: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.14Si23_03

Gouraud ShadingGouraud Shading

Page 15: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.15Si23_03

Henri GouraudHenri Gouraud

Henri Gouraud is another pioneering figure in computer graphics

http://www.univ-reims.fr/Labos/LERI/Afig99/biographie.html

Page 16: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.16Si23_03

Gouraud Shading Limitations - Specular

Highlights

Gouraud Shading Limitations - Specular

Highlights

Gouraud shading gives intensities within a polygon which are a weighted average of the intensities at vertices– a specular highlight at a vertex

tends to be smoothed out over a larger area than it should cover

– a specular highlight in the middle of a polygon will never be shown

Page 17: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.17Si23_03

Gouraud Shading Limitations - Mach Bands

Gouraud Shading Limitations - Mach Bands

The rate of change of pixel intensity is even across any polygon, but changes as boundaries are crossed

This ‘discontinuity’ is accentuated by the human visual system, so that we see either light or dark lines at the polygon edges - known as Mach bandingMach banding

Page 18: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.18Si23_03

Phong ShadingPhong Shading

Phong shading has a similar first step, in that vertex normals are calculated - typically as average of normals of surrounding faces

N

Page 19: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.19Si23_03

Phong ShadingPhong Shading

However rather than calculate intensity at vertices and then interpolate intensities as we do in Gouraud shading ...

In Phong shading we interpolate normals at each pixel ...

P4

P2

P1

P3

P Q

N2

N1

N

Page 20: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.20Si23_03

Phong ShadingPhong Shading

... and apply the reflection model at each pixel to calculate the intensity - IRED, IGREEN, IBLUE

P4

P2

P1

P3

P Q

N2

N1

N

Page 21: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.21Si23_03

Phong ShadingPhong Shading

Page 22: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.22Si23_03

Phong versus Gouraud Shading

Phong versus Gouraud Shading

A major advantage of Phong shading over Gouraud is that specular highlights tend to be much more accurate– vertex highlight is much sharper– a highlight can occur within a polygon

Also Mach banding greatly reduced The cost is a substantial increase in

processing time because reflection model applied per pixel

But there are limitations to both Gouraud and Phong

Page 23: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.23Si23_03

Gouraud versus PhongGouraud versus Phong

Page 24: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.24Si23_03

Interpolated Shading Limitations - Perspective

Effects

Interpolated Shading Limitations - Perspective

Effects

Anomalies occur because interpolation is carried out in screen space, after the perspective transformation

Suppose P2 much more distant than P1. P is midway in screen space so gets 50 : 50 intensity (Gouraud) or normal (Phong)

... but in world coordinates it is much nearer P1 than P2

P4

P2

P1

P3

PQ

Page 25: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.25Si23_03

Interpolated Shading Limitations - Averaging

Normals

Interpolated Shading Limitations - Averaging

Normals

Averaging the normals of adjacent faces usually works reasonably well

But beware corrugated surfaces where the averaging unduly smooths out the surface

Page 26: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.26Si23_03

Wall LightsWall Lights

Page 27: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.27Si23_03

Wall Lights with Fewer Polygons

Wall Lights with Fewer Polygons

Page 28: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.28Si23_03

Final Note on NormalsFinal Note on Normals

If a sharp polygon boundary is required, we calculate two vertex normals for each side of the joint

NLEFT NRIGHT

Page 29: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.29Si23_03

Simple Shading -Without Taking Account of

Normals

Simple Shading -Without Taking Account of

Normals

Page 30: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.30Si23_03

Constant or Flat Shading -Each Polygon has Constant

Shade

Constant or Flat Shading -Each Polygon has Constant

Shade

Page 31: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.31Si23_03

Gouraud ShadingGouraud Shading

Page 32: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.32Si23_03

Phong ShadingPhong Shading

Page 33: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.33Si23_03

Phong Shading with Curved Surfaces

Phong Shading with Curved Surfaces

Page 34: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.34Si23_03

Better Illumination ModelBetter Illumination Model

Page 35: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.35Si23_03

Further StudyFurther Study

Hearn and Baker, section 14-5 Think about the relative

computational costs of flat, Gouraud and Phong

Page 36: 14.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 14 – Polygon Shading Techniques.

14.36Si23_03

AcknowledgementsAcknowledgements

Thanks again to Alan Watt for the images

The following sequence is the famous Shutterbug from Foley et al