Download presentation
Presentation is loading. Please wait.
Published byJulius Parks Modified over 8 years ago
1
Scan Conversion
2
Last step in the graphics pipeline Efficiency is a central issue Common primitives – Lines (done last class) – Polygons (fill polygons, today) – Circles Hardware implementations preferable
3
Filling Polygons: Scan Line Algorithm 24681012140 2 4 6 8 10 12 14 0
6
Filling Polygons: Special Cases 24681012140 2 4 6 8 10 12 14 0 Edge Table (ET) Entry
7
Scan Line Polygon Fill Algorithm 24681012140 2 4 6 8 10 12 14 0 A B C D E F 0 1 2 3 4 5 6 7 8 9 10 11 375 7 6/4 9 20 12 130 97 -5/2 12 7 6/4 -5/2 Scan Line ABBC FA CD EFDE
8
AET AET at scanline y=8 AET at Scanline y =9 ET Record format : (Ymax, Xmin, 1/m) AET Records format: (Ymax, Xcurrent, 1/m)
9
Scan Line Polygon Fill: The Algorithm Set y to smallest y coordinate that has an entry in ET Initialize the active edge table (AET) to empty Repeat until the ET and AET are both empty: – Move from ET bucket at y to AET those edges whose ymin = y. (entering edges) – Remove from AET those edges for which y = ymax. – Sort AET on x – Fill in desired pixels on scan line using even-odd parity from AET – Increment y by one (next scan line) – For each edge in the AET, update x by adding x/ y
10
What color to fill? Recall Shading in OpenGL: Smooth Shading Requested by: glShadeModel(GL_SMOOTH); Lighting calculations will be done at each vertex using the material properties, and the vectors v and l calculated for that vertex. Bilinear interpolation is used to determine color values in the interior of the polygon.
11
Bilinear Interpolation Cp = ? Cq= ? C k = ? Xa Ya, Xb, Yb, Xk, Yk Need to calculate Xp, Xq. Cp, Cq, Xp, Xq can all use incremental methods Rate of color change!!
12
Using Incremental Methods Cx Cx+1 = Cx + (Cp –Cq)/(Xq-Xp)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.