Download presentation
Presentation is loading. Please wait.
Published byMiranda Warner Modified over 6 years ago
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
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.