News

There is a bug fix for string_conversions.h of the framework. See page 'Homework'.

Overview

This course covers some of the fundamental concepts of computer graphics.
The three main parts of the class are rendering, modeling, and animation.
In the first part, we will discuss the basics of photorealistic image synthesis,
i.e. how to generate a realistic image from a digital representation of a 3D scene.
After introducing raytracing, we will briefly look at the physics of light transport,
discuss the rendering equation, and investigate some advanced techniques to enhance the realism of rendered images.
The second part will introduce the basics of modeling with curves and surfaces.
We will discuss Bezier curves and surfaces, B-Splines and NURBS,
and show how they can be used to design complex 3D geometry.
In the third part, we focus on computer-generated character
animation and introduce some of the core techniques used in animation for feature films and games.
We will discuss basic principles of character animation,
techniques to augment a digital character with controls to deform it into different poses,
and methods to set the control values over time in order to create movement.

Course Objectives

At the end of the course you will be able to design and implement a rendering system based on raytracing.
You will study the basic principles of modeling with splines and integrate spline-based representations into a rendering system.
You will also become familiar with central concepts in animation.
In addition we want to stimulate your curiosity to explore the field of computer graphics on your own or in future courses.

Course Forum

Use the course forum (powered by VIS) for posting (and answering) questions.
Problems that you encounter might also be relevant for other people and if you have an answer it would be great if you
can share this with the rest of the class. We might also post comments to the exercises to the forum,
so it would be good if you'd check frequently.

Please also use the forum to look for partners for the exercises. From last year's experience,
we strongly recommend that you try to find a partner if you havn't done so already.
It's more fun to work in a team and even if you feel confident that you can do the work on your own,
it often helps to cooperate in a team to develop communication and organizational skills.

Coursework

Programming project
During the duration of the course you will implement a 3D renderer that will allow you
to create realistic images using raytracing. This project will follow step-by-step the
material presented in class and you will incrementally add functionality to your program
and thus more realism to your images. Once the basic functionality is implemented,
you are encouraged to extend your program to achieve some advanced effects,
and play around with interesting scene compositions to generate exciting images.
At the end of the semester the three best images will be selected for prizes depending
on technical achievement and artistic quality.

General Remarks and late policy
Assignments will be handed out every second week and will be discussed in the exercise class.
Each exercise has a fixed due date at which all the required material has to be handed in.
The ONLY exceptions for late submission are military service or illness, both of which require written proof.

Midterm
There will be a 1-hour written midterm exam. No additional material is allowed during the exam.

Exam
There will be a 2-hour written exam covering the topics from the excercises and the ones discussed in class. No additional material is allowed during the exam.