Overview of Graphics Systems
Overview of Graphics Systems
Outline
Survey of Computer Graphics
Overview of Graphics Systems
Image Basics
Graphics Hardware
Input
Describing something to the computer
Computation
Computing what we want to draw
Output
Final representation
RGB
Computer Graphics
Applications
Virtual Reality
VR: User interacts and
views with a 3D world
using more natural means
Best VR?
Data Visualization
Scientific, Engineering,
Medical data
Visualizing millions to
billions of data points
See trends
Different schemes
Computer Graphics
Applications
Education and Training
Models of physical,
financial, social systems
Comprehension of complex
systems
Computer Art
Games/Movies
Computer Graphics
Applications
Image Processing
~Inverse of Graphics
Start with a picture
Process picture
information
Graphical User
Interfaces (GUIs)
WIMP interface
HCI
Software
OpenGL
X Axis
+X
Hardware Pipeline
Input
Computation
Output
(7,9)
(14,9)
2. Given a set of
vertices, draw
lines between
consecutive
vertices.
(7,3)
(14,3)
Position relative
Representing Objects
Most common method is the VERTEX
method. Define the object as a set of points
with connectivity information.
Why is connectivity important?
Connectivity - information that defines
which vertices are connected to which
other vertices via edges.
Edge - connects two vertices
v4e4
73
79
14 9
14 3
12
23
34
41
(7,9)
(14,9)
(7,3)
(14,3)
How do we do this?
Input Devices
Locator Devices
Keyboard
Scanner
Images
Laser
Cameras (research)
Locator Devices
When queried, locator devices return a
position and/or orientation.
Locator Devices
When queried, locator
devices return a
position and/or
orientation.
Tablet
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
Many others
Light Pens
Voice Systems
Touch Panels
Camera/Vision Based
Which is best?
Common
Modeling
Approach
Hybrid
Animator jobs
v4e4
73
79
14 9
14 3
12
23
34
41
(7,9)
(14,9)
(7,3)
(14,3)
Computation Stage
Input
Computation
Output
Transformations
Rasterization
Computation Stage
Computation
Output
Model
Rasterization
Transformations
Transformed
Model
Framebuffer
Framebuffer - A block of memory, dedicated
to graphics output, that holds the contents of
what will be displayed.
Framebuffer
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
much
memory
do
we
need
todisplay?
allocate
What
How
the
How
largest
big
many
is the
image
pixels
framebuffer?
you
are
can
there?
for the framebuffer?
Framebuffer in Memory
If we want a framebuffer of 640 pixels by
480 pixles, we should allocate:
framebuffer = 640*480 bits
How many bit should we allocate?
Q: What do more bits get you?
A: More values to be stored at each pixel.
Why would you want to store something
other than a 1 or 0?
Bit depths
16 bits per pixel (high color)
5 bits for red, 5/6 bits for green, 5 bits for blue
potential of 32 reds, 32/64 green, 32 blues
total colors: 65536
Memory
unsigned byte framebuffer[640*480*3];
framebuffer =
[255 255 255 0 0 255 0 0 255 0 255 0 255 0 0
0 255 0 0 255 0 ]
True
256colors
color
colors
16
Dithering
Why does it work? Spatial integration.
Using the fact that our eyes usually blend
areas of high frequency.
Why do you need it? If you dont have
enough bits. Eyes can detect 100 shades of a
color. Banding occurs with fewer colors.
Where do you see this? Printers and
newspaper! Lets look at the Alligator.
Output
Input
Computation
Output
Hardcopy
Printers (Resolution, color depth)
Dot Matrix - uses a head with 7 to 24 pins to
strike a ribbon (single or multiple color)
Ink Jet Printers (fires small balls of colored ink)
Laser Printers (powder adheres to positive
charged paper)
Pen Plotters (similar to vector displays).
infinite resolution.
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 cards 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.
Brightness
Contrast
Refresh rate
Sensitivity of display
to viewing angle
Pixels
Pixel - The most basic addressable image
element in a screen
CRT - Color triad (RGB phosphor dots)
LCD - Single color element
Video Formats
Raster Displays
Cathode Ray Tubes (CRTs), most tube
monitors you see. Very common, but big
and bulky.
Liquid Crystal Displays (LCDs), there are
two types transmissive (laptops, those
snazzy new flat panel monitors) and
reflective (wrist watches).
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
Unlike CRTs, vector displays
have a single gun that is
controlled to draw lines. Think
of having a VERY FAST
drawing pen.
Pros: Diagrams/only draw what
you need
Cons: No fill objects/Slows
with complexity
CRTs (cont.)
Strong electrical fields and high voltage
Very good resolution
Heavy, not flat
LCDs (cont.)
Color is obtained by placing filters in front of
each LCD element
Usually black space between pixels to separate
the filters.
Because of the physical nature of the LCD
matrix, it is difficult to make the individual LCD
pixels very small.
Image quality dependent on viewing angle.
Advantages of LCDs
Flat
Lightweight
Low power consumption
Projection Displays
Use bright CRT or LCD
screens to generate an
image which is sent
through an optical
system to focus on a
(usually) large screen.
Transmittive Projection
System
Transmitive Projectors
CRT Based
Transmitive Projectors
LCD Based
Use a bright light to illuminate an LCD
panel, and a lens projects the image
formed by the LCD onto a screen.
Reflective Projectors
In reflective projectors, the image is formed on a
small, reflective chip.
When light shines on the chip, the image is
reflected off it and through a projection lens to the
screen.
Recent innovations in reflective technology have
been in the the following areas:
Microelectromechanical systems (MEMS)
Digital micromirror device (DMD, DLP)
Grating light valve (GLV)
Advantages/Disadvantages
of Projection Display
Very large screens can provide large FoV
and can be seen by several people
simultaneously.
Image quality can be fuzzy and somewhat
dimmer than conventional displays.
Sensitivity to ambient light.
Delicate optical alignment.
Head-Tracked Displays
(HTDs)
Display is stationary, tracker
tracks the users head relative
to the display.
Example: CAVE,
Workbench, Stereo monitor
3D Glasses
3D Display
3D Object
Graphics Software
How to talk to the hardware?
Special purpose software
Excel
AutoCAD
Medical Visualization
Programming API
Advantages?
Please Read Section 2.9