Image Synthesis Spring 2005

Time: 5:00-6:15 Tuesday and Thursday
Place: MEC 339
Instructor: Greg Humphreys,
Office Hours: Friday 2-4 (Olsson 216)
TA: Nolan Goodnight,
Office Hours: TR 3:00-5:00 in Olsson 227 (Graphics Lab)
Goals: This course provides a broad overview of the theory and practice of rendering. We will discuss classic rendering algorithms, although most of the course will focus on either fundamentals of image synthesis or current methods for physically based rendering. The final project will be a rendering competition.
Assignments: Assignments are due at 11:59:59 PM on the day in question. See the late policy below for some more information about turning in assignments on time. All assignment descriptions will be made available as soon as possible.



Warm-up (written, programming) January 27
Height Field Intersection (programming) February 10
Radiometry and Cameras (written) February 17
Realistic Camera Simulation (programming) March 3
Monte Carlo Techniques (written) March 24
Rendering with Complex Illumination (programming) April 7
Final Project Proposal (written) April 12
Final Project (programming) May 12


pbrt: The rendering system that comes with Physically Based Image Synthesis: Design and Implementation.

A number of bugs have been fixed since the book's publication. UPDATED VERSION OF PBRT NOW AVAILABLE

Potentially useful:

Moonlight 3D: free 3D modeling package for Linux

HDRShop: High dynamic range image processing and manipulation

ImageView: a program for viewing and EXR files (windows and Linux)

OpenEXR Photoshop Plugin: for loading EXR files into photoshop

Background: Students should have a good working knowledge of computer graphics at the level of CS445 or its equivalent. Solid knowledge of integral calculus and some basic geometric algorithms is also a must. It is also expected that students have been exposed to probability at a high school level. We will review key relevant concepts in probability, statistics, and signal processing, but some previous exposure to any or all of these topics will make that material go down a lot smoother.
Texts: Physically Based Rendering: From Theory to Implementation, by Matt Pharr and Greg Humphreys
Grading: Grading will be based solely on the quality of your programming assignments, written assignments, and final project.  There will be no exams.  Each assignment (programming and written) will be worth 10% of your grade, and the final project will be worth 50%.  The "Hello, World" assignment will not count towards your grade except in the sense that you will not pass the course if you do not complete it.
Honor Code: The honor code applies to all work turned in for this course. In particular, all code and documentation should be entirely your own work. You may consult with other students about high-level design strategies, but you may not copy code or use the structure or organization of another students program. Said another way, you may talk with one another about your programs, but you cannot ever look at another student's code nor let another student look at your own code.  Obviously, you may collaborate freely with your project partner. 
Late Policy: You should strive to complete your assignments on time.  To cope with unforeseen circumstances, you will be allowed four days of grace during the semester, to be used as you see fit.  After these days are gone, assignments can be turned in one day late for 50% credit.  After two days, assignments will not be accepted.  No late days may be used for the final project or the final project writeup.  Notice that these are calendar days, not weekdays, not class days, and not non-holiday days.  The clock is running during weekends, spring break, and while you're partying.  Exceptions can be made for sickness and/or family emergencies; see the instructor. 

Note in particular that computer downtime is not an excuse for lateness.  Computers crash and networks go down; the world is an imperfect place.  Be prepared.  Do not start assignments at the last minute.  Do not forget to leave time for the render to complete (this is especially true of the final project).

Lecture Schedule

Date Topics Readings
1/20 The Goals of Rendering; Course Logistics A Framework for Realistic Image Synthesis
1/25 Ray Tracing I: Basic Algorithm Essential Ray Tracing Algorithms (handout)
An Improved Illumination Model for Shaded Display
Fast, Minimum-Storage Ray-Triangle Intersection
PBR Chapters 1-3
1/27 Ray Tracing II: Acceleration

You've Been Raytracing Too Long If...
A Survey of Ray-Tracing Acceleration Structures (handout)
A Fast Voxel Traversal Algorithm for Ray Tracing
PBR Chapter 4

2/1 Human Vision PODIS Chapter 1 (handout)
2/3 The Light Field I Rendering Concepts 2.1-2.4 (handout)
PBR Chapter 5
Radiometry FAQ
2/8 The Light Field II  
2/10 Signals  
2/15 Fourier Analysis PBR Chapter 7.1.1
2/17 Cameras and Film

PBR Chapter 6
A Realistic Camera Model for Computer Graphics

2/22 Uniform Sampling and Reconstruction Reconstruction Filters in Computer Graphics
Generating Antialiased Images at Low Sampling Densities
PBR Chapter 7
2/24 Supersampling and Stochastic Sampling Stochastic Sampling in Computer Graphics
3/1 Monte Carlo Techniques I: Basics Monte Carlo SIGGRAPH Notes, chapters 2-3
PBR Chapter 14.1-14.2
3/3 Review  
3/8 SPRING BREAK Ray-Tracing Jell-O Brand Gelatin
3/15 Monte Carlo Techniques II: Random Sampling Strategies

Distributed Ray Tracing
Distributed Ray Tracing, Theory and Practice
Statistically Optimized Sampling for Distributed Ray Tracing
Spectrally Optimal Sampling for Distribution Ray Tracing
PBR Chapter 14.3-14.5

3/17 Monte Carlo Techniques III: Variance Reduction Robust Monte Carlo Methods, Chapters 2.5-2.8
Robust Monte Carlo Methods, Chapter 9
PBR Chapter 13,15.1-15.6
3/22 Dynamic Range (guest lecture!) Recovering High Dynamic Range Radiance Maps...
Rendering Synthetic Objects Into Real Scenes
PBR Chapter 8
3/24 Reflection Models I: BRDF's, DIffuse

Examples of Fresnel Reflectance
Rendering Concepts 2.5 (handout)
PBR Chapter 9,10

3/29 Reflection Models II: Glossy Models of Light Reflection for Synthesized Pictures
Theory for the Off-Specular Reflection... (Handout)
A Reflectance Model for Computer Graphics
3/31 Participating Media and Volume Scattering Display of Surfaces from Volume Data
Rendering Fur With Three Dimensional Textures
PBR Chapter 12
4/5 Participating Media and Volume Scattering II Ray Tracing Volume Densities
PBR Chapter 15.7
4/7 The Rendering Equation Rendering Concepts 2.6 (handout)
The Rendering Equation
PBR Chapter 16.1-16.2
4/12 Path Tracing Robust Monte Carlo Methods, Chapter 10
PBR Chapter 16.3
4/14 Photon Mapping Energy Preserving Non-Linear Filters
A Ray Tracing Solution for Diffuse Interreflection
Global Illumination Using Photon Maps
PBR Chapter 16.4-16.5
4/19 Radiosity  
4/21 Interactive Raytracing I: Software (Guest Lecture)  
4/26 Interactive Raytracing II: Hardware (Guest Lecture)  
4/28 Precomputed Radiance Transport I

Precomputed Radiance Transfer for Real-Time Rendering in Dynamic Low-Frequency Lighting Environments
An Efficient Reprensentation for Irradiance Environment Maps
All-Frequency Shadows Using Non-Linear Wavelet Lighting Approximation

5/3 Precomputed Radiance Transport II