Presentation is loading. Please wait.

Presentation is loading. Please wait.

Graphics Pipeline Rasterization CMSC 435/634. Drawing Terms Primitive – Basic shape, drawn directly – Compare to building from simpler shapes Rasterization.

Similar presentations


Presentation on theme: "Graphics Pipeline Rasterization CMSC 435/634. Drawing Terms Primitive – Basic shape, drawn directly – Compare to building from simpler shapes Rasterization."— Presentation transcript:

1 Graphics Pipeline Rasterization CMSC 435/634

2 Drawing Terms Primitive – Basic shape, drawn directly – Compare to building from simpler shapes Rasterization or Scan Conversion – Find pixels for a primitive – Usually for algorithms that generate all pixels for one primitive at a time – Compare to ray tracing: all primitives for one pixel

3 Line Drawing Given endpoints of line, which pixels to draw?

4 Line Drawing Given endpoints of line, which pixels to draw?

5 Assume one pixel per column (x index), which row (y index)? Choose based on relation of line to midpoint between candidate pixels ? ? Line Drawing ? ? ? ? ? ?

6 Choose with decision variable Plug midpoint into implicit line equation Incremental update

7 Line Drawing Implicit line equation Midpoint algorithm y = y 0 d = f(x 0 +1, y 0 +0.5) for x = x 0 to x 1 draw(x,y) if (d < 0) then y = y+1 d = d + (x 1 - x 0 ) + (y 0 - y 1 ) else d = d + (y 0 - y 1 )

8 Polygon Rasterization Problem – How to generate filled polygons (by determining which pixel positions are inside the polygon) – Conversion from continuous to discrete domain Concepts – Spatial coherence – Span coherence – Edge coherence

9 Scanning Rectangles for ( y from y 0 to y 1 ) for ( x from x 0 to x 1 ) Write Pixel (x, y)

10 Scanning Rectangles (2) for ( y from y 0 to y 1 ) for ( x from x 0 to x 1 ) Write Pixel (x, y)

11 Scanning Rectangles (3) for ( y from y 0 to y 1 ) for ( x from x 0 to x 1 ) Write Pixel (x, y)

12 Triangle Rasterization Barycentric coordinates are decision variables

13 Barycentric Triangle Rasterization For all x in x min to x max do For all y in y min to y max do Compute ( , ,  ) for (x,y) If (  ≥ 0 and  ≥ 0 and  ≥ 0) then c =  c 0 +  c 1 +  c 2 Draw pixel(x,y) with color c

14 “Clipless” Homogeneous Rasterization Compute barycentrics using homogeneous coordinates Extra edge equations for clip edges – Compute t for clip plane at each vertex – Only visible (w>near) pixels will be drawn Adds computation – Divide by w per pixel instead of per vertex – But avoids branching and extra triangles – Good for hardware

15 Homogeneous Barycentrics Each barycentric coordinate is a linear function of X and Y It is 1 at one vertex and 0 at the other two

16 Homogeneous Barycentrics Write formula for barycentric coordinate in homogeneous form This defines a system of three equations

17 Homogeneous Barycentrics Know Simplifies the linear equation to Which we can solve:

18 Incremental Computation , , and  are linear in X and Y What about pixel-to-pixel updates?


Download ppt "Graphics Pipeline Rasterization CMSC 435/634. Drawing Terms Primitive – Basic shape, drawn directly – Compare to building from simpler shapes Rasterization."

Similar presentations


Ads by Google