Top Banner
Advanced Computer Graphics Advanced Computer Graphics (Spring 2005) (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi http://www.cs.columbia.edu/~cs4162
24

Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Advanced Computer Graphics Advanced Computer Graphics (Spring 2005) (Spring 2005)

COMS 4162, Lecture 1: Overview

Ravi Ramamoorthi

http://www.cs.columbia.edu/~cs4162

Page 2: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

GoalsGoals

Systems: Write fairly complex programs for image processing, mesh algorithms, image synthesis

Theory: Understand mathematical aspects and algorithms underlying modern 3D graphics [Fourier analysis+sampling theory, mesh geometric data structures, Monte Carlo rendering, integration]

This course is a continuation of COMS 4160, intro graphics. It fills in some of the gaps there, and provides a more advanced thorough overview

Page 3: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Course OutlineCourse Outline

3D Graphics Pipeline

Rendering(Creating, shading images from geometry, lighting, materials)

Modeling(Creating 3D Geometry)

Page 4: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Course OutlineCourse Outline

3D Graphics Pipeline

Rendering(Creating, shading images from geometry, lighting, materials)

Modeling(Creating 3D Geometry)

Unit 1: Foundations of Signal and Image ProcessingUnderstanding the way 2D images are formed and displayed, the important concepts and algorithms, and to build an image processing utility like PhotoshopWeeks 1 – 3. Assignment 1 due Feb 15

Page 5: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Course OutlineCourse Outline

3D Graphics Pipeline

Rendering(Creating, shading images from geometry, lighting, materials)

Modeling(Creating 3D Geometry)

Unit 1: Foundations of Signal and Image ProcessingUnderstanding the way 2D images are formed and displayed, the important concepts and algorithms, and to build an image processing utility like PhotoshopWeeks 1 – 3. Assignment 1 due Feb 15

Unit 2: Meshes, ModelingWeeks 4 – 6. Ass 2 due Mar 10

Page 6: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Course OutlineCourse Outline

3D Graphics Pipeline

Rendering(Creating, shading images from geometry, lighting, materials)

Modeling(Creating 3D Geometry)

Unit 1: Foundations of Signal and Image ProcessingUnderstanding the way 2D images are formed and displayed, the important concepts and algorithms, and to build an image processing utility like PhotoshopWeeks 1 – 3. Assignment 1 due Feb 15

Unit 2: Meshes, ModelingWeeks 4 – 6. Ass 2 due Mar 10

Unit 3: Ray TracingWeeks 7 – 9. Ass 3 due Apr 12

Unit 4: Advanced TopicsWeeks 10+. Ass 4 (final project) due May 2

Page 7: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

LogisticsLogistics

Website http://www1.cs.columbia.edu/~cs4162 has most of information (look at it)

Office hours: after class (or just send me e-mail)

TA: Bo Sun, CEPSR 615

Course bulletin board to be set up, class TA e-mail: [email protected]

TA office hours etc after next week of lectures

Textbook: Computer Graphics Principles and Practice by Foley, van Dam, Feiner, Hughes

Page 8: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

WorkloadWorkload

Challenging course: Lots of fun, rewarding but may involve significant work (like 4160, perhaps more understanding, a little less actual code)

4 programming projects. All are significant effort, real systems. Also require well documented reports (websites). Challenging but fun But most of you built games. I don’t think workload substantial relative to that You have 3-4 weeks. Project scope assumes you actually work on them for 3-4

weeks. START EARLY and work steadily. Groups of 2 quasi-required (you can work alone, but at your own risk)

Assignments 1-3 also have written questions that test understanding of mathematical and geometrical concepts taught Also done in groups of 2 as for programming. Start early here too No midterms or finals

Prerequisites: COMS 4160 or equivalent intro to graphics Note: some overlap possible for those who took intro graphics elsewhere.

Have fun and relax on those parts, or go overboard…

Generously graded: You did well in 4160, here to have fun, learn graphics. Don’t really worry about scores and grades. Just do work, have fun

Page 9: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Related coursesRelated courses

COMS 4167, on animation Prof. Grinspun this semester

Many 6000-level courses (e.g. COMS 6160 High Quality Real-Time Rendering taught by me last fall) if you are still here next year

Part of Vision and Graphics track in BS and MS programs. Columbia Vision and Graphics Center

Other related courses: Computer Vision, Robotics, User Interfaces Computational Geometry, …

Page 10: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

To Do To Do

Look at website

Various policies etc. for course. Send me e-mail if confused.

Skim assignments if you want. All are tentatively ready (except for assignment 1, which is released)

Assignment 0, Due Jan 20 tomorrow (see website). Send e-mail to [email protected] telling us about yourself and sending us a digital photo if possible (to put names to faces).

Assignment 1, Due Feb 15. Start working on it next week, but for now, make sure you can download and compile

Find partners for assignment 1 and possibly later. Does anyone need help? Any other questions?

Page 11: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

HistoryHistory

Brief summary of course in context of history of field

Page 12: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

2D Graphics2D Graphics

Many of the standard operations you’re used to:

Text

Graphical User Interfaces (Windows, MacOS, ..)

Image processing and paint programs (Photoshop, …)

Drawing and presentation (Powerpoint, …)

Page 13: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

SuperPaint system: Richard Shoup, Alvy Ray Smith (PARC, 1973-79)

Nowadays, image processing programs like Photoshop can draw, paint, edit, etc.

Paint SystemsPaint Systems

Page 14: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Digitally alter images, crop, scale, composite

Add or remove objects

Sports broadcasts for TV (combine 2D and 3D processing)

Image Processing Image Processing

Page 15: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Relevance to CourseRelevance to Course

In 4160, didn’t cover 2D at all

But relevant broadly (not just for 2D), since ultimately 3D scene displayed as 2D image

In 4162, we cover image processing and many photoshop functions [assignment to write a mini-version]

Page 16: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

ModelingModeling

Spline curves, surfaces: 70s – 80s

Utah teapot: Famous 3D model

More recently: Triangle meshes often acquired from real objects

Page 17: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Relevance to CourseRelevance to Course

Covered Bezier, B-spline curves for modeling in 4160Will talk briefly about NURBS, surfaces in 4162

Main idea is to talk about mesh processing algs.

Will learn to represent, work with meshes

Do mesh simplification, progressive meshes

Page 18: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Progressive Mesh MovieProgressive Mesh Movie

Page 19: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Rendering: 1960s (visibility)Rendering: 1960s (visibility) Roberts (1963), Appel (1967) - hidden-line algorithms Warnock (1969), Watkins (1970) - hidden-surface Sutherland (1974) - visibility = sorting

Images from FvDFH, Pixar’s ShutterbugSlide ideas for history of Rendering courtesy Marc Levoy

Page 20: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

1970s - raster graphics Gouraud (1971) - diffuse lighting, Phong (1974) - specular lighting Blinn (1974) - curved surfaces, texture Catmull (1974) - Z-buffer hidden-surface algorithm

Rendering: 1970s (lighting)Rendering: 1970s (lighting)

Page 21: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Rendering (1980s, 90s: Global Illumination)Rendering (1980s, 90s: Global Illumination)

early 1980s - global illumination Whitted (1980) - ray tracing Goral, Torrance et al. (1984) radiosity Kajiya (1986) - the rendering equation

Page 22: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Relevance to CourseRelevance to Course

We didn’t talk about visibility algorithms in 4160 Nowadays, simple Z-buffer used OpenGL

Discussed illumination and shading models And theory (but not practice) of global illumination

In 4162, we will cover practical global illum.

First, build a simple ray tracer

Extensions/final project related to rendering

Page 23: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

Image Synthesis ExamplesImage Synthesis Examples

Page 24: Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi cs4162.

SummarySummary

COMS 4160 covered basics of computer graphics Theory of transformations, curves, illumination Building complex interactive graphics programs

COMS 4162 covers more advanced topics and fills in the gaps in 4160. Essential for full graphics intro 2D Image and Signal Processing (+Fourier analysis) Mesh algorithms (+Mesh geometric data structures) Ray Tracing (+Monte Carlo sampling for rendering) Advanced Rendering and other topics