Download presentation
Presentation is loading. Please wait.
1
Rasterization and Antialiasing
Angel & 7.12 Angel: Interactive Computer Graphics5E © Addison-Wesley 2009
2
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Objectives Survey Line Drawing Algorithms DDA Bresenham Antialiasing Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
3
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Rasterization Rasterization (scan conversion) Determine which pixels that are inside primitive specified by a set of vertices Produces a set of fragments Fragments have a location (pixel location) and other attributes such color and texture coordinates that are determined by interpolating values at vertices Pixel colors determined later using color, texture, and other vertex properties Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
4
Scan Conversion of Line Segments
Start with line segment in window coordinates with integer values for endpoints Assume implementation has a write_pixel function y = mx + h Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
5
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
DDA Algorithm Digital Differential Analyzer DDA was a mechanical device for numerical solution of differential equations Line y=mx+ h satisfies differential equation dy/dx = m = Dy/Dx = y2-y1/x2-x1 Along scan line Dx = 1 for(x=x1; x<=x2;x++) { y+=m; write_pixel(x, round(y), line_color) } Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
6
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Problem DDA = for each x plot pixel at closest y Problems for steep lines Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
7
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Using Symmetry Use for 1 m 0 For m > 1, swap role of x and y For each y, plot closest x Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
8
Bresenham’s Algorithm
DDA requires one floating point addition per step We can eliminate all fp through Bresenham’s algorithm Consider only 1 m 0 Other cases by symmetry Assume pixel centers are at half integers If we start at a pixel that has been written, there are only two candidates for the next pixel to be written into the frame buffer Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
9
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Candidate Pixels 1 m 0 candidates last pixel - Note that line could have passed through any part of this pixel Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
10
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Decision Variable d = Dx(b-a) d is an integer d > 0 use upper pixel d < 0 use lower pixel when Dx=1, d=b-a - Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
11
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Incremental Form More efficient if we look at dk, the value of the decision variable at x = k + ½ dk+1= dk +2Dy, if dk < 0 dk+1= dk +2(Dy-Dx), otherwise For each x, we need do only an integer addition and a test – a single instruction on graphics chips - - - - Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
12
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Aliasing Ideal rasterized line should be 1 pixel wide Choosing best y for each x (or visa versa) produces aliased raster lines Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
13
Antialiasing by Area Averaging
Color multiple pixels for each x depending on coverage by ideal line antialiased original magnified Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
14
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Polygon Aliasing Aliasing problems can be serious for polygons Jaggedness of edges Small polygons neglected Need compositing so color of one polygon does not totally determine color of pixel All three polygons should contribute to color Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.