Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1 1
CS4620/5620: Introduction to Computer Graphics
Professor: Kavita Bala
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Computer graphics: The study of creating, manipulating, and using visual images in the computer.
2
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1 3
Or, to paraphrase Ken Perlin...
Computer graphics: What you need to show other people your dreams.
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Graphics Applications
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– visualization (scientific, information)
• Training & Simulation• Graphic Arts• Fine Art
4
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Graphics Applications
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– visualization (scientific, information)
• Training & Simulation• Graphic Arts• Fine Art
5 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1 6
PDI Dreamworks
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– visualization (scientific, information)
• Training & Simulation• Graphic Arts• Fine Art
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Graphics Applications
U. of Utah—Alpha 1
7 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Graphics Applications
8
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– visualization (scientific, information)
• Training & Simulation• Graphic Arts• Fine Art
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
NA
SA/A
mes
—A
CFS
Graphics Applications
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– scientific visualization
• Training & Simulation• Graphic Arts• Fine Art
Arm
y R
esea
rch
Lab—
IES
9 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Graphics Applications
Adobe Photoshop [Photo: P. G
reenspun]A
dobe Illustrator
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– scientific visualization
• Training & Simulation• Graphic Arts• Fine Art
10
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– scientific visualization
• Training & Simulation• Graphic Arts• Fine Art
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Graphics Applications
Computer aided sculpturesErgun Akleman
11 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1 12
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1 13
What is graphics about?
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1 14
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Problems in graphics CONT’D
• 3D modeling– representing 3D shapes– polygons, curved surfaces, …– procedural modeling
[Hoppe et al. 1993]
Headus—Cysurf
[Prusinkeiwicz et al. 2001]
GRAMMARS
NUMERICALOPTIMIZATION
DIFFERENTIALGEOMETRY
15 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Problems in graphics CONT’D
• 3D rendering– 2D views of 3D geometry– projection and perspective– removing hidden surfaces– lighting simulation
Cor
nell
PCG
Hen
rik
Wan
n Je
nsen
INTEGRAL EQUATIONS
16
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Cor
nell
PCG
17
Kav
ita B
ala,
Bru
ce W
late
r
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Problems in graphics CONT’D
• Animation– keyframe animation– physical simulation
Pixar
Enright et al. SIGGRAPH 2003
18
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Problems in graphics
• 2D imaging– compositing and layering– digital filtering– color transformations
• 2D drawing– illustration, drafting– text, GUIs POLYNOMIALS
SIGNAL PROCESSING
19
• User Interaction– 2D graphical user interfaces– 3D modeling interfaces– virtual reality
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Problems in graphics CONT’D
TU
Ber
lin
SGI—
OpenInventor
SPHERICAL GEOMETRY
PROJECTIVEGEOMETRY
20
© 2011 Kavita Bala •
Cornell CS4620 Fall 2011 •!Lecture 1
Computer graphics: Mathematics made visible.
21 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Course mechanics
Web http://www.cs.cornell.edu/Courses/cs4620
Teaching Assistants (3 Ph.D. TAs, 1 MEng, 3 ugrad TAs)* Ivaylo Boyadzhiev * Pramook Khungurn* Shuang Zhao* Yunfeng Bei* Mark, Mohamed, Asher
Mailing lists, ... (TBA)
22
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
CS4620/5620
• You will:– explore fundamental ideas– learn math essential to graphics– implement key algorithms– write cool programs– learn a little about OpenGL (http://www.opengl.org)
• You will not:– write big programs
23 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Topics
• Graphics pipeline• Rendering 3D scenes
– ray tracing– GPU
• Images and image processing(featuring sampling and reconstruction)
• Geometric transformations• Modeling in 2D and 3D• Animation• Color science
24
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Graphics pipeline
• rasterization• interpolation• z-buffer• vertex and fragment ops
APPLICATION
COMMAND STREAM
GEOMETRY PROCESSING
TRANSFORMED GEOMETRY
RASTERIZATION
FRAGMENTS
FRAGMENT PROCESSING
FRAMEBUFFER IMAGE
DISPLAY
25 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Rendering
• ray tracing• shading & shadows• transparency• texture mapping
[Gla
ssne
r 89
]
26
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Geometric transformations
• affine transforms• perspective transforms• viewing
rotate, then translate translate, then rotate
27 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Modeling
• splines• parametric surfaces• triangle meshes
[Rog
ers]
28
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Animation
29
• key frame animation• subdivision surfaces
• physics-based animation• particle systems
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Images
• What is an image?• Compositing• Resampling
[Ti
ta nic
; Di
git
al D o m ai n;
vf xh q. co m]
30
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
CS4620 Prerequisites
• Programming– ability to read, write, and debug
small Java programs (10s of classes)– understanding of very basic data structures– no serious software design required
• Mathematics– vector geometry (dot/cross products, etc.)– linear algebra (just basic matrices in 2-4D)– basic calculus (simple derivatives)– graphics is a good place to pick up some, but not all, of this
31 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
In CS4621
• You will also:– implement a modeling, rendering, animation system
• in groups – learn a lot about
• architecting good-sized interactive programs• OpenGL• subdivision surfaces• mesh data structures• scene data structures
32
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Workload
• CS 4620/5620– 4-5 Homeworks– 2-3 programming assignments– No penalty for 1 late homework, then 10% per day
• CS 4621/5621– 4-3 programming assignments
33 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Academic Integrity
34
© 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Textbooks
Required Text: Shirley & MarschnerFundamentals of Computer Graphicsthird edition
Optional:OpenGL Programming Guide (a.k.a. the "Red Book")Older version available online:http://www.opengl.org/documentation/red_book/
GLSL Shading Language (a.k.a. the "Orange Book")
35 © 2011 Kavita Bala •(with previous instructors James/Marschner)
Cornell CS4620 Fall 2011 •!Lecture 1
Course mechanics
Web http://www.cs.cornell.edu/Courses/cs4620
Mailing lists, ... (TBA)
Practicum• Have to reschedule to Friday 3:30. Is that a problem? (Will also send email)
36