COMPUTER GRAPHICS
Definition: Using the computer to create, manipulate, modify, and/or
display images (data)
History
-
1940 - Teletype and line printer plotting
-
1950 - CRT
-
1955 - Command & Control CRT-SAGE air defense
-
1963 - Sketchpad (Sutherland's Interactive system)
-
1966 - line algorithm
-
1960's - Clipping
-
1967 - Hidden Surface Algs
-
1968 - Mouse
-
1968 - Ray Tracing
-
1973 - Raster screens readily available
-
1975 - Illumination Models
-
1980 - Ray Tracing with global illumination (Whitted)
-
1981 - Radiosity
-
1988 - Volume rendering
-
1980's - Virtual Reality
-
1980's - Seamless integration of computer graphics
and live film
-
1990's - Image Based Rendering
-
1990's - Full Length Computer Generated
Movies
-
2000's - 3D graphics technology becomes pervasive
Advanced Computer Graphics Technology at
commodity prices (e.g., next generation PC graphics boards, Sony
PS2,...)
USES
-
Desktop Publishing
-
Presentation graphics - graphs, charts, etc.
-
User Interfaces - point & click interaction, windowing
systems
-
CAD, CAAD - design
-
CAM - manufacturing (ex NC milling machines)
-
Simulators - flight, ship, car, etc.
-
Art - new tool for artists
-
Scientific Visualization - beats looking at 1000s of pages
of numbers
-
Entertainment - TV commercial, movies, special effects,
Movie Special Effects
- Abyss, Jurassic Park, Waterworld, Titanic
- The Storm, Hollow Man, Titan A.E., X-Men,...., The Grinch
Location Based Entertainment
- Atlantis, Seafari, Star Trek NG, Paul Allen's Rock & Roll
Full-length feature animations
-
Pixar/Disney animations 1995, 1998, ....
-
DreamWorks - Antz - October 1998
-
Disney Feature Animation - Dinosaur - 2000
- Computer Games and Game Consoles (Sony PS2,
Nintendo Dolphin, ...)
DISPLAY TECHNOLOGY
-
Electron gun
-
Deflection plates
-
B&W: Screen coated evenly with phosphors
-
Color: 3 different phosphors, 3 different guns shadow
mask, triads
- can't be used for vector displays, only raster
-
Phosphor persistence - time from
removal of excitation till the phosphorescence has decayed to less than
10% of the initial light output.
Typically 10 -60 µs.
-
Critical fusion frequency - the refresh
rate above which a picture stops flickering and "fuses" into a steady image.
-
Aspect ratio: display height to the
display width. (number of rows to number of columns)
American TV is 3:4
Aliasing
Definition: a
display artifact caused by improper sampling.
-Seen as jaggies (spatial), jittering(temporal), or
flashing/crawling (temporal)
-Arises from not sampling the signal enough (undersampling).
-This is why wagon-wheels spin backwards in movies
and TV.
(you never see this in person --
unless you blink rapidly)
-Not a feature, want a system with anti-aliasing, not
aliasing
-Fundamental problem in many aspects of computer graphics
We are approximating a continuous
world with discrete samples!
-Need to sample at twice the highest frequency in the
signal (Nyquist limit)
-Example:
DISPLAY TYPES
-
System Components:
-
Display Processor
- processes the commands for plotting points, lines
and characters Refresh buffer
- stores the display list from the CPU normally:
-
move (x,y),
-
draw (x,y), line (x,y), and
-
character (a,x,y) commands.
-
CRT & video-controller
-
How it works (general)
-
Display processor cycles through the commands in the refresh
buffer and sends the corresponding vector commands to the video-controller.
-
The video-controller then causes the deflection of the
electron-beam to produce the line on the screen.
-
Must refresh the display rapidly so the image doesn't
flicker (cycle through the display list 30 times per second)
-
Diagram:
-
Advantages of Vector Displays:
-
No Scan conversion necessary. DPU just processes the lines.
-
No aliasing of the lines.
-
Disadvantages:
-
Scene complexity limited because of refresh rate
- DPU must be able to process the entire display list
in 1/30th of a second or have flicker.
-
Can't do filled objects -only line drawings
-
More expensive that raster-based systems.
-
Basic Results:
-
Raster Displays -(pixels)
-
-
System Components:
-
Display Processor
- processes the commands for plotting points, lines,
characters, polygons, and filled areas.
- May be absent in cheaper systems - Expensive hardware
component ($500-$100,000)
-
Frame (refresh) buffer
- stores the screen pattern
-
Scanline
- horizontal row of pixels in the frame buffer
-
Pixel - picture element
- smallest addressable unit in a raster system (both
the screen and frame buffer)
-
Typical resolutions: 640x480 (video), 1024x768, 1280x1024
(most high quality color displays)
-
CRT & video-controller
-
How it works (general)
-
Display processor processes the commands in the display
list and produces the raster image in the frame buffer.
-
The video-controller then scans out the raster image one
scan-line at a time.
-
May use a color lookup table(LUT) or palette between frame-buffer
and video-controller.
-
Must refresh the display rapidly so the image doesn't
flicker (redisplay the raster image 30-60 times per second.)
-
Diagram:
-
Advantages:
-
can display solid areas
-
cheaper
-
scene complexity not a problem for refreshing
-
Disadvantages: Rasterization
-
Aliasing
-
must rasterize everything. (can't send line & character
primitives)
Frame-buffers
-
Monochrome : 1 bit per pixel (bitmap)
-
Full color: 24 bits/pixel - 8 for
each or r,g,b
-
Others: if a LUT is not used, can
have as many colors or shades of grey as specified by the number of bits/pixel
8 bits => 256 colors (normally 3,3,2) or shades of
grey.
-
Color LUTs (palettes)
-
Each entry in the frame buffer is an index into the LUT.
- if n bits/pixel => 2n entries in the
LUT
-
LUT entry then determines the color sent to the screen.
-
If each LUT entry is p bits, then can display 2p
possible colors (example p=24 => 16 million colors in the palette)
-
Can only display 2n colors simultaneously.
-
Diagram:
-
Example (typical) :
-
frame-buffer: 8 bits/pixel
-
LUT: 24 bits/entry
-
Therefore, can display 256 colors at any one time out
of a possible 16 million
-
Why use an LUT?
- cheaper than full color (3 bytes*1280*1024 = almost
4MB of memory)
- allows more displayable colors than without one.
- Can do color table animation (later in course)