How do we draw a picture?sking/Courses/COSC5327/Notes/Shading2.pdf · • We can draw the edges of...
Embed Size (px)
Transcript of How do we draw a picture?sking/Courses/COSC5327/Notes/Shading2.pdf · • We can draw the edges of...

1
How do we draw a picture?
• Define geometry.
• Now what?
• We can draw the edges of the faces. Wireframe.
• We can only draw the edges of faces that are visible.
• We can fill in the faces. Giving each object a color(constant shading).
COSC 342

2
Flat Shading
• Assumes the object is faceted, and light and viewerat infinity.
• Illumination model is applied only once per polygon.

2
Flat Shading
• Assumes the object is faceted, and light and viewerat infinity.
• Illumination model is applied only once per polygon.
• What if the object represents a curved surface?
COSC 342

3
Flat Shading
• Works poorly if the model represents a curved sur-face.
• Adding more facets helps but...
? Slows down the rendering.? Effectiveness is tempered by Mach banding.
COSC 342

4
Mach Bands
Perceived intensity change at edges are exageratedby receptors in our eyes, making the dark facet lookdarker and the light facet look lighter.
COSC 342

5
Is A or B darker?
illusion by Ted Adelson COSC 342

6
Are you sure?
illusion by Ted Adelson COSC 342

7
Is A or B darker?
illusion by Ted Adelson COSC 342

8
Are you sure?
illusion by Ted Adelson COSC 342

9
Are the diamonds the same colour?
illusion by Ted Adelson COSC 342

10
Are the diamonds the same colour?
illusion by Ted Adelson COSC 342

11

12
Are the circles the same colour and size?

13
Harmann-grid illusion - See white circles?

14
Flat Shading

15
Gouraud Shading

16
Gouraud Shading
• Also called smooth shading, intensity interpolationshading or color interpolation shading.
• Discontinuities eliminated by interpolating intensity.
• Almost removes Mach bands (high curvature can stillsuffer).
• OpenGL implements Gouraud shading.
• Easily implemented in hardware.

17
Gouraud Shading: How it works
• Illumination is calculated per vertex.
• Average normals of polygons that share vertex.
• Vertex colors linearly interpolated per pixel, firstalong the edges, then between those for the scan-line.
• Slower than flat shading, with much better results forcurved surfaces.

18
Gouraud Shading: How it works

19
Gouraud Shading: Notice any problems?

20
Gouraud Shading: Problems
• Highlights are spread along edges.
• Highlights tend to be larger than they should.
• Highlights tend to be shaped funny (dependent onnumber of polys).
• Misses specular highlights contained within a poly-gon.

21
Gouraud Shading Problems

22
Gouraud Shading Problems

23
Gouraud Shading Problems

24
Gouraud Shading Problems

25
Gouraud Shading Problems

26
Gouraud Shading Problems

27
Gouraud Shading Problems

28
Gouraud Shading Problems

29
Gouraud Shading Problems

30
Gouraud Shading Problems

31
Gouraud Shading Problems

32
Gouraud Shading Problems

33
Gouraud Shading Problems

34
Gouraud Shading Problems

35
Gouraud Shading Problems

36
Phong Shading
• Don’t confuse with Phong illumination(same guy different algorithm).
• Also called normal-vector interpolation shading.
• Interpolates the surface normals instead of the inten-sity values.
• Calculate illumination at every pixel, as well as a vec-tor normalization. Much slower than Gouraud.
• Gives better results, especially for highlights.
• Can handle highlights within a polygon.

37
Phong Shading: How it works

38
Gouraud Shading
Patrick Coleman

39
Phong Shading
Patrick Coleman

40
Shading Comparison
from Watt, 1989

41
Problems with Interpolation Shading
• Must store normals at each vertex.
• Silhouette edges not smoothed.
• Interpolation can mask regular changes.
• Interpolation in image space ignores perspective dis-tortion.
• Crease edges should not have smooth shading.
• Orientation dependence.
from Watt, 1989

42
Interpolation Shading Problems
from Watt, 1989

43
Interpolation Shading Problems
from Watt, 1989

44
Interpolation Shading Problems
from Watt, 1989

45
Interpolation Shading ProblemsA
B
C
Dp
from Watt, 1989

46
Interpolation Shading Problems
A
B
C
D
p
from Watt, 1989

47
Interpolation Shading ProblemsA
B
C
Dp
A
B
C
D
p
from Watt, 1989

48
Fixes for Interpolation Shading
• Use triangles.
• Use more triangles.
• Use multiple normals (to get sharp edges)
from Watt, 1989

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68