WPI Computer Science Department

Computer Science Department

CS 563 Spring Semester, 2010
Advanced Topics in Computer Graphics

Course Overview

The goal of this course is to expose students to techniques for photorealistic synthesis. Ray tracing has become the de facto standard for realistic image synthesis. Our goal is to learn how to render various phenomena based on solid physics principles within a ray tracer. By the end of the course, students should be able to understand how some of the realistic scenes and special effects in movies are generated. If time were not an issue, students would write every ray tracer component from scratch. However, in practice, doing that could take months of coding to complete. We shall thus balance 1) learning the theory 2) gaining an understanding how to code the phenomena 3) actually writing selected components and 4) using a full-blown photorealistic renderer. Thus, rather than have students write all ray tracing components from scratch, we shall base our work off understanding the theory and implementation of a state of the art ray tracer as laid out in the requisite text Ray Tracing from the Ground Up. This text grew out of many years of teaching a similar course at the University of Technology, Sydney, Australia. It walks the reader through both the theory and implementation of a state of the art ray tracer which the students shall also use to create their projects. Some supplementary papers may also be assigned. For those students who have written a basic ray tracer based in an introductory graduate graphics class (e.g. CS 543), this class will take you from where that class ended to where you understand the state of the art in photorealistic image rendering.

The instructor shall be guide students through the main aspects covered. Each student will make about 4 presentations over the course of the semester. This semester's class will focus on Physically-based photorealistic rendering. Movies such as Pixar's Cars, the Invincibles and Finding Nemo are based on completely synthetic characters. Magazines and other printed media also create breath-taking images that are also synthetic. Ray tracing is the de facto standard for realistic image synthesis. This course will examine the state-of-the-art in photorealistic image synthesis based on ray tracing and photon mapping (an extension to ray tracing). Examples of topics to be covered include fundamentals of ray tracing, simulating lenses, surface reflectance functions (brushed steel, velvet), sub-surface scattering (skin, marble), participating media (smoke). The final project will entail implementing one or more of the phenomena discussed in the class and rendering a 3D image that will be entered in a rendering contest such as the Stanford Rendering Contest.

Note: : Although many of the topics covered in this class will touch on some of the techniques used to produce photorealistic images, this is not an art class: it is about understanding techniques used in building a photorealistic renderer for 3D applications. The course will be technical and involve significant but enjoyable work. At least one previous graphics class is a must and knowledge of openGL while not a MUST, would be helpful. We will focus on the rendering component of creating photorealistic images. Some tools used by artists to prepare their final work will either be touched on sparingly or not discussed at all. In other words, don't take the class just because you like looking at cool images.

General Information

Lectures: FL 311, Wednesdays, 6pm - 8.50pm

Instructor: Prof. Emmanuel Agu, FL-139, 508-831-5568, emmanuel@cs.wpi.edu
Office Hours: Wednesdays, 4.30 - 5.30pm. Others by appointment (email me first)

Text: Kevin Suffern, Ray Tracing from the Ground Up, A K Peters publishers, 2007

Supplemental Texts:

While the bulk of the readings from the class will be taken from the text, selected papers will be also be assigned from the computer graphics literature to augment . Students may also be required to perform a literature search to find other relevant papers.

Facilities: Presentations may be done using in Microsoft Powerpoint or any other presentation software. The following Powerpoint Template should be used for making your slides. This is done to ensure that all presentations have the same look and feel.

The final class project will be an entry into an end of semester rendering contest. The student shall try to render one (or a collection) of the effects that we have covered during the course of this class and try to make it look as good as possible. The modeling of the scene can use any 3D modeling software such as as Blender, 3D Studio Max, Maya, etc. Rendering shall then be done using the ray tracer from the text. Third party meshes or images from the web may also be employed within reason. Where necessary, high level programming languages like C, C++, java or any high level language, and graphics libraries like OpenGL or Mesa libraries may be used. Important: You are responsible for your final choice of platforms and tools for both the presentation and the project. However, no matter what platform you use for your project, you are responsible for making it work and demonstrating your work. If a piece of software which you would like to use is unavailable on the CCC machines, a reasonable effort will be made to install the software for you. If it is still not possible to install your requested software, you may have to use other available software.

Class Websites: The class website is at http://www.cs.wpi.edu/~emmanuel/courses/cs563/S10/. A myWPI class website will aso been set up. The discussion board should be used for asking questions to avoid excessive emails and so that everyone can benefit from answers given. Emails should be used for specific questions which are unique to you.

