Jaroslav Křivánek

Computer Graphics III (NPGR010) – winter semester 2015/2016

Schedule: Lecture - Wed 10:40-12:10 S4 | Labs - Wed 12:30-13:50 SW1 (Malá Strana)
Lecturer: Jaroslav Křivánek, e-mail: jaroslav.krivanek at mff.cuni.cz
Organization: 2/2 C + Ex  link to SIS

The class loosely follows up on Computer Graphics II (NPGR004) and it is aimed mostly at students with a deeper interest in computer graphics. The course covers methods for physically-based realistic rendering used for special effects in movie production, computer animation, architectural and product visualizations etc. Specifically, we start off by briefly covering some of the math and physics behind light transport. We then give a detailed treatment of the industry-standard Monte Carlo methods for light transport simulation, such as path tracing, photon mapping etc. We also cover some of the more advanced techniques such as bidirectional path tracing.


Interesting articles on rendering in practice

Important dates

Week Date Note
6 11.11.2015 Assignment 1 due Assignment can be handed in only during the labs.
Penalty of 50% of max pts for each week of delay.
8 25.11.2015 Assignment 2 due Assignment can be handed in only during the labs.
Penalty of 50% of max pts for each week of delay.
10 9.12.2015 Assignment 3 due Assignment can be handed in only during the labs.
Penalty of 50% of max pts for each week of delay.
13 6.1.2016 Assignment 4 due
Choice of three papers for the exam due
Assignment can be handed in only during the labs.
Penalty of 50% of max pts for each week of delay in delivering the assignment.
Penalty of 2 pts for each day of delay in delivering the choice of papers.
TBA Final exam

Lecture and labs program

Lecture topic Slides & notes Further materials
Organisation, Intro Přednáška: pdf | pptx / pdf | pptx
Radiometry Lecture: pdf | pptx
Labs: pdf | pptx
Petr Olšák - dOmega (in Czech)
Petr Olšák - Radiometric units (in Czech)
Scratchpixel - Concenpts
Scratchpixel - The Mathematics of Shading Scratchpixel - Introduction to Radiometry
Scratchpixel - Radiometric Relationships
Scratchpixel - Light Sources
Scratchpixel - What is Radiometry Really Useful For?
Wikipedie - Radiometric units
Light reflection, BRDF Lecture: pdf | pptx
Labs: pdf | pptx
Scratchpixel - Materials
Monte Carlo methods, Direct illumination calculation Lecture: pdf | pptx
Labs: pdf | pptx
Monte Carlo methods II, Image-based lighting Lecture: pdf | pptx
Combined estimators & Multiple Importance Sampling Lecture: pdf | pptx
Rendering equation and its solution Lecture: pdf | pptx
Path tracing Lecture: pdf | pptx
Quasi-Monte Carlo methods Lecture: pdf | pptx
Bidirectional path tracing Lecture: pdf | pptx
Photon mapping Lecture: pdf | pptx
Approximate global illumination computation Lecture: pdf | pptx

Assignments

Using other peoples' work and presenting it as yours is an infringement of the code of conduct and is held as a reason for failing the class immediately.

Assignments can be handed in only in person during the labs. Failure to meet a given deadline is penalized by 50% of the maximum amount of points obtainable for the respective assignment for each week of delay (i.e. if you miss the deadline by two or more weeks, you will not receive any points for the assigment. Nonetheless, you are still reqired to hand the assignment in to be able to pass the class). When delivering the assignment, I will assume that you have a complete and detailed knowledge of the code. Not knowing how the code works is an indication of presenting other person's work as yours with the consequence given above.

Assignment 1: Direct illumination calculation through explicit light source sampling (4 pts)

The goal of the first assignment is to start building infrastructure for global illumination calculation, specifically to implement the evaluation of the BRDF and the classes representing various light sources. These components will be tested on the problem of calculating direct illumination due to point and area light sources using a Monte Carlo estimator based on explicit light source sampling. You will be required to show that your solution converges to this reference solution. (The difference image should only consist of uniform noise. Even better, use color-coded positive/negative differences in HDRImageTools.)

Isotropic point light
Diffuse surfaces
Isotropic point light
Glossy surfaces
Large area light
Diffuse surfaces
Large area light
Glossy surfaces
Small area light
Diffuse surfaces
Small area light
Glossy surfaces
Const. environment map
Diffuse surfaces
Const. environment map
Glossy surfaces

References:

Points

