Title: Advanced Computer Graphics Spring 2005
1Advanced Computer Graphics
(Spring 2005)
- COMS 4162, Lecture 1 Overview
- Ravi Ramamoorthi
http//www.cs.columbia.edu/cs4162
2Goals
- Systems Write fairly complex programs for image
processing, mesh algorithms, image synthesis - Theory Understand mathematical aspects and
algorithms underlying modern 3D graphics Fourier
analysissampling 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
3Course Outline
4Course Outline
Rendering (Creating, shading images from
geometry, lighting, materials)
Modeling (Creating 3D Geometry)
Unit 1 Foundations of Signal and Image
Processing Understanding the way 2D images are
formed and displayed, the important concepts and
algorithms, and to build an image processing
utility like Photoshop Weeks 1 3. Assignment 1
due Feb 15
5Course Outline
Rendering (Creating, shading images from
geometry, lighting, materials)
Modeling (Creating 3D Geometry)
Unit 1 Foundations of Signal and Image
Processing Understanding the way 2D images are
formed and displayed, the important concepts and
algorithms, and to build an image processing
utility like Photoshop Weeks 1 3. Assignment 1
due Feb 15
Unit 2 Meshes, Modeling Weeks 4 6. Ass 2 due
Mar 10
6Course Outline
Rendering (Creating, shading images from
geometry, lighting, materials)
Modeling (Creating 3D Geometry)
Unit 1 Foundations of Signal and Image
Processing Understanding the way 2D images are
formed and displayed, the important concepts and
algorithms, and to build an image processing
utility like Photoshop Weeks 1 3. Assignment 1
due Feb 15
Unit 3 Ray Tracing Weeks 7 9. Ass 3 due Apr
12
Unit 2 Meshes, Modeling Weeks 4 6. Ass 2 due
Mar 10
Unit 4 Advanced Topics Weeks 10. Ass 4 (final
project) due May 2
7Logistics
- 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 cs4160_at_cs.columbia.edu - TA office hours etc after next week of lectures
- Textbook Computer Graphics Principles and
Practice by Foley, van Dam, Feiner, Hughes
8Workload
- 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 dont 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. Dont really worry
about scores and grades. Just do work, have fun
9Related 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,
10To 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 cs4162_at_cs.columbia.edu 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?
11History
- Brief summary of course in context of history of
field
122D Graphics
- Many of the standard operations youre used to
- Text
- Graphical User Interfaces (Windows, MacOS, ..)
- Image processing and paint programs (Photoshop,
) - Drawing and presentation (Powerpoint, )
-
13Paint Systems
- SuperPaint system Richard Shoup, Alvy Ray Smith
(PARC, 1973-79) - Nowadays, image processing programs like
Photoshop can draw, paint, edit, etc.
14Image Processing
- Digitally alter images, crop, scale, composite
- Add or remove objects
- Sports broadcasts for TV (combine 2D and 3D
processing)
15Relevance to Course
- In 4160, didnt 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
16Modeling
- Spline curves, surfaces 70s 80s
- Utah teapot Famous 3D model
- More recently Triangle meshes often acquired
from real objects
17Relevance to Course
- Covered Bezier, B-spline curves for modeling in
4160 - Will 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
18Progressive Mesh Movie
19Rendering 1960s (visibility)
- Roberts (1963), Appel (1967) - hidden-line
algorithms - Warnock (1969), Watkins (1970) - hidden-surface
- Sutherland (1974) - visibility sorting
Images from FvDFH, Pixars Shutterbug Slide ideas
for history of Rendering courtesy Marc Levoy
20Rendering 1970s (lighting)
- 1970s - raster graphics
- Gouraud (1971) - diffuse lighting, Phong (1974) -
specular lighting - Blinn (1974) - curved surfaces, texture
- Catmull (1974) - Z-buffer hidden-surface algorithm
21Rendering (1980s, 90s Global Illumination)
- early 1980s - global illumination
- Whitted (1980) - ray tracing
- Goral, Torrance et al. (1984) radiosity
- Kajiya (1986) - the rendering equation
22Relevance to Course
- We didnt 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
23Image Synthesis Examples
24Summary
- 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