Grade Policy: Each student will be required to do 4 presentations (40%), and projects (50%) and participate in class (10%). You will decide on final project yourself. There will be no exams. At the end of the class, you shall present the results of your project, which shall be a rendered image. Your peers shall rank your project and give you a score that shall form PART of your grade for the final project.


Sample Gallery

The following are sample images from a class at Stanford that also ended in a rendering contest. We aim to create similar images in the final project of this course.


Summary of Presenters

Week Topic Presenter Slides
Week 1, 1/20 Intro talk Emmanuel Agu (slides)
Week 2, 1/27 Bare Bones ray tracer Chapter 3 Emmanuel Agu (slides)
Week 3, 2/3 Sampling Techniques Chapter 5 Wadii (slides)
Week 3, 2/3 Mapping Samples to a Disk, Hemisphere Chapters 6,7 Joe (slides)
Week 3, 2/3 Poisson disk sampling and research advances in sampling Emmanuel Agu (slides)
Week 4, 2/17 Depth of Field Chapter 10 Damon (slides)
Week 4, 2/17 Nonlinear Projections Chapter 11 Joe (slides)
Week 4, 2/17 Time-varying BRDFs Emmanuel (slides)
Week 5, 2/24 Stereoscopy Chapter 12 Sam (slides)
Week 5, 2/24 Theoretical Foundations Chapter 13 Scott (slides)
Week 5, 2/24 Measuring BRDFs and weathering Emmanuel (slides)
Week 6, 3/3 Lights and Materials Chapter 14 Steve (slides)
Week 6, 3/3 Shadows Chapter 16 Sam (slides)
Week 6, 3/3 Light Sources Emmanuel (slides)
Week 7, 3/10 Ambient Occlusion Chapter 17 Nik (slides)
Week 7, 3/10 Area Lights Chapter 18 Joe (slides)
Week 7, 3/10 Final Project Emmanuel (slides)
Week 8, 3/17 Ray-Object Intersections Chapter 19 Nik (slides)
Week 8, 3/17 Transforming Objects Chapter 21 Wadii (slides)
Week 8, 3/17 Microfacet BRDFs and sub-surface scattering Emmanuel (slides)
Week 9, 3/24 Regular Grids Chapter 22 Damon (slides)
Week 9, 3/24 Triangle Meshes Chapter 23 Scott (slides)
Week 9, 3/24 Skin and participating media Emmanuel (slides)
Week 10, 3/31 Mirror Reflection Chapter 24 Steve (slides)
Week 10, 3/31 Glossy Reflection Chapter 25 Nik (slides)
Week 10, 3/31 Hair and Fur Emmanuel (slides)
Week 11, 4/7 Global Illumination Chapter 26 Damon (slides)
Week 11, 4/7 Simple Transparency Chapter 27 Wadii (slides)
Week 11, 4/7 Photon mapping Emmanuel (slides)
Week 12, 4/14 Realistic Transparency Chapter 28 Nik (slides)
Week 12, 4/14 Texture Mapping Chapter 29 Steve (slides)
Week 12, 4/14 Spectral Rendering Emmanuel (slides)
Week 13, 4/21 Procedural Textures Chapter 30 Nik (slides)
Week 13, 4/21 Noise-Based Textures Chapter 31 Scott (slides)
Week 14, 4/28 Project presentations Everyone

Final Projects

Presentation Format

Students must come prepared with transparencies, slides, videos, handouts, and any other instructional aid determined to be useful in presenting the material. Computer demonstrations are encouraged for applicable topics. If you need any computer or projection facilities for your presentation, see me about making the arrangements. The presentation should last approximately 50 minutes, followed by approximately 20 minutes of questions and informal discussions with a 15 minute break between topics. If the class would benefit from reading an article prior to your presentation, please provide copies of the article at least one week prior to your talk.

Other Guidelines

I expect each student to spend a minimum of 20 hours preparing each talk. Remember, a significant part of your grade for this course is in your presentations, and most weeks you will only spend a few hours reading for other people's talks. Also note that a reading list with sections of the book has been provided for all topics which should minimize time which you spend on a literature search. This leaves a lot of time to do your work, so there is no excuse for shoddy work.

Useful Links

[Feedback] [Search Our Web] [Help & Index]

[Return to the WPI Homepage] [Return to CS Homepage]