Real-Time High Quality Rendering

COMS 6160 Advanced Topics in Computer Graphics, Fall 2004, Prof. Ravi Ramamoorthi Time Wed 6pm-8p Room 717 Hamilton


One of the perennial goals of computer graphics is creating high quality images which are indistinguishable from photographs---a goal referred to as photorealism. Another important goal is interactivity for visualization, simulation and other real-time applications. However, these two goals have historically been at odds with each other. Photorealism employing methods like ray tracing and radiosity has resulted in beautiful pictures, but at the cost of slow algorithms taking hours to days. Interactivity has been enabled through advances in graphics architectures, from the earliest SGI machines to today's powerful desktop GPUs, but the traditional focus has been on rendering more polygons rather than high quality images. However, in the last 5 years, as a result of improved and programmable graphics hardware and new efficient image synthesis algorithms, there has been an amazing convergence of these ideas, enabling us to conceive of real-time photorealistic rendering.

In this course, we will review some of the recent ideas that seek to bridge the gap between realism and interactivity. Topics include graphics hardware and modern programmable GPUs and applications, the use of complex lighting and shading with shadows and environment maps, image-based and real-time rendering methods based on precomputed imagery, analysis and signal-processing techniques including low-dimensional lighting models and factored representations, and interactive global illumination.

Below are some example images produced in real-time using the systems we will be discussing.


COMS 6160 is an advanced course concentrating on current research topics in computer graphics. The content may change with every offering and the course can be repeated for credit. It is targetted towards undergraduate and MS students with a knowledge of and interest in computer graphics (at the level of 4160 or equivalent), as well as PhD students working in graphics, vision, and robotics.

Relationship to Other Courses

This academic year, 2004-05, we finally have a full plate of computer graphics courses. I hope you will be enthusiastic about, and enrol in these offerings. The future offering of these courses will depend on your enthusiasm.

Specifically, the introductory course in computer graphics, COMS 4160 will be taught as usual by me this semester. It is strongly recommended you take that if you are an undergraduate or MS student without prior background in graphics. Next semester, I will be teaching an advanced graphics course, COMS 4162, which will be a continuation of COMS 4160 this fall.

Course Format and Requirements

The course will consist of lectures on the relevant topics by the instructor, student presentations of papers covering current research in the area, and student projects. A syllabus/schedule is noted below. The grading will be 30% for paper presentations, 60% for the project, and 10% for class participation. In general, roughly (depends on the number of students in the course), 2 paper presentations will be required for those taking the course for a grade, and 1 for those taking the course pass/fail. A project is not required for students taking the course pass/fail. This is a good option for PhD students and others to read papers on this exciting topic and learn about the area without committing too much effort into a course project. 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 [this just involves doing one paper presentation]. For those of you who took COMS 6998 (appearance models in graphics and vision) in fall 2002, the format of this course will be very similar.

Students taking the course for a letter grade are required to do a project [this may be in groups of 2-3], give a presentation in class regarding their results, and also submit a final written report. Wide flexibility is available with respect to project topics, provided they relate loosely to the subject matter of the course. We expect that most projects will implement one or more of the algorithms or papers discussed in the course, showing an impressive real-time demo of high quality rendering. We welcome suggestions from the students on alternative project ideas. The best projects will go beyond the published work in some way, such as trying out an alternative or better approach or trying to develop some variant or more general version of the technique. However, this is not essential; in general, students who fulfil all course requirements including a well-executed project will easily receive an A in the course.

As a potentially easier alternative to the project, we will also accept a well-written summary or tutorial, covering 3 or 4 papers. The best summaries will point out links between the papers not noticed by the original authors and suggest improvements or directions for future research. However, this option is recommended only as a last resort and will generally receive a slightly lower score; we prefer that you do a good project (which may involve understanding a few papers in any case).


Topics to be covered include



The TA for this course is Sebastian Enrique, senrique@cs, 6LE4 CEPSR. He can help you with any logistical issues like computer labs, getting setup etc. His office hours are on Wed from 4-5pm.


The (tentative) course schedule is as follows. In general, you will likely benefit from doing the reading (i.e. the papers assigned for a particular date) before class; it will at least make for more lively discussion.

Sep. 8: Sep. 15: Sep. 22: Sep. 29: Resources on Shadow and Environment Mapping Shadow and environment maps are key concepts that many of the papers in the course make use of. Here are some more resources for learning more about these ideas. Oct 6: Oct. 13: Oct. 20: Oct. 27: Nov 3: Nov. 10: Nov. 17: Nov 24: Dec. 1: Dec 8:
Ravi Ramamoorthi
Last modified: Thu Sep 30 20:27:06 EDT 2004