This notebook explains the concept of a simple graphics pipeline which is used in computer graphics.
Farhad Kamangar 2017
Graphics pipeline is a conceptual model which is used in computer graphics systems to describe a series of steps which needs to be performed to display a 3-dimensional scene on a 2-dimensional screen.
Since computer graphics packages depend on different hardware and software systems, there is no universal graphics pipeline. for example the graphics pipelines for Direct3D and OpenGL are different from each other. Some of the steps in a graphics pipeline are implemented in hardware to accelerate the rendering process.
A graphics pipeline usually has three main components as shown below.
Typically the application component is where the geometric primitives are defined. These primitives include points, lines, polygons, .... The application component is also responsible to read input files, and interact with user.
As the name implies, the geometry stage is responsible for most of the operations on the geometric primitives such as vertices and polygons. The geometry stage itself includes multiple sub-stages as shown below:
In the rasterization stage, the primitives are converted to fragments. Each fragment corresponds to a pixel on the display device. The color and illumination of the pixels are finalized in this stage. The z-buffer is usually used in this stage to determine the visibility of the fragments. pixels to be displayed on the screen.