Computer Graphics 1

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.


Teaching Assistants





  • 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:
  3. Provide your name and student e-mail address (it ends with
  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 You can ask or answer questions about the course or the assignments on this mailing list.

Date & Time


Monday 10:15 - 11:45 (s.t.)
Thursday 08:30 - 10:00 (s.t.)

Location: E1 3, HS 1


Monday 16:00 - 18:00
Wednesday 10:00 - 12:00
Friday 08:00 - 10:00
Friday 12:00 - 14:00

Location: E1 1, CG Chair, Room E 09


The assignments will be posted under the course schedule. They include a mix of theoretical and programming exercises.

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.


Mid-term exam: Monday, 10 December 2018, 10.00 - 12.00, HS 002 (sample)

Mid-term re-exam: Tuesday, 8 January 2019, 14.00 - 16.00, E1 1, CG-Chair, Room E 18

Final exam: Thursday, 14 February 2019, 9.00 - 12.00, HS 002 (sample)

Final re-exam: Thursday, 28 March 2019 and later, E1 1, CG-Chair, Room E 18


10% Rendering Competition
20% Mid-term exam (results, minimum 40% to pass)
30% Assignments
40% Final exam (results, minimum 50% to pass)

Student id Mid-term Assignments RC Final Total Grade

Course Schedule

Date Instructor Topic Slides Assignments
10/22/2018 Slusallek Introduction pdf pdf 
10/25/2018 Slusallek Introduction to Ray Tracing pdf 
10/29/2018 cancelled due to faculty retreat pdf 
11/01/2018 Holidays
11/05/2018 Pérard‑Gayot Spatial Index Structures pdf  pdf zip 
11/08/2018 Pérard‑Gayot Spatial Index Structures pdf 
11/12/2018 Slusallek Transformations pdf  pdf zip 
11/15/2018 Slusallek Light Transport pdf 
11/19/2018 Slusallek Material Models pdf  pdf zip 
11/22/2018 Grittmann Texturing pdf 
11/26/2018 Slusallek Spectral Analysis and Sampling Theory pdf pdf  pdf zip 
11/29/2018 Slusallek Texture Filtering pdf 
12/03/2018 Pérard‑Gayot Distribution Ray Tracing pdf 
12/06/2018 Grittmann Volume Rendering pdf 
12/10/2018 Mid-term exam pdf zip 
12/13/2018 cancelled
12/17/2018 Slusallek Human Vision System pdf 
12/20/2018 Slusallek Color pdf  pdf zip 
01/07/2019 Slusallek Color and HDR Imaging pdf 
01/10/2019 Slusallek Rasterization pdf 
01/14/2019 Slusallek Camera Transformation pdf  pdf zip 
01/17/2019 Slusallek Clipping pdf 
01/21/2019 Slusallek OpenGL / Graphics APIs pdf 
01/24/2019 Lemme GLSL / Shader Programming pdf  pdf 
01/28/2019 cancelled - RC support session
01/31/2019 Slusallek Splines pdf 
02/04/2019 Lemme Advanced Rasterization (Shadows, AO, etc.) pdf 
02/07/2019 Slusallek Wrap-up

Rendering Competition

Rendering Competition is a final showcase of how the ray tracing engine that was developed throughout the course can be used to render interesting images.

The competition rules can be found here: pdf

Every submission will be graded based by its artistic merit.

Rose Garden POP Gallery Vanitas The Little Things in Life Suburban Alley Firefly Forest Dance of the Dragons Black & Gold Thrusting towards Safety CityLights D R I F T I N G 3A.M. TOILETTENPAUSE Dreamhouse Moon arts Bear performing in a Circus Neo Night Speeding trough the Rainbow-Tunnel Target Practice Watch your back! ENLIGHTENMENT


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

  • Matt Pharr and Greg Humphreys, Physically Based Rendering, 3rd Edition, Morgan Kaufmann, 2016 (available online)
  • Peter Shirley, Fundamentals of Computer Graphics, 4th Edition, AK Peters, 2015
  • John Hughes et al., Computer Graphics: Principles and Practice, 3rd Edition, Addison-Wesley, 2013
  • Andrew S. Glassner, An Introduction to Ray Tracing, 1st Edition, Morgan Kaufmann, 1989, is available online

Some articles on acceleration structures:

Possible Follow-Ups

SoPra, HiWi-Jobs, Diploma, Bachelor and Master’s Thesis