7280 Lecture2 Graphics-Pipeline-1
7280 Lecture2 Graphics-Pipeline-1
Graphics Pipeline 1
Note that each subobject will have its own polygon list and
associated vertex list. Sometimes the vertex list is shared.
CSC7280 (Fall 2006)
CSC7280 (Fall 2006)
Coordinate Systems and
Transformation
Non-linear
transformation
Raster Screen
space space
Rasterization
World coordinate
system
xe ye
xs = D ys = D
ze ze
xs = xe y s = ye
⎡x⎤ ⎡ x + dx ⎤
⎢y⎥ ⎢ y + dy ⎥
T ( dx , dy , dz ) ⎢ ⎥ = ⎢ ⎥
⎢z⎥ ⎢ z + dz ⎥
⎢ ⎥ ⎢ ⎥
⎣ ⎦
1 ⎣ 1 ⎦
⎡x⎤ ⎡sx ⋅ x ⎤
⎢y⎥ ⎢s ⋅ y⎥
S (sx, sy , sz )⎢ ⎥ = ⎢ y ⎥
⎢z⎥ ⎢ sz ⋅ z ⎥
⎢ ⎥ ⎢ ⎥
⎣1 ⎦ ⎣ 1 ⎦
• Inverse: ⎛1 1 1⎞
S ( sx , s y , sz ) = S ⎜ , , ⎟
⎜s s s ⎟
⎝ x y z⎠
CSC7280 (Fall 2006)
Rotation
Change angle :
Simple Proof
y x = r cos φ
r
y = r sin φ
φ
x
⎡cos θ − sin θ 0 0⎤
⎢ sin θ cos θ 0 0⎥
Rz (θ ) = ⎢ ⎥
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
⎡1 0 0 0⎤
⎢0 cos θ − sin θ 0⎥
R x (θ ) = ⎢ ⎥
⎢0 sin θ cos θ 0⎥
⎢ ⎥
⎣0 0 0 1⎦
⎡ cosθ 0 sin θ 0⎤
⎢ 0 1 0 0⎥
R y (θ ) = ⎢ ⎥
⎢− sin θ 0 cosθ 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
B-1 = BT
⎡ 0⎤ ⎡ 0⎤
⎢ B ⎥ ⎢ BT
R y (θ ) = ⎢
0⎥ −1 0⎥⎥
R y (θ ) = ⎢
⎢ 0⎥ ⎢ 0⎥
⎢⎣0 0 0 1⎥⎦ ⎢⎣0 0 0 1⎥⎦
CSC7280 (Fall 2006)
A Property
• Any set of rotation, scaling, translation can be multiplied
together to give a net transformation matrix
• This property loose when you project the object onto the screen.
Frame buffer
Depth buffer
for recording
for recording
pixel color
pixel depth