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.

Instructors

Teaching Assistants

Tutors

  • Julius Kilger (juliuskilger at posteo dot de)
  • Joschua Loth (s8joloth at stud dot uni-saarland dot de)
  • Henrik Philippi (s8hephil at stud dot uni-saarland dot de)
  • Arsène Pérard-Gayot
  • Pascal Grittmann

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.

Date & Time

Lectures

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

Location: E1 3, HS 001

There is no lecture on Monday 14.10.19

Tutorials

Please fill in this form: https://docs.google.com/forms/d/e/1FAIpQLScZsNEL0Q5Q0WQW78l4XdE34H-ESMSHokuehXrYu12Ozn4mRQ/viewform

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.

Exams

Mid-term exam: 12.12.2019 08:00 - 10:00 (HS002)

Mid-term re-exam: TBD

Final exam: 20.02.2020 09:00 - 12:00 (HS002)

Final re-exam: TBD

Grading

10% Rendering Competition
20% Mid-term exam
30% Assignments
40% Final exam

Course Schedule

Date Instructor Topic Slides Assignments
10/14/2019 No lecture
10/17/2019 Slusallek Introduction pdf pdf 
10/21/2019 Slusallek Introduction to Ray Tracing pdf 
10/24/2019 Pérard-Gayot Spatial Index Structures I
10/28/2019 Pérard-Gayot Spatial Index Structures II
10/31/2019 Pérard-Gayot/Grittmann Transformations
11/04/2019 Slusallek Light Transport
11/07/2019 Grittmann Texturing
11/11/2019 Slusallek Material Models
11/14/2019 Slusallek Spectral Analysis and Sampling Theory
11/18/2019 Slusallek Texture Filtering
11/21/2019 Pérard-Gayot Distribution Ray Tracing
11/25/2019 Slusallek Human Vision System
11/28/2019 No lecture
12/02/2019 Slusallek Color
12/05/2019 Slusallek Color and HDR Imaging
12/09/2019 No lecture
12/12/2019 Mid-term exam
12/16/2019 Grittmann Volume Rendering
12/19/2019 Slusallek Rasterization
01/06/2020 Slusallek Camera Transformation
01/09/2020 Slusallek Clipping
01/13/2020 Slusallek OpenGL / Graphics APIs
01/16/2020 Pérard-Gayot GLSL / Shader Programming
01/20/2020 TBD
01/23/2020 Slusallek Splines
01/27/2020 Slusallek Wrap-up
01/30/2020 Slusallek TBD
02/03/2020 Slusallek TBD
02/20/2020 End-term exam

Rendering Competition

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