Presentation is loading. Please wait.

Presentation is loading. Please wait.

CAP4730: Computational Structures in Computer Graphics

Similar presentations


Presentation on theme: "CAP4730: Computational Structures in Computer Graphics"— Presentation transcript:

1 CAP4730: Computational Structures in Computer Graphics
Triangle Scan Conversion

2 Triangle Area Filling Algorithms
Why do we care about triangles? Edge Equations Edge Walking

3

4 We want something easier
It is easier to do 1 thing VERY fast than 2 things pretty fast. Why? Think about how you code. Scan conversion Polygon Circle Clipping

5 Do something easier! Instead of polygons, let’s do something easy!
TRIANGLES! Why? 1) All polygons can be broken into triangles 2) Easy to specify 3) Always convex 4) Going to 3D is MUCH easier

6 Polygons can be broken down
Triangulate - Dividing a polygon into triangles. Is it always possible? Why?

7 Any object can be broken down into polygons

8 Specifying a model For polygons, we had to worry about connectivity AND vertices. How would you specify a triangle? (What is the minimum you need to draw one?) Only vertices (x1,y1) (x2,y2) (x3,y3) No ambiguity Line equations A1x1+B1y1+C1=0 A2x2+B2y2+C2=0 A3x3+B3y3+C3=0

9 Triangles are always convex
What is a convex shape? An object is convex if and only if any line segment connecting two points on its boundary is contained entirely within the object or one of its boundaries. Think about scan lines again!

10 Scan Converting a Triangle
Recap what we are trying to do Two main ways to rasterize a triangle Edge Equations A1x1+B1y1+C1=0 A2x2+B2y2+C2=0 A3x3+B3y3+C3=0 Edge Walking

11 Types of Triangles What determines the spans? Can you think of an easy way to compute spans? What is the special vertex here?

12 Edge Walking 1. Sort vertices in y and then x
2. Determine the middle vertex 3. Walk down edges from P0 4. Compute spans P0 P1 P2

13 Edge Walking Pros and Cons
Fast Easy to implement in hardware Cons Special Cases Interpolation can be tricky

14 Color Interpolating P0 (?, ?, ?) P1 P2 (?, ?, ?)

15 Edge Equations x1, y1 - x2, y2 to P0 A1x1+B1y1+C1=0 A2x2+B2y2+C2=0
How do you go from: x1, y1 - x2, y2 to A1x1+B1y1+C1? P1 P2

16 Given 2 points, compute A,B,C
C = x0y1 – x1y0 A = y0 – y1 B = x1 – x0

17 Edge Equations P0 What does the edge equation mean? A1x1+B1y1+C1=0
Pt1[2,1], Pt2[6,11] A=-10, B=4, C=16 What is the value of the equation for the: gray part yellow part the boundary line What happens when we reverse P0 and P1? P1

18 Positive Interior We add the C element from each edge
area = edge0.C + edge1.C + edge2.C if (area>0) then inside points are in the positive half spaces if (area<0) then what should we do? What happens if area=0?

19 Combining all edge equations
1) Determine edge equations for all three edges 2) Find out if we should reverse the edges 3) Create a bounding box 4) Test all pixels in the bounding box whether they too reside on the same side P0 P1 P2

20 Edge Equations: Interpolating Color
Given colors (and later, other parameters) at the vertices, how to interpolate across? Idea: triangles are planar in any space: This is the “redness” parameter space Note:plane follows form z = Ax + By + C Look familiar? Taken w/ permission from: David Luebke, UVA

21 Edge Equations: Interpolating Color
Given redness at the 3 vertices, set up the linear system of equations: The solution works out to:

22 Edge Equations: Interpolating Color
Notice that the columns in the matrix are exactly the coefficients of the edge equations! So the setup cost per parameter is basically a matrix multiply Per-pixel cost (the inner loop) cost equates to tracking another edge equation value (which is?) A: 1 add

23 Pros and Cons of Edge Equations
If you have the right hardware (PixelPlanes) then it is very fast Fast tests Easy to interpolate colors Cons Can be expensive if you don’t have hardware 50% efficient

24 Recap P0 P0 P1 P1 P2 P2


Download ppt "CAP4730: Computational Structures in Computer Graphics"

Similar presentations


Ads by Google