|

|
 |
Advanced
Computer Graphics
CSCI E-235 |
| New
and Updated |
 |
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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? |
 |
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? |
 |
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 |
 |
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 |
 |
|
|
|
| Assignments |
 |
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 |
 |
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 |
 |
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
- 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 |
 |
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 |
 |
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
|