Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P....

13
© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 1 CS4620: Introduction to Computer Graphics Professor: Doug James © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 2 Introduction © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 Computer graphics: The study of creating, manipulating, and using visual images in the computer. 3 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 4 Or, to paraphrase Ken Perlin... Computer graphics: The tool you need to show other people your dreams.

Transcript of Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P....

Page 1: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 1

CS4620: Introduction to Computer Graphics

Professor: Doug James

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 2

Introduction

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Computer graphics: The study of creating, manipulating, and using visual images in the computer.

3 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 4

Or, to paraphrase Ken Perlin...

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

Page 2: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 5 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Graphics Applications

• Entertainment– film production– film effects– games

• Science and engineering– computer-aided design– scientific visualization

• Training & Simulation• Graphic Arts• Fine Art

6

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 7

Pixar—Toy Story (1995)

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Pixar—Ratatouille (2007)

8

Page 3: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 9

Pixar—Ratatouille (2007)

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 10

Pixar—Ratatouille (2007)

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

King Kong (Universal Pictures, 2005)—visual effects: WETA Digital

11 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 12

King Kong (Universal Pictures, 2005)—visual effects: WETA Digital

Page 4: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 13 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 14

The Two Towers (New Line Cinema, 2002)—visual effects: WETA Digital

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1id Software—Quake 4 (screenshot: Planet Quake) 15 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Electronic Arts—NBA Live 07 (screenshot: gamespy.com)

16

Page 5: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 17

Crytek GmBH—advertisement for CryEngine 2 game engine

• Entertainment– film production– film effects– games

• Science and engineering– computer-aided design– scientific visualization

• Training & Simulation• Graphic Arts• Fine Art

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Graphics Applications

U. of Utah—Alpha 1

18

RIT Biochem. 502—Paul Craig

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 19

Kalju Kahn, UCSB

Simulated deformation of citrate synthase during substrate binding

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 20

Roger C. Wagner, Univ. Delaware

3D microscopyof capillariesin glomulerus of a human kidney

Page 6: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

NA

SA/A

mes

—A

CFS

• 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

21 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

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

22

• Entertainment– film production– film effects– games

• Science and engineering– computer-aided design– scientific visualization

• Training & Simulation• Graphic Arts• Fine Art

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Computer aided sculpturesErgun Akleman

23 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 24

Page 7: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 25

Problems in graphics

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Problems in graphics

• 2D imaging– compositing and layering– digital filtering– color transformations

• 2D drawing– illustration, drafting– text, GUIs POLYNOMIALS

SIGNAL PROCESSING

26

© 2009 Doug James • Cornell CS4620 Fall 2009 • 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

27 © 2009 Doug James • Cornell CS4620 Fall 2009 • 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

28

Page 8: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Cor

nell

PCG

29 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Hen

rik W

ann

Jens

en

30

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 31

• User Interaction– 2D graphical user interfaces– 3D modeling interfaces– virtual reality

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Problems in graphics CONT’D

TU

Ber

lin

SGI—

OpenInventor

SPHERICAL GEOMETRY

PROJECTIVEGEOMETRY

32

Page 9: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Problems in graphics CONT’D

• Animation– keyframe animation– physical simulation

Pixar

Enright et al. SIGGRAPH 2003

33

• Animation– keyframe animation– physical simulation

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Problems in graphics CONT’D

INTERPOLATION

DIFFERENTIALEQUATIONS

Pixar

Enright et al. SIGGRAPH 2003

34

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Computer graphics: Mathematics made visible.

35 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Course Overview

36

Page 10: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

In CS4620

• You will:– explore fundamental ideas– learn math essential to graphics– implement key algorithms– write cool programs

• You will not:– learn a lot about OpenGL or DirectX

(though you will use some OpenGL)

– write big programs---try CS4620 Practicum for that

37 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Topics

• Rendering 3D scenes(ray tracing as the basic model)

• Images and image processing(featuring sampling and reconstruction)

• Geometric transformations• The graphics pipeline

(with a slant toward understanding graphics hardware)

• Modeling in 2D and 3D• Color science

38

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Images

• What is an image?• Compositing• Resampling

[Tita

39 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Rendering

• ray tracing• shading & shadows• transparency• texture mapping

[Gla

ssne

r 89

]

40

Page 11: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Geometric transformations

• affine transforms• perspective transforms• viewing

rotate, then translate translate, then rotate

41 © 2009 Doug James • Cornell CS4620 Fall 2009 • 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

42

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Modeling

• splines• parametric surfaces• triangle meshes

[Rog

ers]

43 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Deformation

44

• articulated characters• blend shapes

• free-form deformation• subdivision surfaces

Page 12: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 45 © 2009 Doug James • Cornell CS4620 Fall 2009 • 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

46

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

In CS4621

• You will also:– implement a modeling and animation system, in groups of ~4– learn a lot about

• subdivision surfaces• mesh data structures• scene data structures• architecting good-sized interactive programs• using OpenGL

47 © 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1 48

Pixar—Geri’s Game

Page 13: Introduction to Computer Graphics CS4620: Introduction · 2009-08-31 · Adobe Photoshop [Photo: P. Greenspun] Adobe Illustrator •Entertainment –film production –film effects

© 2009 Doug James • Cornell CS4620 Fall 2009 • Lecture 1

Course mechanics

See web site:http://www.cs.cornell.edu/Courses/cs4620

49