HOME
LECTURES
HOMEWORK
READING LIST
CODE
LINKS

 

Advanced Computer Graphics
CSCI E-235
MEETING TIMES INSTRUCTOR HELPFUL CONTACTS
MAILING LIST AND MESSAGE BOARD RELATED COURSES
WHAT IS THIS COURSE ABOUT? TEXTBOOKS
EXAMINATIONS WHAT DO I NEED TO KNOW BEFORE I TAKE THIS COURSE?
ASSIGNMENTS GRADING SYLLABUS
CALENDAR & LINKS TO LECTURE NOTES STUDENT COMMENTS

New and Updated top

May 24

Final Projects
- Great job, everybody!
Get QuickTime
Homework 3 Morphing Movie [High-res: 19 MB-Quicktime .mov]

Homework 3 Morphing Movie [Low-res: 5 MB-Quicktime .mov]

May 14
Lecture 14
Web page template for final projects

May 6
Lecture 13

George's slides

April 26
Note: Next class is on Thursday, May 2, same room (MD G125)

Lecture 12

Joel's slides

April 22
Lecture 11
Gershon's slides + demo

Final Projects requirements [99 kB-PDF]

April 11
Lecture 10

April 3
Lecture 9
Homework 3
Corrected BRDF slides [408 kB-PDF]

March 21
Homework 2 (Note: Updated version!) [129 kB-PDF]
Lecture 8
Updated Radiometry slides from lecture 7 [280 kB-PDF]
 
Meeting Times top


Lectures:
Wednesday, 7:35-9:35 PM, Maxwell Dworkin G125 
Sections: Monday, 7:35-9:35 pm, Sever Hall 107
There will be no section unless requested by at least one student. Please send email to Jeroen (jeroen@merl.com) and wait for his confirmation on the class mailing list.
Virtual Office Hours: The TA will be online on weekends for certain periods of time. The exact time of the virtual office hours will be announced on the mailing list every Friday.

 

Instructor top


Hanspeter Pfister 
email: pfister@merl.com
MERL - A Mitsubishi Electric Research Laboratory
201 Broadway
Cambridge, MA 02139
Office Phone: 617-621-7566 
URL: http://www.merl.com/people/pfister/

Lectures: Wednesday, 7:35-9:35 PM,  Maxwell Dworkin G125

Material for this course was gratefully contributed by the following people:

  • Tom Funkhouser, Princeton University
  • Oliver Staadt, ETH Zürich
  • Markus Gross, ETH Zürich
  • Anselmo Lastra, UNC

 

 
Helpful Contacts top


Teaching Assistant
Jeroen van Baar 
email: jeroen@merl.com 
MERL - A Mitsubishi Electric Research Laboratory
201 Broadway
Cambridge, MA 02139
Office Phone: 617-621-7577 
URL: http://www.merl.com/people/jeroen/

Sections: Mondays, 7:35-9:35 PM, Sever Hall 107 
By appointment only! Send email to jeroen@merl.com.

 
Mailing List and Message Board top


Mailing List

Post message: e235@yahoogroups.com
Subscribe: e235-subscribe@yahoogroups.com
Unsubscribe: e235-unsubscribe@yahoogroups.com
List owner: e235-owner@yahoogroups.com
URL: http://groups.yahoo.com/group/e235/

 

 
Related Courses top


E-234, Introduction to Computer Graphics
We have been teaching E-234 in the fall since 1999. Have a look at the E-234 course pages. Here is a collage of images from the fall 2000 final class projects. We were very impressed with the results!

 

 
What is this course about? top


    In this course we will discuss several advanced concepts and methods of three-dimensional computer graphics. The course builds directly on the course E-234 "Introduction to Computer Graphics". This is a programming class with the goal of providing you with sufficient background to write advanced computer graphics applications. Topics covered will include multi-resolution modeling, subdivision surfaces, image processing, image-based rendering, ray tracing, radiosity, and computer animation.

 
What do I need to know before I take this course? top


    You must have completed CSCI E-234 "Introduction to Computer Graphics". Or you must have multiple years of experience in 3D computer graphics programming. This is an advanced course and we will assume that you are completely familiar with the topics taught in E-234. Please have a look at the E-234 syllabus to make sure you have the necessary computer graphics background.

    You must have a couple of years of experience writing computer programs in C, C++, or Java. This is an advanced class and we will not have time to teach you basic programming skills. The programming effort for this class is substantial! Do not take this class if you have a heavy course load.

    We will use C, C++, and OpenGL throughout the course.

 
Textbooks top


Required Textbooks

Unfortunately, no single textbook covers all the material of this course. We will hand out class notes and photocopies of papers instead. And we highly recommend the textbooks below.

 

 

Recommended Textbooks

We recommend all books listed for E-234 "Introduction to Computer Graphics". The following books are available at the Harvard Coop:

