CS 431/636 - Advanced Rendering Techniques

Spring 2016

Description: The creation of realistic images from 3D models is central to the development of computer graphics. The ray tracing algorithm has become one of the most popular and powerful techniques for creating photo-realistic images. Ray tracing's simplicity, elegance and ease of implementation make it one of the most important image generation algorithms in computer graphics. This class will explore in detail the algorithmic components of ray tracing.

These include

Students will implement many of these components in their class programming projects.

Other types of rendering algorithms will be discussed, e.g. radiosity, volume rendering, non-photorealistic rendering and photon mapping.

Location - University Crossings 153

Time - Wednesday, 6:00 PM → 8:50 PM






I intend to use the standard grading scale of 100→ 90 (A), 89→ 80 (B), 79→ 70 (C), 69→ 60 (D), else (F).
Please also note that incompletes will not be given for this course.

Paper Presentations

Graduate students will read a research paper and submit a Powerpoint presentation that summarizes the paper. The deadline for turning in the Powerpoint file is May 30th.

Choose a paper from this list. It is a much shorter version of this list.
You may present another paper related to rendering, with the instructor's permission.

The Powerpoint presentation should summarize the paper, contain at least 10 slides, and include images and the paper's reference information.


Each assignment is worth 10 points.

Post several (at least 2) images generated from each assignment.

Make sure that your images and the objects in your images are big enough to see/evaluate the effect implemented in each assignment.
Your images should leave no doubt that you have implemented a particular feature correctly.

Programming assignments may be written in any language, but must run on tux.

Collect and submit all of the needed files for an assignment in a single zip file.

Include a makefile and instructions in a README file on how to run your program to create one of your example images.

You can use ImageMagick to read/write images.

Follow all of the instructions listed in the assignments.
5 points will be subtracted from an assignment if all of the instructions aren't followed.

Assignments are due at 11:59PM on the due date. Well, ... I will honor the vampire rule.
  Post images on the web and code on Bb Learn.
  E-mail me the URL.

Late Policy

It is expected that you will do you own work, i.e. write your own software for the assignments.
You cannot "borrow" code from other students or download programs from the Internet.
Specifically, you cannot use the code provided by the Suffern or Shirley books (or their derivatives) for your assignments.

Any student violating this policy will be given an 'F' for the class.

You may use image and basic math libraries, e.g. for storing and manipulating vectors and matrices.

Final Exam

There will be a final exam on material not covered by the regular assignments.

Topics covered on the final exam are

Questions related to these topics will be in a short-answer format.


Link to Recorded Lectures


Class Schedule

Week 1 - 3/30/16

Week 2 - 4/6/16

Week 3 - 4/13/16
No class!

Week 4 - 4/20/16

Week 5 - 4/27/16

Week 6 - 5/4/16
No class!

Week 7 - 5/11/16

Week 8 - 5/18/16

Week 9 - 5/25/16

Week 10 - 6/1/16
No class!

Last modified on June 12, 2016.