Department of Computer Science - 01introWeb · –games • Science and engineering...

33
CS4620/5620 Introduction to Computer Graphics Professor: Kavita Bala

Transcript of Department of Computer Science - 01introWeb · –games • Science and engineering...

Page 1: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •

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 •

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 •

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 •

© 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 •

© 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 •

• 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 •

© 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 •

© 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 •

What is the CG problem?

Page 10: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •

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 •

© 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 •

Material

Page 13: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •

Light

Page 14: Department of Computer Science - 01introWeb · –games • Science and engineering –computer-aided design –visualization (scientific, information) • Virtual Prototyping •

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 •

© 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 •

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 •

© 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 •

© 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 •

© 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 •

• 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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 •

© 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