Real-Time Rendering by Tomas Moller, Eric Haines (June 15, 1999), A K Peters Ltd; ISBN: 1568811012.

This is an excellent book about many aspects of computer graphics. I like the in-depth discussions and the breadth of the covered topics. The book also discusses many recently developed techniques.

 

Advanced Animation and Rendering Techniques : Theory and Practice by Alan H. Watt, Mark Watt (November 1992), Addison-Wesley Pub Co; ISBN: 0201544121.

A very good book about many advanced computer graphics topics. It does not include the latest research, but it is still one of the best books out there.

The following books may not be available at the Harvard Coop. Alternative book sellers include Quantum books, amazon.com, or Barnes and Noble.

Game Programming Gems by Mark DeLoura (Editor) (August 2000), Charles River Media; ISBN: 1584500492.

A nice book about many aspects of game programming, including real-time rendering gems. Not as comprehensive as the other books, but more practical.


Reading assignments will accompany the lectures.

 
Examinations top

    None.
 
Assignments top


One presentation of a (set of) paper(s), three programming assignments, and a term project will be required of all students. A list of suggested papers and term projects will be provided. You are also free to do a project of your own devising, subject to approval. You need to discuss your paper with the TA one week before the presentation.

The programming assignments will be three week projects of appropriate scope. Each programming assignment should take thirty hours of work on average. The term project should take approximately forty hours.

All programming assignments have to be handed in electronically by noon on the due date. No extensions allowed, except per approval from us far in advance of the due date.

Collaboration on the assignments and final project is not allowed: What you turn in must be your own work. If you use somebody else's code as part of your solution you need to acknowledge it clearly.


 
Grading top


    Grade Percentage
    Class / Mailing List Participation.........................................5%
    Paper Presentation.............................................................10%
    Homeworks......................................................................... 60%
    Final Project........................................................................ 25% 

    The most important grading criterion is functionality: A working program will always garner the majority of available points; no credit will be given for non-working programs. A modest solution that works will be graded much more favorably than an ambitious "solution" that core-dumps! The following secondary criteria will be used to differentiate among working programs: scope of the problem solved by your program; data structure and algorithm design; clarity and documentation of the code; efficiency and elegance of the implementation. 
     

 
Course Syllabus top


This is a preliminary syllabus. The actual content of the course may slightly change, based on student interests.

  • Introduction 
    • Introductions: Instructor, TA 
    • What is this course about? 
    • Administrative matters 
    • Overview
  • Multiresolution Techniques
    • Overview
    • Mesh Datastructures
    • Top-Down Methods
    • Bottom-Up Methods
  • QEM and ROAM
    • Heckbert and Garland's QEM
    • ROAM Terrain Rendering
    • Triangle Bintrees
    • Lindstrom's View-dependent Error Metric
  • Progressive Meshes
    • Introduction
    • Edge Collapse / Vertex Split
    • View-Dependent PM
  • Subdivision Surfaces
    • Introduction to Subdivision
    • Classic subdivision operators
    • Applications
  • Image Processing
    • Sampling and Reconstruction
    • Convolution
    • Fourier Transforms
    • What is aliasing? 
    • Antialiasing 
      • Prefiltering 
      • Supersampling 
      • Stochastic Sampling 
    • Image Warping and Morphing
  • Radiometry
    • Light
    • Radiometric Concepts
    • Light Transport
  • BRDFs and the Rendering Equation
    • Irradiance
    • Parametric BRDF Models
    • The Rendering Equation
  • Ray Tracing
    • Global Illumination
    • Recursive Ray Tracing
    • Monte Carlo Methods
    • Stratified Sampling
    • Distributed Ray Tracing
  • Radiosity
    • Mathematical Foundations
    • Form Factors
    • Solving the Matrix
    • Meshing and Display
  • Animation
    • Keyframe Animation
    • Kinematics and Dynamics
    • Physically-Based Animation
    • Particle Systems
  • Particle Systems
    • Differential Equations
    • Forces
    • Solvers
  • Rigid Body Systems
    • States and State Derivatives
    • Rigid Body State
    • Rigid Body Equation of Motion
  • Image-Based Rendering
    • Geometry vs. Images
    • Plenoptic Function and Plenoptic Rendering
    • Layered Depth Images
    • Light Field Rendering
    • Lumigraph
    • The Matrix
    • 3D Photography
 
Calendar and Links to Lecture Notes top


The course notes are in Adobe Acrobat format and can be read with the free Adobe Acrobat Reader (.pdf). Postscript files can be viewed with the PostScript (.ps) Viewer for Windows.

January  2002

Sun Mon Tue Wed Thu Fri Sat
27 28 29 30 31

 



Class 1



 

February  2002

Sun Mon Tue Wed Thu Fri Sat





1 2







3 4 5 6 7 8 9
Registration
Ends



Class 2



10 11 12 13 14 15 16
Late
Registration
Ends


Class 3
Neal
HW 1 Out



17 18 19 20 21 22 23



Class 4



24 25 26 27 28




Class 5
Matt



 

March  2002

Sun Mon Tue Wed Thu Fri Sat





1 2







3 4 5 6 7 8 9



Class 6



10 11 12 13 14 15 16




Class 7



17 18 19 20 21 22 23

Presidents
Day


Class 8
Miriah
HW 1 Due

HW 2 Out



24 25 26 27 28 29 30
Spring
Vacation






 

April  2002

Sun Mon Tue Wed Thu Fri Sat

1 2 3 4 5 6



Class 9
HW 2 Due

HW 3 Out



7 8 9 10 11 12 13



Ben
Class 10




14 15 16 17 18 19 20



Gershon
Class 11




21 22 23 24 25 26 27



Joel
Class 12

HW 3 Due

Final Projects Out



28 29 30



 
Last day to
drop for WD
grade.







 

May  2002

Sun Mon Tue Wed Thu Fri Sat



1 2 3 4



George
Class 13




5 6 7 8 9 10 11



Class 14



12 13 14 15 16 17 18



Project
Presentations
Final Projects Due




19 20 21 22 23 24 25







26 27 28 29 30 31
 



Grades
Out




 

 
Student Comments top


Here are some of the comments we received last year. Here are the evaluation statistics and the evaluation form. You can also look at the comments we received for E-234 in the fall of 2001.

  • "The lectures were very informative. I like that we were able to choose which topics were covered. The demos / movies were helpful in understanding the material in class and HW."
  • "Topics were interesting. Appreciated the commentary on current threads in computer graphics. Liked the guest lecture."
  • "I think the lectures are great. You do a wonderful job making the material understandable, and you also do a good job of keeping the format interactive so the students remain interested and engaged. I can't really think of improvements - just keep up the good work."
  • "I liked the fact that we covered some state of the art computer graphics topics (i.e., image-based rendering). I think the lectures were very good."
  • "Probably focusing more on the practical issues and what is being done in the real world of the graphics industry would give us a better idea of what do we need to become part of it."
  • "Having to present one paper in class was very helpful for me. It forced me to read on a level that I normally would not - i.e., I had to understand it very well. The homeworks were good. I learned a lot from doing the HW."
  • "Maybe less class time for the student presentations? They are a good idea, but they did take up a lot of class time. Assignments were good."
  • "The assignments weren't as much "hard" really as they were time consuming. I always understood what I was supposed to be doing, but given the reading load as well I found it hard to spend enough time on them."
  • "I think the assignments are doable, but I didn't like the Wednesday noontime deadline...I don't think it was realistic to expect really good shaders."
  • "Since it takes a lot of time to implement graphics applications, even the simple ones, and there is not enough time to do it, it would be nice to have homeworks that can be re-used, like small parts of a bigger project, probably the final project. By reusing code, we could focus more on the main point of the assignment, and not on the implementation details."
  • "The course overall was very good. Hanspeter was very prepared for all lectures and was confident about the material presented. The slides were good."
  • "Jeroen was very helpful when planning the presentation."
  • "Liked learning about current areas of research in graphics, since that is something you don't get in the "Intro to Graphics" course. Likes being "forced" to read the graphics papers. Could do better: maybe more time for the final project?"
  • "Jeroen is very generous with his time and is always willing to help, which is very much appreciated. However, I didn't always find his explanations to be as clear."
  • "I think that you are a great team and that you've developed and presented two great courses that I have thoroughly enjoyed."
  • "I liked the variety of graphics topics that were covered. I feel I have the ability to pick up SIGGRAPH papers and understand (maybe implement) them. It would have been nice to have had an assignment on subdivision or ray tracing, but with only 15 classes I don't see how you could assign that much work. With the amount of notes I got, I think I can try learning more at my own leisure."
  • "I think Jeroen did a great job at answering the (few) e-mail questions and also in the pre-presentation discussion. Probably a little bit overstrict at grading the assignments."
  • "Great work. Graphics is for sure something I want to keep doing and learning. Hopefully in the future I could actually work in graphics. It would not be such a great thing for me if it wasn't for your superb job. I would definitely take a follow on class, workshop, or whatever."
  • "I am very much interested in pursuing further study in graphics. I would like to see enough graphics-related courses at the Extension School to make it a meaningful concentration of study. How about getting some of your colleagues to present courses as well? Any number of topics we've covered could be turned into more in-depth courses. We could also use more graphics programming courses rooted in OpenGL or DirectX. Another idea would be to take some current topic of research and tackle it as a team, maybe coming up with some new solution."

 

 


Last modified on May 24, 2002 by Hanspeter Pfister, pfister@merl.com