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

Post on 10-Oct-2020

18 views 0 download

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

CS4620/5620

Introduction to Computer Graphics

Professor: Kavita Bala

Computer graphics

The study of

creating,

manipulating, and

using visual images

in the computer

Or, to paraphrase Ken Perlin...

Computer graphics: What you need to show other people your dreams.

© 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

© 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

• 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

© 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

© 2015 Kavita Bala •(with previous instructor Marschner)

Cornell CS4620/5620 Fall 2015 • Lecture 1 8

What is graphics about?

What is the CG problem?

Shape

http://fc00.deviantart.net/fs70/f/2014/220/5/3/audi_r8_render_by_smiska333-d7u9pjt.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

Material

Light

Computer Graphics

shape

+

material

+

light

Real?Virtual?

© 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

Corn

ell P

CG

Kav

ita B

ala,

Bru

ce W

late

r

© 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

© 2015 Kavita Bala •(with previous instructor Marschner)

Cornell CS4620/5620 Fall 2015 • Lecture 1 18

© 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

• 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

© 2015 Kavita Bala•(with previous instructor Marschner)

Cornell CS4620/5620 Fall 2015 • Lecture 1

Computer graphics: Mathematics made visible.

21

© 2015 Kavita Bala •(with previous instructor Marschner)

Cornell CS4620/5620 Fall 2015 • Lecture 1

Introductions…

22

© 2015 Kavita Bala •(with previous instructor Marschner)

Cornell CS4620/5620 Fall 2015 • Lecture 1

Course Overview

23

© 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

© 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

© 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

© 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

© 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

© 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

© 2015 Kavita Bala •(with previous instructor Marschner)

Cornell CS4620/5620 Fall 2015 • Lecture 1

Textbook

Shirley & MarschnerFundamentals of Computer Graphicsthird edition

30

© 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

© 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

© 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