This course is intended to provide a graduate-level introduction to modern computer graphics. We will cover some of the basic background of 3D computer graphics in the areas of geometry, physical simulation and rendering. The course is intended to bring incoming graduate students or advanced undergraduates up to the research frontier, and prepare them for further work in the field. As such, at least half the material in the course will go over topics of current research interest, such as the physical simulation and coupling of solids and fluids, and precomputation-based methods for real-time rendering.

Below are some example computer-generated images, of the types of
simulation, geometry, rendering and imaging topics we will be studying.

The list of students taking the course with photos is here. Thank you for sending your information.

* Please get on the mailing list for the class, * by
sending mail to sympa@lists.eecs.berkeley.edu with subject subscribe
cs294-obrien

We offer a full plate of computer graphics courses. I hope you will be enthusiastic about, and enrol in these offerings. Besides the undergraduate CS 184, there are a host of graduate classes in geometry, visualization, rendering and so on. More classes will be added in future years, initially as CS 294, then transitioning to permanent numbers. We intend this course (CS294-13, eventually to be renumbered CS 283) to be the entry-level class for the other special topics courses.

CS 294 is intended to be a regular lecture course, but adapted for advanced undergraduates and incoming PhD students. A syllabus/schedule is noted below. Grading will be based on 4 mainly programming projects, some of which can be done in groups of two (you are responsible in that case for finding partners, and also to ensure each person does their fair share; you can also choose to work individually if you decide). You are also welcome to propose your own research or implementation project in lieu of one or more of the assignments, subject to instructor approval. In this way self-directed students may pursue topics of special interest to them. Students are also welcome to take the class pass/fail, and should speak to the instructors in regards to requirements in this case. This may be a good option for more advanced PhD students seeking to learn topics outside their immediate research area. Auditors, who simply want to sit in on the course are also welcome; however, we prefer if you sign up for the course pass/fail instead.

The lectures will be Mondays and Wednesdays from 1-2:30pm in Soda Hall, room 310. The first class will be on Wednesday, Aug 26. There is no TA for this class, so you are welcome to directly e-mail the instructors re issues. Unless questions are specific, it may be helpful to e-mail both instructors, so they have a record. We may also try to set up a newsgroup for the class. Please feel free to also contact one of the instructors regarding talking about the class material. Since this is an advanced course, we intend these discussions to be more informal, and not need the formal scope of office hours.

The course will be graded on the basis of four assignments, that primarily involve programming systems for rendering and simulation. These assignments can be done individually or in groups of two. If in a group, both partners will receive the same grade. You may have different partners for different assignments. The assignments are due on the dates listed, and will usually be submitted by creating a web site and sending the link to the instructors. The website should not be modified after the due date.

Since the time provided is 3-4 weeks for each assignment, we will not usually allow extensions unless you ask beforehand with a good reason. We prefer you instead turn in what you have as of the deadline. Since this is an advanced graduate class, we expect you to be organized, working through the semester constantly.

You are also free (and encouraged) to speak to the instructors about
* substituting a research or implementation project for one or more of the
assignments. * In general, you will be asked to provide a brief written
plan of work, and the instructor can then approve that as a substitute for
the assignment. This allows you to focus more clearly on topics of interest.

The four assignments will be available below. They are all fairly substantial (and we hope instructive) so you are encouraged to start early.

At this time, we make the first two assignments available (for the first half of the course on rendering). The last two assignments on geometry and animation/simulation will be available next month.

** Assignment 1 on Monte Carlo rendering is available as a PDF file here. The due date is Oct 7, by 11:59pm. **

* For those students who have no previous experience in
rendering/raytracing,* an initial raytracer assignment, that
is a prelude to assignment 1 (and counts for 30% of the grade for
assignment 1) is available
here. It should be turned in along with assignment 1, but we
recommend you complete it by September 18. * Most students will
not need to do this assignment, instead starting with their existing
raytracing code, but may want to take a brief look. * An OpenGL
previewer (that may be of interest to everyone) is available as a zip
file (that should be unzipped in a separate directory) here.

** Assignment 2 on Real-Time or Image-Based rendering is available as a PDF file here. The due date is Oct 28, by 11:59pm. **

