Lect 1
Lect 1
(Lecture 1)
What is Computer Graphics?
Computer graphics generally means creation, storage and manipulation
of models and images
Computer graphics is simply the art and science of producing and
manipulating images and animations (or sequences of images) using a
computer.
Such models come from different and expanding set of fields including
physical, biological, mathematical, artistic, and conceptual structures
Graphics
3D Model 2D Image
Vision
What is Computer Graphics?
Imaging = representing 2D images
Modeling = representing 3D objects
Rendering = constructing 2D images from 3D models
Animation = simulating changes over time
Global illumination
Ray tracing
Animation (for reading)
Keyframing
Motion capture
Dynamics
Behaviors
What is Interactive Computer Graphics?
Sometimes called real-time computer graphics, and in certain contexts,
real-time rendering
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, stylus, multi-touch, in-air fingers…)
processing (and storage of the underlying representation/model)
display/output (e.g., screen, paper-based printer,
video recorder…)
Applications
Entertainment
Graphical User Interfaces
Computer-aided design
Scientific visualization
Training
Education
Computer art
Entertainment (passive)
Matrix Reloaded
Computer Aided Design
Compressible Turbulence (Lawrence Livermore National Labs) Visible Human (National Library of Medicine)
Training
Example-Based Composite Sketching of Human Portraits (Chen et al., MSRA, UCLA, MSR, UW, Microsoft)
Environmental Evolution (for reading)
Character Displays (1960s – now)
Display: text plus alphamosaic 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
Environmental Evolution (for reading)
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
Control over appearance: pseudo-WYSIWYG
Application control: single or multitasked, distributed computing pioneered at
Brown via mainframe host <-> minicomputer satellite
Term “vector” graphics survives as “scalable vector graphics” SVG library from
Adobe and W3C – shapes as transformable objects rather than just bitmaps
Environmental Evolution (for reading)
2D bitmap raster displays for PCs and workstations
(1972 at Xerox PARC - now)
Display: windows, icons, legible text, “flat earth” graphics
Above, a classic WIMP
Note: late 60’s saw first use of raster graphics, especially for interface. The technology,
flight simulators
at its core, remains largely
Minimal typing via WIMP GUI (Windows, Icons, Menus, the same today. Below, a
Pointer): point-and-click selection of menu items and modern WIMP interface.
objects, direct manipulation (e.g., drag and drop), “messy
desktop” metaphor
Control over appearance: WYSIWYG (which is really
WYSIAYG, What You See Is All You Get – not pixel-accurate
or controllable)
Application control: multi-tasking, networked client-server
computation and window management (even “X terminals”)
Environmental Evolution (for reading)
3D graphics workstations (1984 at SGI – 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-
click, widgets, and direct manipulation
Graphics workstations such as
Control over appearance: WYSIWYG (still these have been replaced with
WYSIAYG) commodity hardware (CPU + GPU),
e.g., our MaxBuilts + NVIDIA cards
Application control: multi-tasking, networked
(client/server) computation and window
management
Environmental Evolution (for reading)
High-end PCs with hot graphics cards (NVIDIA GeForce™, AMD
Radeon™) have supplanted graphics workstations
Such PCs are clustered together over
high speed buses or LANs to provide
“scalable graphics” to drive tiled
PowerWalls, CAVEs, etc.
Also build GPU-clusters as number crunchers,
e.g., protein folding, weather prediction
Now accessible to consumers via
technologies like NVIDIA’s
SLI (Scalable Link Interface) bridge