This course provides the theoretical and practical foundations for computer graphics. It gives a wide overview of topics, techniques, and approaches used in various aspects of computer graphics with a focus on image synthesis and rendering, including texturing, shading, aliasing, sampling, and many more. After introducing the two basic algorithms for image synthesis, ray tracing and rasterization, it discusses the physical foundations of ray tracing in greater depth. As part of the practical exercises, the students incrementally build their own ray tracing system, which they will then use to generate a high-quality rendering for the end-of-term rendering competition.


Prof. Dr.-Ing. Philipp Slusallek (homepage)

Dr.-Ing. Tim Dahmen (tim.dahmen at dfki.de)

Teaching Assistants:

Arsene Perard-Gayot (homepage)

Han Du (han_h.du at dfki.de)

Erik Herrmann (erik.herrmann at dfki.de)


Pascal Grittmann (s9pagrit at stud.uni-saarland.de)

Till Speicher (s9ttspei at stud.uni-saarland.de)




  • Programming experience with C++
  • Basic knowledge of linear algebra and analysis


Register for the course via the LSF online system.

Mailing List:

Information relevant to the course (such as updates, corrections, etc...) will be posted on the mailing list.

  1. Students registered for the course must sign up for the mailing list.
  2. Go on the webpage: https://mail.cg.uni-saarland.de/mailman/listinfo/cg1
  3. Provide your name and student e-mail address (it ends with stud.uni-saarland).
  4. Press the subscribe button.
  5. You will receive a message with a confirmation of the subscription.

In order to send a mail to the mailing list, use the following address: cg1 at cg.uni-saarland.de. You can ask or answer questions about the course or the assignments on this mailing list.

Date & Time:


Tuesday, 8h - 10h
Thursday, 12h - 14h
in building E1 3, HS 1


See the exercise groups page. Tutorials start on November 7th.



The weekly assignments, which include a mix of theoretical and programming exercises, will be posted under the "Course Schedule" tab in the navigation panel on the left-hand side of the page.


The paper copies for the theoretical parts of the assignments will be collected at the beginning of the lecture on the due date. The programming parts must instead be sent by email to your respective tutors. You can also send the scans of your paper copy by mail to your tutor if your are unable to attend the lecture.

The code submitted for the programming part of the assignments is required to reproduce the provided reference images, and the submission ought to include the mandatory generated images. The submission should also contain a creative image show-casing all extra-credit features that have been implemented.

The projects are expected to compile and work out of the box on the machines in the CIP-pool students' lab in order to give the tutors a guaranty that the code will run on machines that both them and the students have access to.


Sample mid-term exam: pdf

Mid-Term exam: Monday, 19 December 2016, 16h - 18 h, HS 003 

Sample final-term exam: pdf

Final exam: Friday, 24 February 2017, 14h - 17h, HS 002

Final re-exam schedule:


Thursday 16th March 13-15h:

  • 13.00: 616
  • 13.30: 709
  • 14.00: 411
  • 14.30: 137

Friday 17th March 9-11.30h:

  • 09.00: 551
  • 09.30: 459
  • 10.00: 271
  • 10.30: 282
  • 11.00: 397

Friday 17th March 13-16h:

  • 13.00: 703
  • 13.30: 820
  • 14.00: 155
  • 14.30: 434
  • 15.00: 744
  • 16.00: 537

Friday 28th April 1-1.30h:

  • 01.00: 653

Location: CG Chair


10% Rendering Competition

20% Mid-term

30% Assignments

40% Final


The course does not follow a particular book, but suggested readings include:

Some articles on acceleration structures:

Possible Follow-Ups:

FoPra, HiWi-Jobs, Diploma, Bachelor and Master's Thesis