Altogether you can get up to 4 points for this assignment. The following table gives a breakdown of the points for the individual parts of the assignment. I recommend working in this very order, always first testing only the diffuse BRDF component and only then moving to the glossy version.

Area light source2 points
Environment map with a constant emission: 2 points
Image-based environment map (for directions see PBRT, Section 14.6.5.): 3 extra points
Implementation of any anisotropic BRDF model
(e.g. anisotropic Ward, anisotropic Ashikmin-Shirley): 
2 extra points
Extra assignment of your own choice: max 3 extra points

Assignment 2: Direct illumination estimator based on randomized direction sampling (4 points)

The goal is to implement an estimator of direct illumination based on randomized sampling of directions. To get this done, you will need to implement a) sampling of random directions from a uniform distribution on a hemisphere, and b) sampling of random directions proportional to the BRDF (importance sampling). You will then use this functionality to implement the estimator itself. Note that the estimator only works for area light sources and environment maps but not for point lights (the latter cannot be hit by a ray with a randomly chosen direction). Show that an estimator based on BRDF importance sampling is more efficient than an estimator based on uniform hemisphere sampling. Show that the solution converges to the same reference results as in Assignment 1.

Points

You may receive up to 4 points for this assignment.

Uniform hemisphere sampling: 2 points
BRDF importance sampling: 2 points
Possible extra assignment: max 3 extra points

Assignment 3: Combined estimator for direct illumination (6 points)

Use Multiple Importance Sampling with the balance heuristic for direct illumination calculation. Combine estimators implemented in Assignments 1 and 2 (i.e. explicit sampling of positions on the light source and BRDF importance sampling). Show that the solution is more robust than either of the two estimators in the mixture. Show that the solution converges to the same reference results as in Assignments 1 and 2.

Points

You may receive up to 6 points for this assignment.

Possible extra assignment: max 3 extra points

Assignment 4: Path tracer with a combined estimator for direct illumination calculation (12 points)

In this assignment, you will build on the infrastructure from the previous assignments to implement the following methods:

Congratulations! By finishing this assignment, you have built a rendering core of state-of-the-art production renderers such as Corona or Arnold.

Points

You may receive up to 8 points for this assignment.

Quasi-Monte Carlo path tracing (e.g. the Halton sequence): 2 extra points
Extra assignment of your own choice: max 3 extra points

Isotropic point light
Diffuse surfaces
Isotropic point light
Glossy surface
Large area light
Diffuse surfaces
Large area light
Glossy surface
Small area light
Diffuse surfaces
Small area light
Glossy surface
Const. environment map
Diffuse surfaces
Const. environment map
Glossy surface

Assignment 5: Implementation of a new rendering method or extra features for the path tracer (19 points)

Students are free to choose what exactly they will do in this assignment. Some ideas:

Papers for the exam

Student Papers
Bhuvanagiri Sundeep
  1. Author Paper title, Journal / conference
  2. Author Paper title, Journal / conference
  3. Author Paper title, Journal / conference
Forti Federico
  1. Steve Marschner, Henrik Wann Jensen, Mike Cammarano and Pat Hanrahan Light Scattering from Human Hair Fibers, Siggraph (2003)
  2. Jonathan T. Moon, Bruce Walter, and Stephen R. Marschner Rendering Discrete Random Media Using Precomputed Scattering Solutions, Eurographics Symposium on Rendering (2007)
  3. Edgar Velazquez-armendariz, Zhao Dong, Bruce Walter, and Donald P. Greenberg Complex Luminaires: Illumination and Appearance Rendering ACM Transactions on Graphics, volume 34/ Siggraph (2015)
Franců Martin
  1. Author Geodesics in Heat: A New Approach to Computing Distance Based on Heat Flow, SIGGRAPH 2013
  2. Author Exposing Photo Manipulation with Inconsistent Shadows ,SIGGRAPH 2013
  3. Author Guided visibility sampling, SIGGRAPH 2006 (Sampling and Ray Tracing)
Mojzík Michal
  1. Iliyan Georgiev et al. Light Transport Simulation with Vertex Connection and Merging, SIGGRAPH Asia 2012
  2. Bochang Moon et al. Cache-Oblivious Ray Reordering, SIGGRAPH 2011
  3. Mohamed S. Ebeida et al. Efficient Maximal Poisson-Disk Sampling, SIGGRAPH 2011
Ryabenko Denis
  1. Author Paper title, Journal / conference
  2. Author Paper title, Journal / conference
  3. Author Paper title, Journal / conference