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

CS4620/5620: Introduction to Computer Computer graphics · 2011-08-27 · Graphics Applications pun] r •Entertainment –film production –film effects –games •Science and

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS4620/5620: Introduction to Computer Computer graphics · 2011-08-27 · Graphics Applications pun] r •Entertainment –film production –film effects –games •Science and

© 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

Page 2: CS4620/5620: Introduction to Computer Computer graphics · 2011-08-27 · Graphics Applications pun] r •Entertainment –film production –film effects –games •Science and

• 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

Page 3: CS4620/5620: Introduction to Computer Computer graphics · 2011-08-27 · Graphics Applications pun] r •Entertainment –film production –film effects –games •Science and

© 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

Page 4: CS4620/5620: Introduction to Computer Computer graphics · 2011-08-27 · Graphics Applications pun] r •Entertainment –film production –film effects –games •Science and

© 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

Page 5: CS4620/5620: Introduction to Computer Computer graphics · 2011-08-27 · Graphics Applications pun] r •Entertainment –film production –film effects –games •Science and

© 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

Page 6: CS4620/5620: Introduction to Computer Computer graphics · 2011-08-27 · Graphics Applications pun] r •Entertainment –film production –film effects –games •Science and

© 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