Updated on May 8, 2015
To make a 3-D image, the graphics card first creates a wire frame out of straight
lines. Then, it rasterizes the image (fills in the remaining pixels). It also
adds lighting, texture and color.
Any method of mapping 3D points to a 2D plane. As
most current methods for displaying graphical data are based on planar 2D
Graphics pipeline (Rendering pipeline)
raster representation of a 3D scene
Stages of the graphics pipeline:
3D geometric primitives
First, the scene is created out of geometric primitives.
Traditionally this is done using triangles
Modeling and transformation
Transform from the local coordinate system to the 3d world coordinate system.
Transform the 3d world coordinate system into the 3d camera coordinate system,
with the camera as the origin.
Illuminate according to lighting and reflectance. If a model of teapot is a
brilliant white color, but in a totally black room, then the camera sees it as
black. In this step the effect of lighting and reflections are calculated.
Transform the 3d world coordinates into the 2d view of the camera, for instance
the object the camera is centered on would be in the center of the 2d view of
In the case of a Perspective projection, objects which are
distant from the camera are made smaller.
In an orthographic projection, objects retain their original size
regardless of distance from the camera.
Geometric primitives that now fall completely outside of the viewing frustum
will not be visible and are discarded at this stage.
Scan conversion or rasterization
Rasterization is the process by which the 2D image space representation
of the scene is converted into raster format and the correct resulting pixel
values are determined. From now on, operations will be carried out on each
single pixel. This stage is rather complex, involving multiple steps often
referred as a group under the name of pixel pipeline.
At this stage of the pipeline individual fragments (or
pre-pixels) are assigned a color based on values interpolated from the vertices
during rasterization, from a texture in memory, or from a shader program.Another term you should be familiar with:Double
bufferinguses a memory buffer to address the
flicker problems associated with multiple paint operations. When double
buffering is enabled, all paint operations are first rendered to a memory
buffer instead of the drawing surface on the screen. After all paint operations
are completed, the memory buffer is copied directly to the drawing surface
associated with it. Because only one graphics operation is performed on the
screen, the image flickering associated with complex painting operations is