Top Banner
Rasterization May 14, 2007
18

Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Rasterization

May 14, 2007

Page 2: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Triangles Only• We will discuss the rasterization of

triangles only.

• Why?– Polygon can be decomposed into triangles.– A triangle is always convex.– Results in algorithms that are more

hardware friendly.

Page 3: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.
Page 4: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Being Hardware Friendly• [Angel 4e] Section 7.11.3 or • [Angel 3e] Section 8.11.6:

– Intersect scan lines with polygon edges.

– Sort the intersections, first by scan lines, then by order of x on each scan line.

– It works for polygons in general, not just in triangles.

– O(n log n) complexity feasible in software implementation only (i.e., not hardware friendly)

Page 5: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.
Page 6: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.
Page 7: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Color and Z

• Now we know which pixels must be drawn. The next step is to find their colors and Z’s.

• Gouraud shading: linear interpolation of the vertex colors.

• Isn’t it straightforward?– Interpolate along the edges. (Y direction)– Then interpolate along the span. (X

direction)

Page 8: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Interpolation in World Space vs Screen Space

• p1=(x1, y1, z1, c1); p2=(x2, y2, z2, c2); p3=(x3, y3, z3, c3) in world space

• If (x3, y3) = (1-t)(x1, y1) + t(x2, y2) then z3=(1-t)z1+t z2; c3=(1-t)c1+t c2

• But, remember that we are interpolating on screen coordinates (x’, y’):

1

'

'

'

z

y

x

qpnm

lkji

hgfe

dcba

w

wz

wy

wx

Page 9: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

• Let p’1=(x’1, y’1); p’2=(x’2, y’2) and p’3=(x’3, y’3)= (1-s)(x’1, y’1) + s(x’2, y’2)

• Does s=t? If not, should we compute z3 and c3 by s or t?

• Express s in t (or vice versa), we get something like:

• So, if we interpolate z on screen space, we get the z of “some other point on the line”

• This is OK for Z’s, but may be a problem for texture coordinates (topic of another lecture)

)( 121

2

wwtw

wts

Page 10: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.
Page 11: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.
Page 12: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.
Page 13: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Appendix

Page 14: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Derivation of s and t

• Two end points P1=(x1, y1, z1) and P2=(x2, y2, z2). Let P3=(1-t)P1+(t)P2

• After projection, P1, P2, P3 are projected to (x’1, y’1), (x’2, y’2), (x’3, y’3) in screen coordinates. Let (x’3, y’3)=(1-s)(x’1, y’1) + s(x’2, y’2).

Page 15: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

• (x’1, y’1), (x’2, y’2), (x’3, y’3) are obtained from P1, P2, P3 by:

)

11

)1((

1

'

'

'

1

'

'

'

,

1

'

'

'

2

2

2

1

1

1

3

3

3

3

33

33

33

2

2

2

2

22

22

22

1

1

1

1

11

11

11

z

y

x

tz

y

x

tMz

y

x

M

w

wz

wy

wx

z

y

x

M

w

wz

wy

wx

z

y

x

M

w

wz

wy

wx

Page 16: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

Since

We have:

2

22

22

22

2

2

2

1

11

11

11

1

1

1

'

'

'

1

,'

'

'

1 w

wz

wy

wx

z

y

x

M

w

wz

wy

wx

z

y

x

M

2

22

22

22

1

11

11

11

2

2

2

1

1

1

3

33

33

33

'

'

'

'

'

'

)1(

11

)1('

'

'

w

wz

wy

wx

t

w

wz

wy

wx

t

z

y

x

Mtz

y

x

Mt

w

wz

wy

wx

Page 17: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

When P3 is projected to the screen, we get (x’3, y’3) by dividing by w, so:

But remember that

(x’3, y’3)=(1-s)(x’1, y’1) + s(x’2, y’2)

Looking at x coordinate, we have

))1(

'')1(,

)1(

'')1(()','(

21

2211

21

221133 wtwt

wytwyt

wtwt

wxtwxtyx

21

221121 )1(

'')1()1(

wtwt

wxtwxtxsxs

Page 18: Rasterization May 14, 2007. Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.

We may rewrite s in terms of t, w1, w2, x’1, and x’2.

In fact,

or conversely

Surprisingly, x’1 and x’2 disappear.

)()1( 121

2

21

2

wwtw

wt

wtwt

wts

221

1

21

1

)()1( wwws

ws

wsws

wst