department of computer science - 01introweb · –games • science and engineering...
TRANSCRIPT
![Page 1: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/1.jpg)
CS4620/5620
Introduction to Computer Graphics
Professor: Kavita Bala
![Page 2: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/2.jpg)
Computer graphics
The study of
creating,
manipulating, and
using visual images
in the computer
![Page 3: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/3.jpg)
Or, to paraphrase Ken Perlin...
Computer graphics: What you need to show other people your dreams.
![Page 4: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/4.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Graphics Applications
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– visualization (scientific, information)
• Virtual Prototyping• Cultural Heritage• Training & Simulation• Graphic Arts, Fine Art
4
![Page 5: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/5.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Graphics Applications
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– visualization (scientific, information)
• Virtual Prototyping• Cultural Heritage• Training & Simulation• Graphic Arts, Fine Art
5
![Page 6: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/6.jpg)
• Entertainment– film production– film effects– games
• Science and engineering– computer-aided design– visualization (scientific, information)
• Virtual Prototyping• Cultural Heritage• Training & Simulation• Graphic Arts, Fine Art
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Graphics Applications
U. of Utah—Alpha 1
6
![Page 7: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/7.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • 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
• Virtual Prototyping• Cultural Heritage• Training & Simulation• Graphic Arts, Fine Arts
7
![Page 8: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/8.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1 8
What is graphics about?
![Page 9: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/9.jpg)
What is the CG problem?
![Page 10: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/10.jpg)
Shape
http://fc00.deviantart.net/fs70/f/2014/220/5/3/audi_r8_render_by_smiska333-d7u9pjt.jpg
![Page 11: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/11.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
3D Modeling
• representing 3D shapes• polygons, curved surfaces, …• procedural modeling
[Hoppe et al. 1993]
Headus—Cysurf
[Prusinkeiwicz et al. 2001]
GRAMMARS
NUMERICAL OPTIMIZATION
DIFFERENTIAL GEOMETRY
11
![Page 12: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/12.jpg)
Material
![Page 13: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/13.jpg)
Light
![Page 14: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/14.jpg)
Computer Graphics
shape
+
material
+
light
Real?Virtual?
![Page 15: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/15.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
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
15
![Page 16: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/16.jpg)
Corn
ell P
CG
Kav
ita B
ala,
Bru
ce W
late
r
![Page 17: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/17.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Animation
• keyframe animation• physical simulation
Pixar17
Avengers (2012)
INTERPOLATION
DIFFERENTIAL EQUATIONS
![Page 18: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/18.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1 18
![Page 19: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/19.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Images
• 2D imaging– compositing and layering– digital filtering– color transformations
• 2D drawing– illustration, drafting– text, GUIs POLYNOMIALS
SIGNAL PROCESSING
19
![Page 20: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/20.jpg)
• 2D graphical user interfaces• 3D modeling interfaces• virtual reality, augmented reality
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
User InteractionT
U B
erlin
SGI—
OpenInventor
SPHERICAL GEOMETRY
PROJECTIVEGEOMETRY
20
![Page 21: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/21.jpg)
© 2015 Kavita Bala•(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Computer graphics: Mathematics made visible.
21
![Page 22: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/22.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Introductions…
22
![Page 23: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/23.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Course Overview
23
![Page 24: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/24.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Course mechanics
Web http://www.cs.cornell.edu/Courses/cs4620
Teaching Assistants (7 PhD/MS/MEng, ≥6 ugrad)Eston Schweickart, Nicolas Savva,Brandon Benton, Bryce Evans, Eric Gao, Fujun Luan, Zegiang Zhao
Jimmy Briggs, Kristen Crasto,Kyle Genova, Tongcheng Li, Andrew Mullen,Kate Salesin, Ning Wang, Kelly YuCristian Zaloj, software architect
Piazza: Please sign up!
24
![Page 25: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/25.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
In CS4620/5620
• You will:– explore fundamental ideas– learn math essential to graphics– implement key algorithms– write cool programs– learn the basics of OpenGL
• You will not:– write very big programs
25
![Page 26: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/26.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Topics
• Modeling in 2D and 3D• Geometric transformations• The graphics pipeline• Rendering 3D scenes
(using ray tracing and using the GPU)
• Animation• Images, image processing, color science
26
![Page 27: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/27.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • 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
27
![Page 28: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/28.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • 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• programmable shaders, textures, animation
28
![Page 29: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/29.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Workload
• CS 4620/5620– 7 assignments (written + programming)– 1 free late assignment (up to 1 week), else 10% per day– 2 exams (midterm + final)– Written (individual), programming (pairs)
• CS 4621/5621– Classes on Fridays
• First class this friday. No class for 2 fridays after. – 4 small assignments– one open-ended project– In pairs
29
![Page 30: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/30.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Textbook
Shirley & MarschnerFundamentals of Computer Graphicsthird edition
30
![Page 31: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/31.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
More books
Steven GortlerFoundations of Computer Graphicsfirst edition
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")
31
![Page 32: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/32.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Academic Integrity
32
• Written homework• On your own
• Programming• With partner
• We will test and follow up
![Page 33: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •](https://reader033.vdocument.in/reader033/viewer/2022051815/603df11962d283350f6dee1d/html5/thumbnails/33.jpg)
© 2015 Kavita Bala •(with previous instructor Marschner)
Cornell CS4620/5620 Fall 2015 • Lecture 1
Course mechanics
Web http://www.cs.cornell.edu/Courses/cs4620
Schedule, handouts, etc. all on the web page
Practicum (4621) • See schedule on website• Mixer this Friday• First planned meeting on website
33