CS488 - Introduction to Computer Graphics - Lecture 3

The Graphics Pipeline

Development of the Graphics Pipeline

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)

Summary

  1. Models (Model coordinates) --user input, interpreted as 3D transformations -->
  2. Scene (World coordinates ) --3D transformations-->
  3. 3D primitves (View coordinates) -- perspective transformations-->
  4. 2D primitives (Image coordinates) --scan conversion-->
  5. Framebuffer (Screen coordinates) --video hardware-->
  6. Display

Graphics I/O Hardware

Displays (Output)

Cathode Ray Tubes (CRTs)

How they work

Strong points

  1. Ubiquitous
  2. Good imaging
  3. Good angle of view
  4. Can be calibrated

Weak points

  1. Big
  2. Heavy
  3. Need lots of power
  4. Dim
  5. Poor spatial resolution

Liquid Crystal Displays (LCDs)

How they work

Strong points

  1. Small
  2. Light
  3. Small text is readable
  4. Better spatial resolution possible
  5. Random addressing, but not usable for double buffering

Weak points

  1. Poor for images
  2. Poor angle of view, but improving
  3. Backlight is power-hungry and hot
  4. Only a little less dim
  5. Better spatial resolution not manufactured

Light Emitting Diodes (LEDs)

How they work

Strong points

  1. Very efficient, i.e. low power
  2. Bright: outdoor displays, OLEDs
  3. Flexible: OLEDs
  4. High resolution possible: only commercially available for OLEDs

Weak points

  1. Can only buy small ones, and in large quantities.

Mice & Keyboards (Input)

Types of Input

  1. Request
  2. Sample
  3. Event

Devices

  1. Text Input
  2. Pointing Input

Event-based Programming

  1. Event Loop
  2. Callbacks

    Callbacks need formal work. Java is trying hard but needs to step further back from the coal face.


Return to: