Topic 1 Introduction to Computer Graphics
Topic 1 Introduction to Computer Graphics
Computer Graphics
2
Computer Graphics
Computer graphics deals with all aspects of creating
images with a computer
Hardware
Software
Applications
3
Example
Where did this image come from?
4
Preliminary Answer
5
Basic Graphics System
Output device
Input devices
Image formed in FB
6
CRT
7
Computer Graphics: 1950-
1960
Computer graphics goes back to the earliest days of
computing
Strip charts
Pen plotters
Simple displays using A/D converters to go from
computer to calligraphic CRT
Cost of refresh for CRT too high
Computers slow, expensive, unreliable
8
Computer Graphics: 1960-
1970graphics
Wireframe
Draw only lines
Sketchpad
Display Processors
Storage tube
wireframe representation
of sun object
9
Sketchpad
Ivan Sutherland’s PhD thesis at MIT
Recognized the potential of man-machine interaction
Loop
Display something
User moves light pen
Computer generates new display
Sutherland also created many of the now common
algorithms for computer graphics
10
Display Processor
Rather than have the host computer try to
refresh display use a special purpose
computer called a display processor (DPU)
11
Direct View Storage Tube
Created by Tektronix
Did not require constant refresh
Standard interface to computers
Allowed for standard software
Plot3D in Fortran
Relatively inexpensive
Opened door to use of computer graphics for CAD
community
12
Computer Graphics: 1970-
1980
Raster Graphics
Beginning of graphics standards
IFIPS
GKS: European effort
Becomes ISO 2D standard
Core: North American effort
3D but fails to become ISO standard
Workstations and PCs
13
Raster Graphics
Image produced as an array (the raster) of picture
elements (pixels) in the frame buffer
14
Raster Graphics
Allows us to go from lines and wire frame images to
filled polygons
15
PCs and Workstations
Although we no longer make the distinction
between workstations and PCs, historically they
evolved from different roots
Early workstations characterized by
Networked connection: client-server model
High-level of interactivity
Early PCs included frame buffer as part of user
memory
Easy to change contents and create images
16
Computer Graphics: 1980-
Realism1990
comes to computer graphics
17
Computer Graphics: 1980-
1990
Special purpose hardware
Silicon Graphics geometry engine
VLSI implementation of graphics pipeline
Industry-based standards
PHIGS
RenderMan
Networked graphics: X Window System
Human-Computer Interface (HCI)
18
Computer Graphics: 1990-
2000
OpenGL API
Completely computer-generated feature-length
movies (Toy Story) are successful
New hardware capabilities
Texture mapping
Blending
Accumulation, stencil buffers
19
Computer Graphics: 2000-
2010
Photorealism
Graphics cards (GPU) for PCs dominate market
Nvidia, ATI
Game boxes and game players determine direction
of market (Wii, Kinect, etc)
Computer graphics routine in movie industry: Maya,
Lightwave
Programmable pipelines
20
Computer Graphics: 2010-
Mobile Computing
iPhone
Cloud Computing
Amazon Web Services (AWS)
Virtual Reality
Oculus Rift
Artificial Intelligence
Big Data/Deep Learning
Google Car
21
What is Computer Graphics?
(1/2)
Computer graphics generally means creation,
storage and manipulation of models and images
Such models come from diverse and expanding set
of fields including physical, biological,
mathematical, artistic, and conceptual/abstract
structures
Frame from animation by William Latham,
shown at SIGGRAPH 1992. Latham creates
his artwork using rules that govern patterns
of natural forms.
© 9/6/2018 22/39
What is Computer Graphics?
(2/2)
William Fetter coined term “computer
graphics” in 1960 to describe new design
methods he was pursuing at Boeing for
cockpit ergonomics
Created a series of widely reproduced images
on “pen plotter” exploring cockpit design,
using
“Perhaps3D
the model
best way of human
to define body.
computer graphics is to find out what it is not. It is
not a machine. It is not a computer, nor a group of computer programs. It is not the
know-how of a graphic designer, a programmer, a writer, a motion picture
specialist, or a reproduction specialist.
Computer graphics is all these – a consciously managed and documented
technology directed toward communicating information accurately and
descriptively.”
Computer Graphics, by William A. Fetter, 1966
© 9/6/2018 23/39
What is Interactive* Computer
Graphics? (1/2)
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…)
First truly interactive graphics system,
Sketchpad, pioneered by Ivan Sutherland 1963 Ph.D. thesis
Sketchpad, A
Note CRT monitor, light
Man-Machine Graphical Communication System pen, and function-key
panels – the “organ
Used TX-2 transistorized “mainframe” console” showing bi-
at MIT Lincoln Lab manual operation
24/39
What is Interactive Computer
Graphics? (2/2)
Almost all key elements of interactive graphics system are
expressed in first paragraph of Sutherland’s 1963 Ph.D. thesis
© 9/6/2018 25/39
What is Batch Computer
Graphics?
Today, we still use non-interactive batch mode (aka offline rendering) for
final production-quality video and film (special effects – FX). Rendering a
single frame of The Good Dinosaur (2015, a 24 fps movie) averaged 48
hours on a 30,000-core render farm!
Statistics from
© 9/6/2018
https://www.fxguide.com/featured/making-the-world-of-pixars-the-goo
d-dinosaur/
26/39
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 size
shrinks
Newest CPUs are 64-bit with 4, 8, 16, even up to 22
cores
Intel Coffee Lake – consumer processor with 8 cores,
16 threads, and a fully featured graphics chip built in
to the processor
Significant advances in commodity graphics chips
every 6 months vs. several years for general purpose
CPUs
NVIDIA GeForce RTX 2080 Ti… 4352 cores, 11GB
memory, and 14+ teraflops of processing power in a
single chip
NVIDIA statistics from
©9/6/2018
https://www.nvidia.com/en-us/geforce/graphics-cards/rtx-2080-ti/
27/39
Enabling Modern Computer
Graphics
(2/5)
Graphic subsystems
Offloads graphics processing from CPU to chip designed for doing
graphics operations quickly
NVIDIA GeForce™, AMD Vega™, and Intel HD and Iris Pro Graphics
GPUs originally designed to handle special-purpose graphics
computations
Increasingly, GPUs used to parallelize other types of computation
(known as GPGPU, or General-Purpose Computing on the Graphics
Processing Unit)
Hardware show and tell: NVIDIA GeForce GTX 1080 Ti (2017)
3584 cores, 1.58 GHz clock, 11GB memory, 139 billion pixels/second
fill rate
Department machines (row 6): NVIDIA GeForce GTX 970 (2014) –
still VR capable
1664 cores, 1.05 GHz clock, 4GB memory, 75 billion pixels/second fill
rate
Department machines: NVIDIA GeForce GTX 460 (2010) – fine for
123 assgns.
336 cores, 1.35 GHz clock, 1GB memory, 37.8 billion pixels/second fill
rate
© 9/6/2018 28/39
Enabling Modern Computer
Graphics (3/5)
Input Devices
Mouse, tablet & stylus, multi-touch, force feedback, and
other game controllers (e.g., JoyCon for Nintendo Switch),
scanner, digital camera (images, computer vision), etc.
Body as interaction device
http://youtu.be/zXghYjh6Gro
Kinect is not as relevant anymore commercially b/c VR is
more immersive
Xbox Kinect: Leap Motion:
© 9/6/2018 29/39
Enabling Modern Computer
Graphics (4/5)
Many form factors
Smartphones/laptops/desktops/tablets
Smart watches Android Phones
Tablets
Head-mounted displays (HMDs) Apple iPhone
HTC Vive
Augmented Reality
Virtual Reality
AR vs VR: Different experiences!
Microsoft’s first
Surface Apple Watch Android Wear
Brown’s old Cave Microsoft Hololens Vive Oculus Rift Google Cardboard
© 9/6/2018 30/39
Enabling Modern Computer
Graphics (5/5)
Software Improvements
Algorithms and data structures
Modeling of materials
renderers
Parallelization
Most operations are embarrassingly parallel: calculating
how
Rendering even available as internet service!
© 9/6/2018 31/39
Graphics Display Hardware
Ideal Vector
Drawing Drawing Outline Filled
© 9/6/2018 32/39
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. Application model may
contain lots of non-graphical data (e.g., non-geometric object
properties)
User interaction results in modification of image and/or model
This hardware and software framework is 5 decades old but is still
useful
Software Hardware
Graphics
System/
Application Application Graphics GPU
Model / database program Library
© 9/6/2018 33/39
Graphics Library
© 9/6/2018 34/39
Application Distinctions: Two Basic
Paradigms
© 9/6/2018 35/39
Sample-based Graphics (1/3)
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 the US
example programs: Adobe
Photoshop™, GIMP™ , Adobe
AfterEffects™ (which came out of
CS123/CS224!)
© 9/6/2018 36/39
Sample-based Graphics (2/3)
Pixels are point locations with associated sample values,
usually of light intensities/colors, transparency, and other
control information
When we sample an image, we sample the point location along
the continuous signal and we cannot treat the pixels as little
circles or squares,
CRT* beamthough they
illumination may be displayed as such
pattern
light
intensity
1 pixel
Visualization of a Can’t visually
mathematical pixel LCD display resolve adjacent
grid pixels on CRT
* Cathode Ray Tube, like those really old TVs
© 9/6/2018 37/39
Sample-based Graphics (3/3)
© 9/6/2018 38/39
Sampling
an Image
Lets do some sampling of CIT building
3D scene
A color value is measured at every grid point and used to color
corresponding grid square
0 = white, 5 = gray, 10 =
black
© 9/6/2018 39/39
What’s the Advantage?
© 9/6/2018 40/39
What’s the Disadvantage?
© 9/6/2018 41/39
Geometry-Based Graphics (1/2)
© 9/6/2018 42/39
Geometry-Based Graphics (2/2)
Geometry-based graphics applications
Store mathematical descriptions, or “models,” of geometric
elements (lines, polygons, polyhedrons, polygonal meshes…)
and associated attributes (e.g., color, material properties).
Geometric elements are primitive shapes, primitives for
short.
Images are created via sampling of geometry for viewing, but
not stored as part of model.
Users cannot usually work directly with individual pixels in
geometry-based programs; as user manipulates geometric
elements, program resamples and redisplays elements
Increasingly rendering combines geometry- and sample-
based graphics, both as performance hack and to increase
quality of final product
CG animated characters (geometry) on painted or filmed
scene images (samples)
© 9/6/2018 43/39
What is Geometric Modeling?
What is a model?
Captures salient features (data, behavior) of
object/phenomenon being modeled
data includes geometry, appearance, attributes…
note similarity to OOP ideas
Modeling allows us to cope with complexity
Our focus: modeling and viewing simple everyday objects
Consider this:
Through 3D computer graphics, we have abstract, easily changeable 3D
forms, for the first time in human history
Has revolutionized working process of many fields – science,
engineering, industrial design, architecture, commerce, entertainment,
etc. Profound implications for visual thinking and visual literacy
“Visual truth” is gone in the Photoshop and FX-saturated world (but
consider painting and photography…) – seeing no longer is believing…(or
shouldn’t be!)
© 9/6/2018 44/39
Modeling vs. Rendering
Rendering
Modeling
Create models Take “picture” with camera
Apply materials to models
Place models around scene Both can be done with commercial software:
Place lights in scene
Place the camera Autodesk MayaTM ,3D Studio MaxTM, BlenderTM
etc.
Point Light
Spot
Light
Directional Light
Ambient
Light
© 9/6/2018 45/39
Decomposition of a Geometric
Model
Divide and Conquer
Hierarchy of geometrical components
Reduction to primitives (e.g., spheres, cubes, etc.)
Simple vs. not-so-simple elements (nail vs. screw)
Head
Shaft
Point
composition decomposition
© 9/6/2018 46/39
Hierarchical (Tree) Diagram of
Nail
Object to be modeled is (visually) analyzed, and then decomposed into
collections of primitive shapes.
Tree diagram provides visual method of expressing “composed of” relationships
of model
© 9/6/2018 47/39
Composition of a Geometric
Model
Translate
Scale and Translate
Primitives Composition
in their own modeling in world (root)
coordinate system coordinate system
Primitives created in decomposition process must be
assembled to create final object. Done with affine
transformations, T, R, S (as in above example).
Order matters – these are not commutative!
© 9/6/2018 48/39
In Summary
© 9/6/2018 49/39