For those interested in the image-based (as opposed to real-time) rendering part above, an alternative practical project is suggested by the video and image processing laboratory. If you wish to do this project, please talk to the instructor beforehand, as well as Profs. Zakhor and Matt Carlberg.

** Assignment 3 on Subdivision Surfaces is available as a PDF file here. The due date is Nov 23, by
11:00pm. ** (The due date is set to be before thanksgiving to allow you to enjoy the holiday).

** Assignment 4 is on writing any physical simulation system (e.g. cloth). **
No formal PDF description available, considerable flexibility in choice of
simulation system.

Topics to be covered include, but are not limited to

- Introduction to Basic Ray Tracing and BRDFs
- Global Illumination and Monte Carlo Rendering
- Recent Developments in Fast Offline Rendering
- Image-Based and Real-Time Rendering
- Data-Driven Methods
- Signal-processing and low-dimensional and data-sparse methods
- Imaging and Computational Photography
- Basic Geometric Concepts
- Meshes and Subdivision Surfaces
- Finite Elements and Numerical Integration for Animation
- Fluid Simulation and Reduced Order Models
- Inverse Kinematics
- Rigid Body Dynamics

Date |
Topic |
Due | Related Reading | Lecture Notes |

Aug 26 | Introduction and Overview | Biog Info (by Thu) | Ravi PPT Ravi PDF James Keynote James PDF | |

Aug 31 | Intro to basic ray tracing | PPT PDF Scribe: Jin Kwon | ||

Sep 2 | Illumination and Reflection | Cohen-Wallace Ch 2 Torrance-Sparrow Cook-Torrance | PPT PDF Scribe: Albert Liu | |

Sep 9 | Global Illumination and Rendering Equation | Kajiya paper | PPT PDF Scribe: Daniel Ritchie | |

Sep 14 | Monte Carlo Integration | Veach Thesis (see Ch. 2) Stanford Course (Part 2) | PPT PDF Scribe: Fu-Chung Huang | |

Sep 16 | Monte Carlo Path Tracing | Siggraph Course (Chs. 2,6) Cook paper | PPT PDF Scribe: Mason Smith | |

Sep 21 | Recent advances in offline rendering | PPT PDF Scribe: Nicholas Kong | ||

Sep 23 | Real-Time Rendering | Heidrich Cabral Irr. Env. Kilgard Shadows | PPT PDF Scribe: Terrence Zhao | |

Sep 28 | Real-Time Rendering 2 | Continue Shadow/Env Maps Scribe: Aaron Hong | ||

Sep 30 | Image-Based Rendering and Light Fields | Link to SIGGRAPH Course Notes | PPT PDF Scribe: Kevin Lim | |

Oct 5 | Frequency Analysis and Signal Processing | PPT PDF | ||

Oct 7 | Precomputation-Based Rendering | Homework 1 | Sloan 02 Ng 03 Ng 04 PRT Survey | PPT PDF Scribe: James O'Shea |

Oct 12 | Representations of Visual Appearance | PPT PDF Scribe: Eric Biggs | ||

Oct 14 | Imaging and Computational Photography | SIGGRAPH Courses | PPT PDF Scribe: Yiding Jia | |

Oct 19 | Differential Geometry Basics 1 | PDF Keynote | ||

Oct 21 | Differential Geometry Basics 2 | Continued differential geometry | ||

Oct 26 | Texture Synthesis (Maneesh) | PDF Scribe: Wesley Willett | ||

Oct 28 | HDR and Bilateral Filters (Maneesh) | Homework 2 | ||

Nov 2 | Splines | PDF Keynote | ||

Nov 4 | Subdivision Surfaces | See Lecture 17 above. | ||

Nov 9 | Rotations and Inverse Kinematics | |||

Nov 11 | Holiday (No lecture) | |||

Nov 16 | Motion Capture | |||

Nov 18 | Motion Capture | See above | ||

Nov 23 | Physical Simulation | Homework 3 | ||

Nov 25 | Mass-Spring Systems | See above | ||

Nov 30 | Rigid Body Dynamics | See above | ||

Dec 2 | Fracture | See above |

Ravi Ramamoorthi