Chapter 1 - Introduction To Computer Graphics
Chapter 1 - Introduction To Computer Graphics
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
What is Interactive Computer Graphics?
User controls content, structure, and appearance of objects and their displayed images
via rapid visual feedback
Basic components of an interactive graphics system
input (e.g., mouse, tablet and stylus, multi-touch…)
processing (and storage)
display/output (e.g., screen, paper-based printer,
video recorder…)
First truly interactive graphics system,
Sketchpad, pioneered at MIT by Ivan
Sutherland for his 1963 Ph.D. thesis
Used TX-2 transistorized “mainframe” at Note CRT monitor, light pen and
Lincoln Lab function-key panel
20
Enabling Modern Computer Graphics (1/5)
Hardware revolution
Moore’s Law: every 12-18 months, computer power improves
by factor of 2 in price / performance as feature size shrinks
Significant advances in commodity graphics chips every 6
months vs. several years for general purpose CPUs
NVIDIA GTX 680… 3090.4 gigaflops nVidia GeForceTM chip
21
Enabling Modern Computer Graphics (2/5)
Graphic subsystems
Offloads graphics processing from CPU to chip designed for doing graphics operations
quickly
nVidia GeForce™, ATI Radeon™
GPUs used for special purpose computation, also bunched together to make supercomputers
GPU has led to development of other dedicated subsystems
Physics: nVidia PhysX PPU (Physics Processing Unit), standard on many NVIDIA GPUs
Hardware show and tell: Dept’s new NVIDIA GeForce GTX 460s
1.35 GHz clock, 1GB memory, 37.8 billion pixels/second fill rate
Old cards: GeForce 7300 GT: 350 MHz clock, 256 MB memory, 2.8 billion
fill rate
22
Enabling Modern Computer Graphics (3/5)
Input Devices
Mouse, tablet & stylus, multi-touch, force feedback, and other game controllers (e.g., Wii),
scanner, digital camera (images, computer vision), etc.
Whole body as interaction device:
http://www.xbox.com/kinect
23
Enabling Modern Computer Graphics (4/5)
Many form factors
Cell Phones/PDAs (smartphones), Apple iPhone™ Samsung Galaxy
laptop/desktops/tablets, SIII (Android)
Microsoft
Microsoft PPI display Surface
Microsoft PPI
display
24
Enabling Modern Computer Graphics (5/5)
Software Improvements
Algorithms and data structures
Modeling of materials
Rendering of natural phenomena
“Acceleration data structures” for ray tracing
Parallelization
Most operations are embarrassingly parallel: changing value of one pixel is
often independent of other pixels
Distributed and Cloud computing
Send operations into ‘cloud’, get back results, don’t care how
Rendering even available as internet service!
25
Environmental Evolution (1/5)
Character Displays (1960s – now)
Display: text plus pseudo-graphics (ASCII art)
Object and command specification: command-line typing
Control over appearance: coding for text formatting
(.p = paragraph, .i 5 = indent 5)
Application control: single task
26
Environmental Evolution (2/5)
Vector (Calligraphic, Line Drawing)
Displays (1963 – 1980s)
Display: line drawings and stroke text; 2D and 3D transformation hardware
Object and command specification: command-line typing, function keys, menus
Application control: single or multitasked, distributed computing
27
Environmental Evolution (3/5)
2D bitmap raster displays for PCs and workstations
(1972 at Xerox PARC - now)
Display: windows, icons, legible text, “flat earth” graphics
Object and command specification: minimal typing via
WIMP (Windows, Icons, Menus, Pointer) GUI
Control over appearance: WYSIWYG (which is really
WYSIAYG, What You See Is All You Get)
Application control: multi-tasking, networked client-
server computation and window management (even “X
terminals”)
28
Environmental Evolution (4/5)
3D graphics workstations (1984 – now)
Display: real-time, pseudo-realistic images of 3D
scenes
Object and command specification: 2D, 3D and N-D
input devices (controlling 3+ degrees of freedom)
and force feedback haptic devices for point-and-
Graphics workstations such as
click, widgets, and direct manipulation these have been replaced with
Control over appearance: WYSIWYG (still WYSIAYG) commodity hardware (GPUs)
29
Environmental Evolution (5/5)
High-end PCs with hot graphics cards (nVidia GeForce™,
ATI Radeon™) have supplanted graphics workstations
Such PCs are clustered together over
high speed buses or LANs to provide
“scalable graphics”
Now accessible to consumers via
new technologies like NVIDIA’s You can put multiple
SLI (Scalable Link Interface) bridge GPUs together in your
computer using SLI.
30
Graphics Display Hardware
Vector (calligraphic, stroke, Raster (TV, bitmap, pixmap) used in displays
random-scan) and laser printers
Driven by display commands (move (x, Driven by array of pixels (no semantics,
y), char(“A”) , line(x, y)…) lowest form of representation)
Survives as “scalable vector graphics” Note “jaggies” (aliasing errors) due to
sampling continuous primitives
31
Graphics Display Hardware
Bitmap graphics
Bitmap vs. Vector graphics
33
Bitmap vs. vector graphics
34
Conceptual Framework for Interactive Graphics
Graphics library/package is intermediary between application and
display hardware (Graphics System)
Application program maps application objects to views (images) of
those objects by calling on graphics library
User interaction results in modification of model and/or image
Software Hardware
Graphics
System/
Application Graphics GPU
Application
Library
Model / database program
35
Graphics Library
Examples: OpenGL™, DirectX™, Windows Presentation Foundation™
(WPF), RenderMan™, HTML5+WebGL
Primitives (characters, lines, polygons, meshes,…)
Attributes
Color, line style, material properties for 3D
Lights
Transformations
36
Application Distinctions: Two Basic Paradigms
Sample-based graphics: discrete samples
are used to describe visual information
pixels can be created by digitizing
images, using a sample-based “painting”
program, etc.
often some aspect of the physical world
is sampled for visualization, e.g.,
temperature across a country
example programs: Adobe Photoshop™,
GIMP™ , Adobe AfterEffects™, etc
37
Application Distinctions: Two Basic Paradigms
Geometry-based graphics : geometrical model
is created, along with various appearance
attributes, and is then sampled for
visualization (rendering a.k.a image synthesis)
often some aspect of physical world is visually
simulated, or “synthesized”
examples of 2D apps: Adobe Illustrator™, Adobe
Freehand™, Corel CorelDRAW™
examples of 3D apps: Autodesk’s AutoCAD™,
Autodesk’s (formerly Alias|Wavefront’s) Maya™,
Autodesk’s 3D Studio Max™
38
Sampling an Image
3D scene
A color value is measured at every grid point and used to color corresponding
grid square 0 = white, 5 = gray, 10 = black
40
What’s the Disadvantage?
WYSIAYG (What You See Is All You Get): No additional
information
no depth information
can’t examine scene from different point of view
at most can play with the individual pixels or groups of
pixels to change colors, enhance contrast, find edges, etc.
41
Geometry-Based Graphics
Geometry-based graphics applications store mathematical descriptions,
or “models,” of geometric elements (lines, polygons, polyhedrons…) and
associated attributes (e.g., color, material properties)
Point Light
Spot
Light
Directional Light
Ambient
Light
44