CS 428: Fall 2009 Introduction to Computer Graphics · Computer Graphics Introduction and Overview...

Preview:

Citation preview

CS 428: Fall 2009

Introduction to

Computer GraphicsComputer Graphics

Introduction and Overview

9/2/2009 1Andrew Nealen, Rutgers, 2009

First things first…

� Seven slots left in CS 428

� Write me an email by 11:59pm today

� Name

� Why you want to take this course in max three � Why you want to take this course in max three

sentences

� Grades for the CS 428 prerequisites

� Calculus, Linear algebra, Java

� Keep it short!

� Will inform you on accept/reject by Thursday

Andrew Nealen, Rutgers, 2009 9/2/2009 2

People

� Instructor: Prof. Andrew Nealen

� CBIM (Bowser road, near student center)Room 21

� Office hours: Monday 1-3pm,

� Best to contact me by email, or office hours

� TA: Peter Borosan

� CBIM lab and Hill 250, 252 for office hours

� Office hours: TBA

� pborosan@

Andrew Nealen, Rutgers, 2009 9/2/2009 3

Web

� Website (external access)

� http://tinyurl.com/cs428-fall09

� Everything else: Sakai

� You should be able to see the “CS 428 Fall 09” tab � You should be able to see the “CS 428 Fall 09” tab

after logging in to

https://sakai.rutgers.edu/portal

with your RutgersID

� Mailing list:

cs428-fall09@sakai.rutgers.edu

Andrew Nealen, Rutgers, 2009 9/2/2009 4

What’s required?

� Programming (Java, JOGL)

� Math

� linear algebra, some numerical computation

� Time commitment� Time commitment

� This course is very work/code intense

� You need to be aware of this!

9/2/2009 5Andrew Nealen, Rutgers, 2009

Textbook

Computer Graphics with OpenGL, 3rd edition

Donald Hearn and M. Pauline Baker,

Prentice Hall, 2004

9/2/2009 6Andrew Nealen, Rutgers, 2009

Academic Integrity

� Read the web page!

� But basically:

� You need to do your own thinking, writing, and

programmingprogramming

� You should discuss the course material with other

people in the class, but you cannot give away how

to do the homeworks or projects

Andrew Nealen, Rutgers, 2009 9/2/2009 7

Computer accounts

� We’ll mainly be using Hill 248, 250 and 252

� Available on the course website

� How to set up an account

� How to get JOGL up and running� How to get JOGL up and running

� More…

� Access to the lab with your Rutgers ID

9/2/2009 8Andrew Nealen, Rutgers, 2009

Programming projects

9/2/2009 9Andrew Nealen, Rutgers, 2009

Grading

� Projects 60%

� Midterm 20%

� Final 20%

Late policy:

� tell me about problems in advance

� 50% credit for one day late (and no extra credit)

9/2/2009 10Andrew Nealen, Rutgers, 2009

What this course is about

� Representations, computational models, and

algorithms in computer graphics

� Using OpenGL on modern (programmable)

graphics hardwaregraphics hardware

9/2/2009 11Andrew Nealen, Rutgers, 2009

Algorithms:

simulation

Representation + comp. models

� Shapes + materials + appearances

� Motions + behaviors

� Representations: specifications

� Comp. models: realizations

2D/3D models

images + video

etc…

simulation

direct solution� Comp. models: realizations

� Structure of problems

� Spatial/temporal coherence. Sparsity.

� Optimization

� Approximation. Pre-computation.

Andrew Nealen, Rutgers, 2009 9/2/2009 12

Topic overview

� Image formation and OpenGL

� Transformations and viewing

� Polygons and polygon meshes

� Programmable pipelines� Programmable pipelines

� Modeling and animation

� Rendering

Andrew Nealen, Rutgers, 2009 9/2/2009 13

Topic overview

� Image formation and OpenGL

� Modeling the image formation process

� OpenGL primitives, OpenGL state machine

� Transformations and viewing� Transformations and viewing

� Polygons and polygon meshes

� Programmable pipelines

� Modeling and animation

� Rendering

Andrew Nealen, Rutgers, 2009 9/2/2009 14

Topic overview

� Image formation and OpenGL

� Transformations and viewing

� Linear algebra review, Homogeneous coordinates

� Geometric + projective transformations� Geometric + projective transformations

� Viewing, Viewports, Clipping

� Polygons and polygon meshes

� Programmable pipelines

� Modeling and animation

� RenderingAndrew Nealen, Rutgers, 2009 9/2/2009 15

Topic overview

� Image formation and OpenGL

� Transformations and viewing

� Polygons and polygon meshes

� 3D model/mesh representations� 3D model/mesh representations

� Piecewise linear shape approximations

� Illumination and polygon shading

� Modeling and animation

� Rendering

Andrew Nealen, Rutgers, 2009 9/2/2009 16

Topic overview

� Image formation and OpenGL

� Transformations and viewing

� Polygons and polygon meshes

� Programmable pipelines� Programmable pipelines

� Modeling and animation

� Procedural modeling and animation

� Rendering

Andrew Nealen, Rutgers, 2009 9/2/2009 17

Topic overview

� Image formation and OpenGL

� Transformations and viewing

� Polygons and polygon meshes

� Programmable pipelines� Programmable pipelines

� Modeling and animation

� Rendering

� OpenGL rasterization: hidden surface removal,

interpolation, texturing (some sampling theory)

� Raytracing and radiosity

Andrew Nealen, Rutgers, 2009 9/2/2009 18

Images

Modeling Rendering

3D Objects

3D graphics programmingHigh-level view

3D Models

approx. 50 x 100 Pixelsapprox. 25 Triangles

9/2/2009 19Andrew Nealen, Rutgers, 2009

Images

• Interaction

• Animation

3D Objects

3D graphics programmingHigh-level view

3D Models

• Scene

• Geometry

• Material

Modeling Rendering

• Material

• Illumination

9/2/2009 20Andrew Nealen, Rutgers, 2009

Making images in CG

simulationsimulation

9/2/2009 21Andrew Nealen, Rutgers, 2009

Appearance

9/2/2009 22Andrew Nealen, Rutgers, 2009

Shape

9/2/2009 23Andrew Nealen, Rutgers, 2009

Motion

9/2/2009 24Andrew Nealen, Rutgers, 2009

MoviesTron (1982)

9/2/2009 25Andrew Nealen, Rutgers, 2009

MoviesLuxo Jr. (1986)

9/2/2009 26Andrew Nealen, Rutgers, 2009

MoviesThe Matrix Revolutions (2003)

9/2/2009 27Andrew Nealen, Rutgers, 2009

MoviesKing Kong (2005)

9/2/2009 28Andrew Nealen, Rutgers, 2009

MoviesRatatouille (2007)

9/2/2009 29Andrew Nealen, Rutgers, 2009

MoviesWall-E (2008)

9/2/2009 30Andrew Nealen, Rutgers, 2009

Video gamesTeam Fortress 2 (2007)

9/2/2009 31Andrew Nealen, Rutgers, 2009

Video gamesResident Evil 5 (2009)

9/2/2009 32Andrew Nealen, Rutgers, 2009

Video gamesSpore (2008)

cell creature tribal

civilization space9/2/2009 33Andrew Nealen, Rutgers, 2009

Computational Design

9/2/2009 34Andrew Nealen, Rutgers, 2009

Scientific/Medical Visualization

9/2/2009 35Andrew Nealen, Rutgers, 2009

Training and Education

Andrew Nealen, Rutgers, 2009 9/2/2009 36

Art

Andrew Nealen, Rutgers, 2009 9/2/2009 37

Recommended