CS 174A Winter 2015
Introduction to Computer Graphics
Professor Demetri Terzopoulos
TAs: Franklin (Jingyi) Fang, Garett Ridge
Computer Graphics
The Art and Science of creating imagery by computer
Art
Mathematics
Vision
Physics
Engineering
Optics
Biomechanics
Artificial
Intelligence
Applications of CG
Entertainment
Films
Computer Games
Virtual reality
Scientific visualization
Medical visualization
Flight simulation
Architecture
Education
History
2000 B.C.
orthographic projection
1400s
Perspective: Italian Renaissance
1600s
coordinate systems: Descartes
optics: Huygens
calculus, physics, optics: Newton
History
1897 oscilloscope: Braun
1950-1970
computers with vector displays
1966
first true raster display
1993
1200x1200, 500k triangles/sec, 36-bit color, stereo,
texture mapping all at 60Hz
1995
feature-length CG films
Todaystill rapidly evolving
Genesis of Computer Graphics and
Interactive Techniques
A PhD project at MIT in the early 1960s
Ivan E. Sutherland, 1963
Sketchpad, a man-machine graphical
communication system
Quiz
http://www.accad.ohio-state.edu/~waynec/history/timeline.html
1. When was the term Computer Graphics first stated?
William Fetter of Boeing coins the term "computer graphics"
for his human factors cockpit drawings 1960.
2. When was the Graphical User Interface developed?
GUI developed by Xerox (Alan Kay) 1969
3. When was Tron released?
Disney contracts Abel, III, MAGI and DE to create computer
graphics for the movie Tron released in 1981.
Quiz
4. Which is the first animated movie to employ CG?
The Great Mouse Detective (1986) was the first animated
film to be aided by CG.
5. When was the game Doom released?
1993
6. Which is the best selling game of all time?
http://en.wikipedia.org/wiki/List_of_best-selling_video_games
Tetris (135M copies), Wii Sports (82M), Minecraft (54M),
Super Mario Bros. (40M), Mario Kart Wii (35M),
Grand Theft Auto V (34M),
Quiz
7. Which is the newest CG animated movie?
?? (trick question)
8. Which is bigger in terms of gross revenue, the game industry
or the (Hollywood) movie industry?
The game industry
9. Which is your favorite animated movie?
The First Computer Game?
Pong, Atari, 1972
Spacewars, PDP1, MIT, 1961
Metal Gear
Solid 4
Games
Focus on interactivity
Movies
To reality and beyond !
Movies
Special effects
Movies
Digital Compositing
Digital compositing
Digital Compositing
Cartoons
Computer-Aided Design
Precision modeling
Engineering
visualization
Modeling Clay
Computer-Aided Design
Its not just about visualization
Simulation is also useful
Visualization: Scientific
Molecular Biology
Environmental Physics
Visualization: Medical
Visualization: Architectural
http://www.diamondschmitt.com/
Visualization: Info
Smith and Fiore
Graphical User Interfaces
Steven Schkolne
Art
Steven Schkolne
Digital Art
Genetically evolved
Carl Sims
Digital Art
By Jason Salavon
The Top-Grossing Film of All Time
^nd
2
Titanic
What is an Image / Video?
Array of pixels (one or more numbers)
A video is a time sequence of images
How they are formed:
Objects in the world
(static or dynamic)
Illumination
(light sources)
Imaging device
(eye, camera)
Camera
We want to synthesize images/videos
Basic Elements
Modeling
Animation
Rendering
Interaction
Illumination
Objects
Basic Elements
Modeling
How do we model (mathematically represent) objects?
How do we construct models of specific objects?
Animation
How do we represent the motions of objects?
How do we give animators control of this motion?
Rendering
How do we simulate the real-world behavior of light?
How do we simulate the formation of images?
Interaction
How do we enable humans and computers to interact?
How do we design human-computer interfaces?
Modeling
Primitives
3D points
3D lines and curves
surfaces (BREPs): polygons,
patches
volumetric representations
image-based representations
Attributes
Color, texture maps
Lighting properties
Geometric transformations
Rendering
Visibility
Simulating light
propagation
Reflection
Asborption
Scattering
Emission
Interference
Animation
Keyframe animation
Motion capture
Procedural animation
Physics-based animation
Behavioral animation
Interaction
Input/Output Devices
Tools
Modeling, rendering, and animation
Elements of CG
The graphics pipeline
Modeling
Animation
Rendering
Modeling
Representing
objects
geometrically on
a computer
Point clouds
Texture maps
Polygon meshes
Surface patches NURBS
Parametric curves
Modeling
Voxels
Alternative
representations
Blobs
Subdivision surfaces
Modeling
Altering geometric models
Affine transform
Ying, Kristjansson, Biermann, Zorin
Scanning Shapes
Digital Michaelangelo Project
Plant Modeling
Plant Modeling
Illumination
Rendering
Key elements
Camera
Pixels
Camera Model
Geometric Shape
& Reflectance
Rendering
Draw visible surfaces onto display
Camera
(view direction)
Clipping
Image
Plane
Camera
(eye position)
Reflectance Modeling
Scan
Conversion
Complex Reflectance
Subsurface Scattering
Translucency and varied levels of light penetration can be
created using subsurface scattering effects
Texture
Multilevel texture
synthesis
Non-Photorealistic Rendering
Aaron Hertzmann
Rendering: Information
Animation
Keyframe animation
Keyframing
Animation
Pixar: Luxo Jr. (1986)
Animation
Motion capture
Animating Golem in LOTR
Animation
The Animatrix
Final Flight of the Osiris
Animation
Example: Geris Game - Pixar
Cloth Simulation
Dynamics
Animation
Physics-based animation
Fluid Simulation
Modeling
Incompressibility
Viscocity
Navier-Stokes Equations
u 0
u
1
v (u) (u )u p g
t
Level Sets
u : fluid velocity field
g : gravity
p: pressure
v : viscosity
: density
Smoke Simulation
Assumptions
No viscosity
Rendering
Photon maps
Multiple scattering
u 0
u
1
(u )u p f
t
u : smoke velocity field
f : external forces
p: pressure
: density
Animation
Behavioral animation
Ethology
Reality is *Very* Complex
Reality is *Very* Complex
Great! But what are we going to do?
Learn the mathematical basics of graphics
Apply them in 3 programming assignments
Show that you know them in 2 exams
Summary of the Syllabus
Math
Rendering
Modeling
Animation
(Interaction)
(Hardware)
Math
Linear (vector/matrix) algebra
Coordinate systems
Geometry
Points, lines, planes
Affine transformations
Projection transformations
More geometry
Curves, surfaces
Comments From Previous Courses
Lots of (dry) math!
A lot of material
Fast pace
A lot of programming
Tough third project
Challenging final exam
Great animation shows at the
start of each lecture!
Advice
Attend lectures and discussion sessions!
You will perform better on this course if you do (trust me)
The lecture slides are your bible for the exams
Start the assignments EARLY!!
Get HELP from us with the assignments EARLY!
Do NOT do more on the assignments than you are required,
unless you are done with the required part of the assignment
You will NOT get more points for additional work
Refresh your knowledge of linear algebra and geometry, and
keep up with the math
Important Issues to Remember
Manage your course load
No plagiarism (of course)
Do individual work
Your code must work on HSSEAS systems
Please send e-mails to us from your UCLA accounts only
A Basic Graphics System
Input devices
Output devices
Computing & rendering
system
Input Devices
Keyboard
Mouse
Light Pen
Game controller
Tablet
Data glove
Other sensors
Output Devices
Display
CRT, Plasma, LCD, Micromirror
Printer
2D and 3D Printers
Plotter
Standard Display Devices
CRT
LCD
(Cathode Ray Tube)
(Liquid Crystal Display)
Plasma
Exotic Display Devices
Head-Mounted
Immersive
Holographic
Autostereoscopic
CRT Raster Graphics
Virtual raster device
Grid of m x n phosphors
Real raster device
Volumetric
Analog Video Signal Format
Displaying Intensities
Gamma Correction
Basic Analog Display Architecture
Pixels:
Bitmap: 1bit/pixel
Grey scale: 8 bits/pixel
Color map: 8 bits/pixel, indirect
True color: 24 bits/pixel
True color + Alpha Channel: 32 bits/pixel
Images Monochrome
How many intensities are enough?
Black and White (Bitmaps)
Grayscale
Color
Common format RGB (3x8 = 24 bits per pixel)
Rendering System
Software
Interface
Primitives
Techniques
Hardware
Graphics Pipeline
The Graphics Pipeline
Why a pipeline?
Well defined stages
Parallelism
Software and Hardware
Radeon X800 by ATI
16 parallel rendering pipelines
Floating point architecture
Millions of triangles per second
Graphics Pipeline
Modeling
Illumination
Viewing (Projection)
Clipping
Visibility
Rasterization
Radeon 9700 by ATI
Modeling
Geometric Primitives
Points
Lines
Planes
Polygons
Parametric surfaces
Implicit surfaces
Etc.
Modeling Transformations
Assembly
Viewing
Orthographic
Clipping
Remove what is not visible
Perspective
Visibility
Resolve occlusions
(efficiently)
Illumination
Compute normals and
color at vertices
Per vertex operations
Shading
Rasterization
Convert to colored pixels
Per Pixel / Fragment Operations
Hardware features
Vertex shaders
Fragment shaders
Texture Mapping
Other Issues
Shadows
Participating media
Subsurface scattering
Motion blur
Camera models
Etc.
Final Result