CSC2522S: Advanced Image Synthesis


Instructor: Eugene Fiume.
Lectures: 11-1pm, Wednesdays -- BA5187 (dgp lab)
Note: Wednesday 25 January lecture is moved to Tuesday 24 January, 10:00am-12:00pm, BA5187

This course is an in-depth study of the mechanisms in computer graphics that allow us to make beautiful, realistic images. The main topics we will be covering are realistic illumination models (whether physically-based or otherwise), global illumination and light transport, radiosity-based and ray-tracing algorithms, participating media, texture and environment mapping, sampling and filtering.

The grade will be based on a seminar and a project.

Some References

  1. The course discussion board.
  2. The Physically Based Rendering textbook by Matt Pharr and Greg Humphreys, which is available to you if you link to it from a .toronto.edu host.
  3. The home page for the pbrt software and scenes.
  4. Pat Hanrahan, Image Synthesis Techniques. These are excellent course notes with material analogous to our coverage.
  5. A good introduction to the Monte Carlo techniques we are discussing is by Eric Veach and others.
  6. A more intensive but very readable coverage of physically based image synthesis with an emphasis on path tracing and Monte Carlo methods (including Metropolis Light Transport) is Eric Veach's thesis.
  7. The SIGGRAPH and Eurographics Symposium on Rendering Proceedings.

Exercises

  1. Download pbrt for your machine, compile it and generate a picture.

    The following note from Michael Tao might be helpful. I tried building pbrt on my workstation (ubuntu) and found that pbrt required some libraries that I didn't already have. I haven't looked for compilation advice from the book, but the advice from here proved useful (in particular to install openexr, flex, and bison) and I now have a working copy of PBRT on my workstation. I guess I already had all of the necessary libraries on my home computer when I installed pbrt on it. -Michael

  2. Run pbrt on a scene of your choice using bidirectional path tracing, experimenting with various rendering options and path lengths. Explore different resolutions, sampling strategies and reconstruction techniques to remove noise.

  3. Explore the space partitioning options available under pbrt and do some run-time tests.


Student Talks

  1. TBA