CS488 - Introduction to Computer Graphics - Lecture 2
The Graphics Pipeline
History of Computer Graphics
Pre-computer
- Example, radar
- Non-programmable hardware does all computation
- Era of information display
Vector Displays
- Calligraphic displays
- Oscilloscopes
- Era of the game
Raster Displays
- the frame buffer
- University of Utah
- Evans & Sutherland
- `All' the basic algorithms
- Era of the animated movie
GPUs
- SGI & GL (Jim Clark, Utah)
- Era of the virtual environment
Development of the Graphics Pipeline
Pre-computer
- World in the form of voltages on wires
- Non-programmable hardware moves a point of light on a display
Vector Displays
- World in the form of a data structure
- Algorithms tranform the world into a display list
- Algorithms transform the display list into a set of coordinates
- Non-programmable hardware moves a point of light on the screen
Raster Displays
2D
- 2D world in the form of a data structure
- Algorithms tranform the world into a display list
- Algorithms write objects in the display list into the frame buffer
- Non-programmable hardware moves a point of light on the screen (in a
special pattern)
3D
- 3D world in the form of a data structure (expressed in world
coordinates)
- Algorithms tranform the world into a set of 3D primitives
- Lighting is calculated for each 3D primitive
- Algorithms transform the world into a set of 2D primitives (display
list)
- Algorithms write 2D primitives into the frame buffer
- Minimally-programmable hardware moves a point of light on the screen
(in a special pattern)
Graphics Processing Unit (GPU)
Early: minimally programmable
- 3D modelling primitives (model coordinates)
- User assembles modelling primitives into 3D world (world
coordinates)
- Algorithms tranform the world into a set of 3D primitives, usually
triangles (visual coordinates, centred on the eye)
- Lighting is calculated for each 3D primitive
- Hardware processes 3D primitives into the frame buffer
- Minimally-programmable hardware moves a point of light on the screen
(in a special pattern)
Late: maximally programmable
- 3D modelling primitives (model coordinates)
- User assembles modelling primitives into 3D world (world coordinates)
- Algorithms tranform the world into a set of 3D primitives, usually
triangles (world coordinates)
- Lighting is calculated by the vertex shader
- Vertices are transformed by the geometry shader (from world coordinates
to visual coordinates)
- Vertices are transformed into image coordinates by the pixel
shader.
- Minimally-programmable hardware moves a point of light on the screen
(in a special pattern)
Return to: