- 1 - Introduction to Computer Graphics System
- 1 - Introduction to Computer Graphics System
INTRODUCTION
Overview of Graphics Systems
WHAT IS COMPUTER GRAPHICS?
Cheap memory
Data Visualization
Scientific, Engineering,
Medical data
Visualizing millions to
billions of data points
Different schemes
COMPUTER
GRAPHICS
APPLICATIONS
Education and
Training
Models of physical,
financial, social systems
Comprehension of
complex systems
Computer Art
Fine and commercial art
Performance Art
Aesthetic Computing
SIGGRAPH
Games/Movies
COMPUTER
GRAPHICS
APPLICATIONS
Image Processing
Start with a picture
Process picture information
2
8
OVERVIEW OF GRAPHICS SYSTEMS
Images
Hardware
Input Systems
Computation
Output Systems
Software
OpenGL
TWO DIMENSIONAL IMAGES
(0,0) X Axis +X
HARDWARE PIPELINE
1. Define a set of
points (vertices) (7,9) (14,9)
in 2D space.
2. Given a set of
vertices, draw
lines between (7,3) (14,3)
consecutive
vertices.
Scanner
Images
Laser
Cameras
LOCATOR DEVICES
Virtual Reality
Trackers
Data Gloves
Digitizers
KEYBOARD
Text input
List boxes, GUI
CAD/CAM
Modeling
Hard coded
Vertex locations are inserted into code
SCANNERS
Image Scanners -
Flatbed, etc.
What type of data is
returned? Bitmap
Laser Scanners -
Deltasphere
Emits a laser and does
time of flight. Returns 3D
point
MANY OTHERS
Light Pens
Voice Systems
Touch Panels
Camera/Vision
Based
COMPUTATION STAGE
Computation
Transformations Rasterization
COMPUTATION STAGE
Computation
Model Output
Transformations Rasterization
Transformed
Model
HOW DO WE STORE THIS?
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Questions:
How is
What much
How
the
Howmemory
largest
bigmany
is the do
image we
pixels need
framebuffer?
you
arecantodisplay?
allocate
there?
for the framebuffer?
FRAMEBUFFER IN MEMORY
If we want a framebuffer of 640 pixels by 480 pixels, we should
allocate:
framebuffer = 640*480 bits
How many bit should we allocate?
Q: What do more bits get you?
framebuffer =
[255 255 255 0 0 255 0 0 255 0 255 0 255 0 0
0 255 0 0 255 0 …]
GRAPHIC CARD MEMORY
How much memory is on graphics card?
640 * 480 * 32 bits = 1,228,800 bytes
1024 * 768 * 32 bits = 3,145,728 bytes
1600 * 1200 * 32 bits = 7,680,000 bytes
IMAGE FORMATION IN A FRAME
BUFFER
5
6
COMPUTATION STAGE
Computation
Model Output
Transformations Rasterization
Transformed
Model
OUTPUT
The values in the framebuffer are converted from a digital (1s and 0s
representation, the bits) to an analog signal that goes out to the monitor.
A video card’s RAMDAC performs this operation, once per frame. This is
done automatically (not controlled by your code), and the conversion can
be done while writing to the framebuffer.
IMAGE QUALITY ISSUES
7
3
CRT PHOSPHOR
SCREEN
The screen is coated with
phosphor, 3 colors for a
color monitor, 1 for
monochrome.
For a color monitor, three
guns light up red, green,
or blue phosphors.
Intensity is controlled by
the amount of time at a
specific phosphor
location.
BEAM MOVEMENT
Beam Movement
scan line - one row on the screen
interlace vs. non-interlace - Each frame is either drawn entirely, or as
two consecutively drawn fields that alternate horizontal scan lines.
vertical sync (vertical retrace) - the motion of the beam moving from
the bottom of the image to the top, after it has drawn a frame.
refresh rate - how many frames are drawn per second. Eye can see 24
frames per second. TV is 30 Hz, monitors are at least 60 Hz.
VECTOR DISPLAYS
Lightweight