Você está na página 1de 18

Graphics Pipeline: First Pass

Gopi -ICS186AW03 - Slide1


Graphics 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

Gopi -ICS186AW03 - Slide2


Object Representation

• Most common: TRIANGLES


• Advantages:
– Consistently planar
– Rotationally-invariant interpolation during
rasterization
– Easy definition of topology as well as geometry
– Easy hardware implementation

Gopi -ICS186AW03 - Slide3


Object 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)

Gopi -ICS186AW03 - Slide4


Attributes

• Color (Red, Green, Blue)


• Normal vector
• Texture coordinate
• Transparency value
.
.
.

Gopi -ICS186AW03 - Slide5


Graphics 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

Gopi -ICS186AW03 - Slide6


Model-view transformations

• Model transformation

• View transformation

Gopi -ICS186AW03 - Slide7


Model 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.

Gopi -ICS186AW03 - Slide8


View 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.

Gopi -ICS186AW03 - Slide9


Graphics 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

Gopi -ICS186AW03 - Slide10


Projection 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
Gopi -ICS186AW03 - Slide11
Projection 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.

Gopi -ICS186AW03 - Slide12


Graphics 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

Gopi -ICS186AW03 - Slide13


Clipping 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.

Gopi -ICS186AW03 - Slide14


Window 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 don’t 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.
Gopi -ICS186AW03 - Slide15
Graphics 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

Gopi -ICS186AW03 - Slide16


Rasterization 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
left right
Gopi -ICS186AW03 - Slide17 right left
Graphics Pipeline: First pass

End.

Gopi -ICS186AW03 - Slide18

Você também pode gostar