CS488 - Introduction to Computer Graphics - Lecture 2

The Graphics Pipeline

History of Computer Graphics

Pre-computer

Vector Displays

Raster Displays

GPUs

Development of the Graphics Pipeline

Pre-computer

  1. World in the form of voltages on wires
  2. Non-programmable hardware moves a point of light on a display

Vector Displays

  1. World in the form of a data structure
  2. Algorithms tranform the world into a display list
  3. Algorithms transform the display list into a set of coordinates
  4. Non-programmable hardware moves a point of light on the screen

Raster Displays

2D

  1. 2D world in the form of a data structure
  2. Algorithms tranform the world into a display list
  3. Algorithms write objects in the display list into the frame buffer
  4. Non-programmable hardware moves a point of light on the screen (in a special pattern)

3D

  1. 3D world in the form of a data structure (expressed in world coordinates)
  2. Algorithms tranform the world into a set of 3D primitives
  3. Lighting is calculated for each 3D primitive
  4. Algorithms transform the world into a set of 2D primitives (display list)
  5. Algorithms write 2D primitives into the frame buffer
  6. Minimally-programmable hardware moves a point of light on the screen (in a special pattern)

Graphics Processing Unit (GPU)

Early: minimally programmable

  1. 3D modelling primitives (model coordinates)
  2. User assembles modelling primitives into 3D world (world coordinates)
  3. Algorithms tranform the world into a set of 3D primitives, usually triangles (visual coordinates, centred on the eye)
  4. Lighting is calculated for each 3D primitive
  5. Hardware processes 3D primitives into the frame buffer
  6. Minimally-programmable hardware moves a point of light on the screen (in a special pattern)

Late: maximally programmable

  1. 3D modelling primitives (model coordinates)
  2. User assembles modelling primitives into 3D world (world coordinates)
  3. Algorithms tranform the world into a set of 3D primitives, usually triangles (world coordinates)
  4. Lighting is calculated by the vertex shader
  5. Vertices are transformed by the geometry shader (from world coordinates to visual coordinates)
  6. Vertices are transformed into image coordinates by the pixel shader.
  7. Minimally-programmable hardware moves a point of light on the screen (in a special pattern)


Return to: