CS430 Computer Graphics - Winona State University

Download Report

Transcript CS430 Computer Graphics - Winona State University

CS430
Computer Graphics
Introduction
Chi-Cheng Lin, Winona State University
Topics
Introduction
 Applications
 Elementary Output Primitives
 Graphics Output Devices
 Graphics Input Devices
 Graphics Software Standards
 Interactive Computer Graphics

2
Introduction
What is Computer Graphics?
 History

Whirlwind Computer
1950, MIT
Computer-driven CRT (Cathode Ray Tube) displays
Sketchpad drawing system
1963, Ivan Sutherland
Interactive graphics: keyboard and light pen
Data structures
DAC system
1964, GM
Automobile design (CAD/CAM)
3
Introduction

History (cont’d)
Bitmap graphics
Apple and PC
Bitmap:
– A ones and zeros representation of the rectangular
array of points on the screen.
– The points are called pixels or pels (picture
elements).
GUIs
SIGGRAPH: www.siggraph.org
 Why computer graphics?

4
Applications
Art, entertainment, publishing
 Image processing
 Monitoring manufacturing processes
 Displaying simulation
 CAD
 Scientific analysis and visualization

5
Elementary Output Primitives
Polyline
 Curves
 Text
 Filled region
 Raster image


Each primitive is associated with a set
of attributes
6
Polyline

Connected sequence of straight lines
Figs. 1.8 and 1.9

Point (vertex, or dot)
Degenerated case of polyline
E.g., drawDot(x, y)

Line
Polyline of one line segment
E.g., drawLine(x1, y1, x2, y2)
7
Polyline

Polyline
E.g., drawPolyline(poly), where poly is a
list containing all endpoints
Fig. 1.10

Polygon
Formed by connecting the first and last
points of a polyline
Simple polygon: no two edges cross
Convex polygon
Concave polygon
Fig 1.11
8
Attributes of Polyline
Thickness
 Color
 Style

Solid, dotted, dashed, …

Joint (Fig 1.13)
Butt-end
round end
mitered
trimmed mitered
9
Curves
Circle
 Ellipse
 Parabola
 Hyperbola
 B-spline
 NURBS


Attributes?
10
Text
Character string
 Shape defined by (Fig. 1.16)

Bit map
Polyline or curve
E.g., drawString(x, y, string)
 Attributes

Font or “type face” (Fig. 1.15)
Size
Spacing
orientation
11
Filled Region (Area)

Shape filled with color or pattern
Figs. 17 and 18
Boundary is usually a polygon
 E.g., fillPolygon(poly, pattern)
 Attributes

Attributes of enclosing border
Pattern of filling
Color of filling
12
Raster Image
Image made up of pixels (Fig. 1.19)
 Stored as a 2D array of numerical
values (Fig. 1.20)

Bit map: 1 bit per pixel
Pixel map: >1 bits per pixel

Formats
pbm
ppm
13
Gray-Scale Raster Image

Pixel depth:
#bits needed to represent the gray level of
a pixel
1 bit: bi-level, black-and-white,
monochrome (Fig 1.26)
2 bits: 4 gray levels
4 bits: 16 gray levels
:
8 bits: 256 gray levels
14
Color Raster Image

Color value
Ordered triple (r, g, b) representing
intensities of red, green, blue, respectively

Color depth:
#bits used to represent the color of a pixel
E.g., color depth = 3
(0,0,0) = black, (1,1,1) = white
(0,0,1) = blue, (1,0,0) = red, (1,0,1) = ?
Q: how many colors can be represented?
15
Color Raster Image

High-quality true color image
Color depth = 24, 8 bits for each color
component
Q: how many colors can be represented?
Q: how many bytes are required to store a
480 x 640 image
Q: Is the image quality improved with a
larger color depth?
16
Graphics Output Devices

Vector
Raster

Display
Hard-copy
17
Vector Display
Electron beam deflected from endpoint to
endpoint
 One line at a time, similar to pen plotter
 Dictated by display commands
 Random Scan, refresh required
 Display processor must cycle through display
list to refresh CRT's phosphor at least 60
times per second (60Hz) to avoid flicker.
 Image changed by changing display
commands in the list
18

Raster Output Device
2D display surface
 Built-in 2D coordinate system, either
upside-down or not (Fig. 1.35)
 A position on the display surface is
associated with an image pixel


Frame buffer
A region of memory to hold all of the pixel
values for the display surface
Where is it in a computer?

Block diagram (Fig. 1.36)
19
Raster Output Device

Scanning process (Fig. 1.37)
Sequential scan
One line at a time, from left to right
From top to bottom
Back to top (refresh, required for CRT monitor)
– Refresh rate must be >60 times per second to
prevent flicker
20
Raster Display (Monitor)
Display primitives stored in a frame
buffer in terms of primitives' component
pixels
 Images formed from the raster, a set of
horizontal scan lines

Scan line: a row of individual pixels
Raster is stored as a matrix of pixels
representing entire screen area
 Memory issue
 Sequential scan and refresh

21
Raster Display (Monitor)
22
Raster Display (Monitor)
Beam's intensity set to reflect pixel's
intensity at each pixel
 Color Systems

Three beams, RED, GREEN, and BLUE, are
controlled
Two types
True color display system
Indexed color display system
23
Comparison of Vector and Raster

Raster Displays
Advantages
Lower cost
Ability to display filled area
Disadvantages
Discrete nature of pixel presentation
Aliasing: Jaggies or staircasing caused by
approximation
24
Comparison of Vector and Raster
25
True-color Display System

Operation (Fig. 1.38)
26
Indexed-Color Display System
Pseudo-color display system
 Color lookup table (LUT)

Pixel value used as an index into LUT
Programmable
Palette: set of possible colors can be displayed

If color depth=b and LUT width=w
2w colors can be displayed, any 2b at one time

Example (Fig1.40): 6 bpp, 15-bit color
32K colors can be displayed, 64 at one time
The display has a palette of 32K colors
27
Comparisons of Color Systems

Example (Fig 1.41):
1024x1280-pixel-display
True color system, color depth = 24
 Memory requirement:
1024 x 1280 x 24  4MB
Indexed color system, color depth = 8,
width of LUT = 24 bits
 Memory requirement:
1024 x 1280 x 8 + 256 x 3  1MB

Indexed color displays with LUT is much
cheaper than true color systems!!
28
Hard-Copy Output Devices

Plotter
Flatbed plotter
Drum plotter
Dot matrix printer
 Laser printer
 Inkjet printer
 Film recorder


Which are vector and which are raster?
29
Graphics Input Devices

Logical input devices (primitives)
String
Choice
Valuator
Locator
Pick
30
Graphics Input Devices

Physical input devices
Keyboard
Buttons
Mouse
Tablet
Joystick and trackball
Knobs
Space ball and data glove
Digitizing 3D objects and capturing motion

Which physical input devices are suitable
for a particular logical input device?
31
Graphics Software Standards

Core
3D Core graphics System
Produced by an ACM SIGGRAPH committee

GKS
Graphics Kernel System
2D
GKS-3D, 1988
Groups of primitives arranged as
segments, but not nested
32
Graphics Software Standards

PHIGS
1988 (Programmers Hierarchical
Interactive Graphics System)
Nested structures
Structure databases
PHIGS PLUS: includes shading and lighting
Complicated, large

de facto Standards:
PEX (PHIGS Extension to X)
PostScript
OpenGL
33
Interactive Computer Graphics

Framework
34
Interactive Computer Graphics

Interactive handling schema
Generate initial display
do {
enable selection of commands or objects
wait for user selection
switch (on selection) {
process selection to complete command
or process completed command
updating model and screen as needed
}
} while (!quit)
35