Overview

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.

Instructors

Teaching Assistants

Tutors

Language

English

Pre-requisites

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

Registration

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.de).
  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.

Tutorials

Tutorials start on Monday, November 4th.

Session Tutor
Fri 10-12 Henrik Philippi
Thu 12-14 Julius Kilger
Mon 12-14 Joschua Loth

Location: E1 1, CG Chair, Room E 10

Assignments

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.

Grading

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

Course Schedule

Date Lecture - Instructor Resources
14.10.2019

No lecture

17.10.2019

Introduction

Slusallek

21.10.2019

Introduction to Ray Tracing

Slusallek

24.10.2019

Spatial Index Structures I

Pérard-Gayot

28.10.2019

Spatial Index Structures II

Pérard-Gayot

31.10.2019

Transformations

Rath

04.11.2019

Light Transport

Slusallek

07.11.2019

Texturing

Grittmann

11.11.2019

Material Models

Slusallek

14.11.2019

Spectral Analysis and Sampling Theory

Slusallek

18.11.2019

Texture Filtering

Slusallek

21.11.2019

Cancelled

25.11.2019

Distribution Ray Tracing

Slusallek

28.11.2019

Human Vision System

Slusallek

02.12.2019

Color

Slusallek

05.12.2019

Color and HDR Imaging

Slusallek

09.12.2019

No lecture

12.12.2019

Mid-term exam

16.12.2019

Volume Rendering

Grittmann

19.12.2019

Rasterization

Slusallek

06.01.2020

Camera Transformation

Slusallek

09.01.2020

Clipping

Pérard-Gayot

13.01.2020

OpenGL / Graphics APIs I

Slusallek

16.01.2020

OpenGL / Graphics APIs II

Pérard-Gayot

20.01.2020

GLSL / Shader Programming

Pérard-Gayot

23.01.2020

Splines

Slusallek

27.01.2020

No lecture

30.01.2020

No lecture

03.02.2020

Rendering Competition deadline

06.02.2020

Wrap-up

Slusallek

20.02.2020

End-term exam

Rendering Competition

The 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.

This year also features a bonus BVH speed contest, which you can take part in by following the instructions in the rules sheet and downloading this zip archive.

Literature

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