Title: Graphics Pipeline: First Pass
1Graphics Pipeline First Pass
2Graphics Pipeline First pass
- Object representation (triangles) and computation
of vertex attributes
- Model-view transformation
- Projection transformation
- Clipping and vertex interpolation of attributes
- Rasterization and pixel interpolation of
attributes
3Object Representation
- Most common TRIANGLES
- Advantages
- Consistently planar
- Rotationally-invariant interpolation during
rasterization
- Easy definition of topology as well as geometry
- Easy hardware implementation
4Object Representation
- Other representations
- Points (no connectivity information)
- Quadrilaterals (non-planarity, inconsistent
interpolation of attributes)
- Images (no geometry not useful in simulations)
- Splines (to be converted to polygons for
rasterization)
5Attributes
- Color (Red, Green, Blue)
- Normal vector
- Texture coordinate
- Transparency value
- .
- .
- .
6Graphics Pipeline First pass
- Object representation (triangles) and computation
of vertex attributes
- Model-view transformation
- Projection transformation
- Clipping and vertex interpolation of attributes
- Rasterization and pixel interpolation of
attributes
7Model-view transformations
- Model transformation
- View transformation
8Model transformations
- Transform the object to the required position,
size and orientation.
- Can use any transformation to achieve this.
- In graphics library/hardware only linear
transformations like rotate, translate, scale,
shear are supported.
9View transformation
- Viewing parameters (9 parameters)
- View POINT (x,y,z),
- Viewing direction (VECTOR) (vx,vy,vz),
- View-up VECTOR (ux,uy,uz).
- Default (0,0,0), (0,0,-1), (0,1,0)
- Transforming the scene such that the view point
is at the origin, viewing direction is aligned
with the negative Z axis, and the view-up vector
is aligned with the positive Y axis. - Uses rotation and translation to achieve this
transformation.
10Graphics Pipeline First pass
- Object representation (triangles) and computation
of vertex attributes
- Model-view transformation
- Projection transformation
- Clipping and vertex interpolation of attributes
- Rasterization and pixel interpolation of
attributes
11Projection Transformation
- Define the view frustum (6 parameters)
- Assume origin is the view point
- Near and far planes (planes parallel to XY plane
in the negative Z axis)
- Left, right, top, bottom rectangle defined on the
near plane.
-Z
Y
X
near
far
12Projection Transformation
- Transforming the view frustum (along with the
objects inside it) into a cuboid with unit square
faces on the near and far planes and with the
negative Z axis passing through the center of
these two faces. - Consists of a shear and a perspective
projection operations.
13Graphics Pipeline First pass
- Object representation (triangles) and computation
of vertex attributes
- Model-view transformation
- Projection transformation
- Clipping and vertex interpolation of attributes
- Rasterization and pixel interpolation of
attributes
14Clipping and Interpolation of Attributes
- Clipping Removing the portions of the polygon
that is outside the view frustum. If the polygon
spans inside and outside the view frustum,
introduce new vertices on the boundary to remove
the outside portion of the polygon. - Interpolation For the new vertices introduced,
compute all the attributes of the original
vertices by interpolation.
15Window coordinate transformation
- After clipping, scale the square faces of the
unit cuboid (square faced on the near and far
planes) such that it represents the (relative)
pixel coordinates. (You dont consider the Z
value). - Then translate these coordinates to the position
of the window on the monitor screen to represent
the absolute pixel coordinates.
- This is called window coordinate transformation.
16Graphics Pipeline First pass
- Object representation (triangles) and computation
of vertex attributes
- Model-view transformation
- Projection transformation
- Clipping and vertex interpolation of attributes
- Rasterization and pixel interpolation of
attributes
17Rasterization and Pixel Attribute Interpolation
- Rasterization is a process of generating pixels
in the scan (horizontal) line order (top to
bottom, left to right). (Also called scan
conversion.) - While generating pixels, the colors and other
relevant attributes of the pixels are found by
interpolating the attributes of the left and
right extent of the scan line that lie on the
polygon edge.
Scan Line
right
left
right
left
18Graphics Pipeline First pass