Details
Hot Links
Lecture Announcements
Registration and course data is available on the TISS site.
Communication with students, Q&A sessions, and some extra material is provided through our TUWEL site! It'll be updated throughout the semester. You should subscribe to the announcement forum, or make sure to read it. Accounts for Uni Wien students are under way.
This year we will hold the lecture together with Prof. Torsten Möller from Uni Wien. He will offer additional content in accordance with his lecture being 6 ECTS. This additional lecture content will be optional, but highly recommended for our students. Uni Wien students will use our submission system, our TUWEL / Moodle, but will have additional assignments and take the exam from Torsten. TU Wien students can take the additional assignments, do an extended exam and get additional credits via this course. We will update this website soon with additional information.
Properties
 Semester hours: 2.0
 Credits: 3.0
 Type: VU Lecture and Exercise
Aim of the Course
This course will teach you how to write a physically correct and unbiased renderer based on the path tracing algorithm.
In the beginning, you will learn about the physics and math of light transport. Closely connected is the rendering equation, a highdimensional integral describing the equilibrium of photons in a scene. We will then show you how to compute such integrals using Monte Carlo methods and to apply this new knowledge to implement the recursive pathtracing algorithm. At this point, you will have an understanding of how rendering works, but a lot remains to be learned: The asymptotic complexity of raytracing can be reduced by using acceleration data structures, enabling the program to deal with scenes that consist of more than just a dozen triangles. Materials like plastic, glass, metal, paint, and skin have properties that need special considerations during implementation. And finally, we will teach a bit about HDR, tone mapping, measuring error, and other rendering pipeline details.
The exercises will give you an understanding of the principles of Monte Carlo Integration, the rendering equation, optimization techniques, and material modelling. There will be many bonus tasks for interested students. We will also have a performance and a scene/bonustask competition.
Schedule, Contents and Lecture Slides
The lecture slides will be linked in this table once they are available (after the lecture). You can also look at the lecture from last year on YouTube, but recall that this years lecture will be different and hopefully improved. This year the lecture will be live, videos will be published on TUWEL only.
Date  Tuesday  Thursday  

01Mar  03Mar  Introduction (BK)  Comprehensive overview (TM) Part1 Part2 
08Mar  10Mar  Light (Radiometry / Photometry) (TM)  Image Pipeline (TM) 
15Mar  17Mar  Monte Carlo Integration ( 
Nori Introduction / FAQ ( 
Deadline  20Mar  Assignment 0: Setting up Nori  
22Mar  24Mar  Rendering Equation ( 

29Mar  31Mar  Path Tracing Basics (BK)  Biased Rendering Algorithms (TM) 
05Apr  07Apr  Spatial Acceleration Structures (BK)  Participating Media (TM) 
12Apr  14Apr  Easter  
Deadline  17Apr  Assignment 1: Path Tracing  
19Apr  21Apr  Easter  
26Apr  28Apr  Importance Sampling ( 

03May  05May  MIS / Next Event Estimation (AC, Part1, Part2, Part3)  Radiosity (BK) 
Deadline  08May  Assignment 2: BVH Building & Traversal  
10May  12May  Reflectance Function (TM)  
17May  19May  Reflectance Functions (TM)  Reflectance Functions (TM) 
Deadline  25May  Assignment 3: Materials and Importance Sampling  
24May  26May  Accessories (AC)  Christi Himmelfahrt 
31May  02Jun  Bidirectional PT, Metropolis Light Transport (TM)  Sampling (Fourier Transform, Aliasing vs. Noise) (TM) 
07Jun  09Jun  Pfingstdienstag  Uniform / Nonuniform Sampling (TM) 
14Jun  16Jun  Fronleichnam  
21Jun  23Jun  
Deadline  26Jun  Final Project  
28Jun  30Jun  Final Exam 
Policy on Academic Honesty
DO NOT CHEAT!
All the individual labs, homeworks and other assignments are meant to be done by each student on their own. If we think cheating might have occurred, this might have very negative consequences for you. Citing the Studienpräses (in German): "Ein 'Erschleichen' liegt vor, wenn eine fremde Leistung als Eigenleistung dargestellt wird (z.B. Textteile von anderen Personen ohne entsprechende Kenntlichmachung übernommen worden sind). [...] Die gesamte PILV ist nicht zu beurteilen und ein 'X' in i3v mit dem entsprechenden Vermerk 'geschummelt / erschlichen' zu erfassen."
Discussion about labs is encouraged, but please do your own work (unless the task is specifically designed as a group project). Near duplicate assignments will be considered cheating unless the assignment was restrictive enough to justify such similarities in independent work. Just think of it that way: cheating impedes learning and having fun. Please also note that opportunity makes thieves: It is your responsibility to protect your work and to ensure that it is not turned in by anyone else.
We will make use of automated plagiarism and code checking tools.
If source code (to enhance) or other material from the WWW is used, it should be acknowledged and a priori permission must be sought. Taking source code (or text/math) from a peer, the WWW, or a book to complete a lab makes you culpable of plagiarism ('X' with 'geschummelt / erschlichen'). Please note, that it is of course also not okay to copy large parts or even the whole code from somewhere else, even though you acknowledged it. This is like copying and pasting a book, putting your name on the cover, and hoping that nobody will find the fineprints saying that it is actually from somebody else. If unclear, please talk to us before the submission. Justifications in hindsight are not possible.
Some examples of things that are not okay and will lead to an 'X':
 Give code (or text/math) to another student
 Give screenshot of code (or text/math) to another student
 Copy code (or text/math) from somebody else
 Copy code (or text/math) from the WWW without our explicit permission
 Create code (or text/math) for others
 Let other people create code (or text/math) for yourself
Further Reading
 Previous rendering course from this university,
by Károly ZsolnaiFehér.  Robust Monte Carlo Methods for Light Transport Simulation,
PhD thesis by Eric Veach,
one of the most influential works in this domain.  Physically Based Rendering, Third Edition: From Theory To Implementation,
Matt Pharr, Wenzel Jakob, and Greg Humphreys,
The bible of physically based rendering (referred to as PBRT).  Course on MonteCarlo Methods in Global Illumination, by L. SzirmayKalos
A free course script that gives a detailed explanation of the mathematical foundations of Global Illumination.