TNCG15 - Advanced Global Illumination and Rendering
This course information is aimed at giving an overview over the course ``Advanced Global Illumination and Rendering''
TNCG15 and the requirements to pass it.
Mark Eric Dieckmann (Mark.E.Dieckmann@itn.liu.se): Examiner
The course takes place during the period h1/2012
Lecture notes (preliminary)
- Lecture 1
- Lecture 2
- Lecture 3
- Lecture 4
- Lecture 5
I follow closely the book: Advanced Global Illumination
2nd edition, by Philip Dutre, Kavita Bala and Philippe Bekaert, which is printed by A K Peters Ltd, Wellesley
Massachusets. You can find other recommended books on the
The course assessment is based on two components:
Better course grade: The program should be implemented and the project report handed in by friday 2012-12-07, if a
better course grade is wanted. Any project implementation / report handed in for the first time after this deadline will
not qualify for a better grade . The marks are awarded as follows:
- One paper from the list (the list is not finalized yet and may change.) below must be read and presented by each student in a team of two during a seminar. Note: The papers can be downloaded
free of charge only from within the ITN network.
Each paper is presented only once during each seminar session, to provide the students with an overview over several global illumination
methods. It is recommended that the students read also the other papers, to maximize the benefit of the seminar and to be able to ask
questions to the presenter.
- Bidirectional estimators for Light Transport.
- Photon maps.
- Light-Water Interactions using Backward Beam Tracing.
- Photon maps with participating media.
- The hemi-cube: A radiosity solution for complex environments
- Importance-driven radiosity.
The talks (discussed below) should incorporate the content of the paper, but additional material can be introduced, for example, from the
lecture notes or through better figures. Each talk is presented by two students, preferably those that will also implement together the
project code. Each of the students will present approximately half of the talk. However, the talk should be prepared by both students
together to (a) make sure that the presentation style does not jump and (b) to improve the quality of the talk through discussions during
its preparation. A brief outline of the structure of the talk is given below.
The students must attend all talks on that day, during which they present their talk.
One mini-workshop will take place:
Time to be announced
Each presentation must last about 35 minutes followed by 5 minutes question time. Presentations that are too short will not be accepted.
- The students will implement in groups of two a global illumination program based on Whitted Ray Tracing with reflected and refracted
beams or Monte-Carlo Raytracing with reflected and refracted beams. The scene should consist of a few polygonal objects and /
or elementary geometrical objects like spheres, cylinders etc. Some objects should be transparent, others not. The program should be sent to
me and a printed project report (discussed below) should be placed into my mailbox in Tappan, level 5.
The deadline for the first submission
is Monday 2013-01-21 if no better grade is desired . This deadline is not strict, but projects and reports handed in after this deadline may
not be corrected rapidly. One hardcopy of the report should be placed into my mailbox in Tappan, level 5.
- A Whitted Raytracer and a good project report give a 4, while a project report that just passes gives a 3.
- The Monte-Carlo Raytracer is more difficult to implement and its completion will thus result in better grades. A Monte-Carlo Raytracer and
a good report give a 5, while a project report that just passes results in a 4.
- Each report can be corrected and resubmitted once to improve the grade. One hardcopy of the corrected report should be placed into my
mailbox in Tappan, level 5. The resubmission deadline for corrected reports aiming for a better mark is Monday: 2013-01-21. If the corrected
report is submitted after this deadline, then the mark will not be improved.
The structure of the seminar presentation:
Note: If you use bullet points, you can explain them with your own words in more detail (and you can make use of the whiteboard too),
as you go through them during your talk: Put bullet points only on the slides, but do not just read the bullet points off the slides.
There are, unfortunately, no clear guidelines for presentations. You may want to consider the general advice
given here (except item 8 on the bottom of the page).
It is also good to look on the web for similar presentations, just to get ideas for your presentation layout.
- It should have a first slide with your names and the topic.
- Introduction: What will you present? Give a short outline in form of bullet points, one sentence per item or even just one word.
This sentence may be the title of the slides, on which you present this topic. Examples: "Introduction", "Future work", "The tree structure"
etc. Length of introduction: 1 slide.
- Then you discuss the content of the paper. Pick certain aspects that are connected and the presentation should follow a clear
thread. Clear thread means that you try to collect related topics in a block (a block may be reflection, refraction and the Fresnel laws)
and discuss several blocks one after the other. In other words, don't mix up everything. For raytracing you may start with the shooting of the
ray from the eye into the scene, followed by the physics at the intersection point, followed by the ray tree etc. You can present concepts using
own pictures. Show some results that you take from the paper. The content and the size of this (main) part should be timed such, that your overall
presentation lasts about 35 minutes.
- Discussion: You summarize what you have presented in form of bullet points. 1 slide
- Future studies: You discuss how this work could be expanded in form of bullet points. 1 slide.
One purpose of this exercise is, that you give a presentation and that you listen to those of others. This allows you to identify good and
bad aspects of the talks. Then you memorize the good ones and use them for your future presentations.
The structure of the report:
The project assignment must be written in English. It should have a strucure and length similar to that of the research articles that you
have read and discussed during the seminars. The article length should be around 14-16 pages (for a group of two students) subdivided into
the following parts:
- Abstract: A brief and concise summary of the article. It should be limited to 1000 characters.
- Introduction: You should describe here global lighting models and talk about Whitted ray tracing, radiosity, Monte Carlo ray-tracing,
two-pass rendering, photon mapping and ray-tracing of isosurfaces, explaining how they work and what they do. This description should be done mainly
in words and not so much with maths. Also do not go too much into detail. The explanations should be done with the help of the papers above that were
presented during the seminar. You should reference these papers in the introduction. The introduction is concluded by a paragraph, that describes the
structure of the paper like: "The first section is the introduction. In section 2, we discuss in more detail the techniques regarding (raytracing,
Monte Carlo raytracing, depending on what you have implemented), which we have implemented. Section 3 shows some results that we have obtained with
our implementation and benchmarks. The discussion and the outlook is the section 4."
Length: about 3 pages .
- Background: Here you describe the techniques you use in your code. Describe how you do ray-surface intersections, how you launch
reflected and refracted rays, how you compute the intensities, what are shadow rays, etc. No C++ code. You may use pseudocode, but it is better
do discuss the techniques only from a theoretical point of view. These descriptions should be accompanied by figures. The figures are numbered
consecutively in order of appearance. Each figure must have a caption with a brief description of what you see in it. The figures must be referred to
from the text and described and interpreted in more detail in the text.
about 5-6 pages .
- Results and benchmarks: Here you show results obtained with your code. You can do series of computations, where you vary the
pixel resolution, the number of ray iterations, the number and type of the objects in the scene (transparent vs opaque) etc. You can compare in detail
images computed from the same scene with different resolutions. It can be nice to discuss figures and effects in the figures, like color bleeding,
noise, aliasing artifacts etc. You can list benchmarks (e.g. how long it took your computer to calculate a frame with a given resolution) in a
table etc. Here you can be creative and look at things you like.
Length: about 5-6 pages .
- Discussion: Here you should repeat the key findings of your article and discuss how you could improve them. Do not go into details,
but just give a general description. Do not use bullet points. You can also give an outlook on how your renderer could be improved etc.
Length: about 1 page .
- Reference list: List the papers, which we have discussed in the seminar, and which you have used for example in the introduction. The
reference list should have for each list item the name of the authors, the title of the paper, the journal of the paper, the volume number, the page
number and the year of appearance (look at the reference list of the papers from the seminar to see how this looks like). You can add some more
information sources as references, e.g. Wikipedia pages, books and articles. All works in the reference list have to be cited from the text and the
references should be numbered in order of citations from the text. The first article that you cite in the paper is preceeded by a  in the reference
list and cited from the text with Ref. . The second cited article gets a  etc.
The course language is english
Details concerning the implementation:
The students can either implement their own objects (spheres, cubes, or walls) or they can use a standard dataset for a scene, for example
the Cornell box . You could also use OpenGL to define a scene.
Intersection algorithms (ray-sphere, ray-plane) should be implemented by the students. In particular those that aim at a better grade for
the course could parallelize the code, for example using OpenMP.