GR2 Advanced Computer Graphics AGR

Download Report

Transcript GR2 Advanced Computer Graphics AGR

GR2-00 GR2 Advanced Computer Graphics AGR Lecture 7 Polygon Shading Techniques 1

GR2-00 Reflection Models

 

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

either by the Phong model or the physically based Cook and Torrance model A reminder of the Phong reflection model...

2

Phong Reflection Model eye V R

N

L light source surface I(

) = K a (

)I a (

) + ( K d (

)( L . N ) + K s ( R . V ) n ) I*(

) / dist dist = distance attenuation factor In practice, we evaluate I RED , I GREEN , I BLUE I RED = K a RED I a RED for red, green, blue intensities: + ( K d RED ( L . N ) + K s ( R . V ) n ) I* RED /dist GR2-00 Note: R.V calculation replaced by H.N for speed - H = (L+V)/2 3

GR2-00 Phong Reflection Model

 

Remember calculation depends on:

– – – –

surface normal at a point light source intensity and position material properties viewer position L.N and H.N constant if L, V taken to be far away 4

GR2-00 Viewing Polygons

We have also seen how a 3D polygon can be projected to screen space via a sequence of transformations This lecture looks at how we shade the polygon, using our reflection model 5

Constant (or Flat) Shading

viewer 

Calculate normal (how?)

  

Assume L.N and R.V constant (light & viewer at infinity) Calculate I model RED , I GREEN , I BLUE using Phong reflection Use scan line conversion to fill polygon N

light

GR2-00 6

2D Graphics - Revision!

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 GR2-00 7

Polygonal Models

Recall that we use polygonal models to approximate curved surfaces Constant shading will emphasise this approximation because each facet will be constant shaded, with sudden change from facet to facet GR2-00 8

GR2-00 Flat Shading 9

GR2-00 Gouraud Shading

 

Gouraud shading attempts to smooth out the shading across the polygon facets Begin by calculating the normal at each vertex N 10

GR2-00 Gouraud Shading N

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

Then apply the reflection model to calculate intensities at each vertex 11

Gouraud Shading

We use linear interpolation to calculate intensity at edge intersection P I P RED = (1-

)

the ratio I P1 RED +

I P2 RED where P divides P1P2 in

1- 

Similarly for Q P1 P P2 GR2-00 P3 Q P4 12

GR2-00 Gouraud Shading

Then we do further linear interpolation to calculate colour of pixels on scanline PQ P P2 P1 P3 Q 13

GR2-00 Gouraud Shading 14

GR2-00 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 15

GR2-00 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 banding 16

GR2-00 Phong Shading

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

GR2-00 Phong Shading

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

N1 N2 N

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

P1 P2 P P3 Q P4 18

GR2-00 Phong Shading

... and apply the reflection model at each pixel to calculate the intensity - I RED , I GREEN , I BLUE N2 N P2 P N1 P1 P3 Q P4 19

GR2-00 Phong Shading 20

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 GR2-00

But there are limitations to both Gouraud and Phong 21

GR2-00 Gouraud versus Phong 22

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 P1 P P2 P3 Q P4 GR2-00 23

GR2-00 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 24

GR2-00 Wall Lights 25

GR2-00 Wall Lights with Fewer Polygons 26

GR2-00 Final Note on Normals

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

GR2-00 Further Study

There are excellent illustrations of Gouraud and Phong shading at a number of Web sites

Please go to: http://www.scs.leeds.ac.uk/kwb/GR2 and follow the link to Resources 28

GR2-00 Acknowledgements

 

Thanks again to Alan Watt for the images The following sequence is the famous Shutterbug from Foley et al 29

Simple Shading Without Taking Account of Normals GR2-00 30

GR2-00 Constant or Flat Shading Each Polygon has Constant Shade 31

GR2-00 Gouraud Shading 32

GR2-00 Phong Shading 33

GR2-00 Phong Shading with Curved Surfaces 34

GR2-00 Better Illumination Model 35