Presentation is loading. Please wait.

Presentation is loading. Please wait.

Basic Raster Graphics Algorithms for Drawing 2D Primitives

Similar presentations


Presentation on theme: "Basic Raster Graphics Algorithms for Drawing 2D Primitives"— Presentation transcript:

1 Basic Raster Graphics Algorithms for Drawing 2D Primitives
Prof. Lizhuang Ma Shanghai Jiao Tong University

2 Contents Architecture of a Raster Display Scan Converting Lines
Filling Rectangles Filling Polygons Clipping Lines Clipping Polygons Antialiasing

3 Architecture of a Raster Display Video

4 Definitions Pixel: a screen consists of N x M pixels
Bilevel = monochrome, 1 bit / pixel Color: RGB/CYK/LUV… Bitmap / pixmap Frame buffer: an array of data in memory mapped to screen

5 Scan Converting Line A scan-converted line showing intensified pixels as black circles

6 The Basic Incremental Algorithm
A scan-converted line showing intensified pixels as black circles

7 The Basic Incremental Algorithm
void Line (intx0, inty0, intx1, inty1, value) { Int x; Float dy, dx, y, m; dy=y1-y0; dx=x1-x0; m=dy/dx; y=y0; for(x=x0; x<=x1; x++) { WritePixel(x, (int)floor(y+0.5), value); y+=m; }

8 Midpoint Line Algorithm

9 Midpoint Line Algorithm

10 Midpoint Line Algorithm
void MidpointLine(intx0, inty0, intx1, inty1, value) { int dx, dy, incrE, incrNE, d, x, y; dy=y1-y0;dx=x1-x0;d=dy*2-dx; incrE=dy*2;incrNE=(dy-dx)*2; x=x0;y=y0; WritePixel(x, y, value); while(x<x1) { if(d<=0) {d+=incrE;x++; } else {d+=incrNE;x++;y++;

11 Filling Rectangles for(y from ymin to ymax of the rectangle) {
for(x from xmin to xmax) { WritePixel(x, y, value); }

12 Filling Polygons

13 Filling Polygons

14 Filling Polygons Find the intersections of the scan line with all edges of the polygon Sort the intersections by increasing x coordinate Fill in all pixels between pairs of intersections that lie interior to the polygon

15 Special Cases Slivers Horizontal Edges

16 Clipping Lines

17 The Cohen-Sutherland Algorithm

18 The Cohen-Sutherland Algorithm

19 Clipping Polygons

20 The Sutherland-Hodgman Polygon-Clipping Algorithm

21

22 Liang-Barsky Algorithm
Starting point is parametric form Compute four intersections with extended clipping rectangle Will see that this can be avoided

23 Ordering of intersection Ordering of intersection points
Order the intersection points • Figure (a): 1 > a4 > a3 > a2 > a1 > 0 • Figure (b): 1 > a4 > a2 > a3 > a1 > 0

24 Ordering of intersection Li Liang-Barsky Efficiency Improvements
– Compute intersections one by one – Often can reject before all four are computed • Efficiency improvement 2: – Equations for a3, a2 – Compare a3, a2 without floating-point division

25 Antialiasing


Download ppt "Basic Raster Graphics Algorithms for Drawing 2D Primitives"

Similar presentations


Ads by Google