CHAPTER 2:
Graphics Hardware
Display (Video Display Device)
● Most CG on video monitors
●
Still most popular: Cathode Ray Tube (CRT)
●
Other popular display types:
– Liquid Crystal Display Plasma
–
display
–
Field Emission Displays Digital Light
–
Emitting Diodes
CRT
3. when electron
beams contact
screen phosphor
emits light
1.cathode rays
emitted by the
electron gun
4. light fades,
2. focusing
redraw required in
and
a small period
deflection
(refresh)
Vector Scan
● Picture definition is stored as a set of line drawing/beam of stream
in a refresh buffer.
● to display a picture, the system cycles through the set of commands in the
buffer
● Designed for line drawing applications (CAD)
Raster Scan
● Screen is a regular grid of samples called pixels (picture
element)
● Screen is refreshed line by line
interlaced, 2 cycles
● Interlacing: Avoid flickering affect for small refresh rates.
interlaced 50Hz: actually 25Hz
●
resolution: a 2D term that measures the number of
scan lines and the number of pixels on each line
(maximum number of points that can be displayed
without overlap)
intensity of a pixel can be achieved by the force of
●
electron beam (gray scale)
LCD Displays
●
Thinner and lighter. No tube and electron beams.
●
Blocking/unblocking light through polarized crystals.
●
A matrix of LC cells one for
each pixel.
●
No refresh unless the screen
changes.
●
Simple Raster Display
System
● Frame buffer: stored pixel map of screen
● Video controller just refreshes the frame buffer on the
monitor periodically.
CPU Peripheral
Devices
System Bus
System Frame Video Monitor
Memory Buffer Controller
● Inexpensive
● Scan conversion of output primitives (lines, rectangles etc.) done by the
CPU. Slow.
● As refresh cycle increases, memory cycles used by the video
controller increases. Memory is less available to CPU.
Solution: Graphics Display Processor
●
Algorithms
● A number of basic algorithms are needed:
– Transformation: Convert representations of models/primitives from one
coordinate system to another
–
Clipping/Hidden surface removal: remove primitives and part of primitives
that are not visible on the display
–
Rasterization: Convert a projected screen space primitive to a set of pixels.
Graphics Rendering
Pipeline
● Rendering: conversion from scene to image
3D Render 2D Image
Scene
● Scene is represented as a model composed of primitives.
Model is generated by a program or input by a user.
● Image is drawn on an output device: monitor, printer,
memory, file, video frame. Device independence.
● Typically rendering process is divided into steps called the
graphics pipeline.
● Some steps are implemented by graphics hardware.
● Programmable graphics accelerator, GPU:
programmable pipelines in graphics hardware
● The basic forward projection pipeline:
Modeling Viewing
Transformations Transformations
Model
M1
3D World V 3D View
Model Scene
M2 Scene
Model
M3
MCS WCS VCS
Rasterization
2D/3D Device
P Clip Normalize
Scene
Projection DCS
DCS
2D Image
SCS
Hidden Surface Removal / Visible Surface Detection
Hidden Surface Removal / Visible Surface Detection means detection of
Visible surfaces on projection of 3D object to 2D screen
Painter Algorithm or Depth Sorting or Priority Fill
Z Buffer Algorithm
A Buffer Algorithm
Scan Line Method ( line coherence)
Area Subdivision Algorithms ( Warnock's Algorithm ) (area coherence)
Z Buffer Algorithm/ Depth Buffer Algorithm
The two buffers are used for the purpose :
1. Z buffer or Depth Buffer : which stores the Z value of the
corresponding pixel
2. Frame Buffer : which stores the color value ( intensity value
) for the corresponding pixel
The size of these two Buffers is same as the screen size .
1. Initialise the depth buffer and frame buffer so that
for all buffer positions (x, y)
depth Buff(x, y) = 0
frame Buff(x, y) = bgColour
2. Process each polygon in a scene, one at a time
i) For each projected (x, y) pixel position of a polygon,
calculate the depth z
ii) If z < depth Buff(x, y), compute the surface color at
that position and set
depth Buff(x, y) = z
frame Buff(x, y) = surfColor(x, y)
This method only finds one visible surface at each pixel position that
means it deals with only opaque surfaces