Skolan för
och kommunikation
KTH / CSC / Courses / DH2323 / dgi12

Computer Graphics with Interaction, dgi12


Computer Graphics is one of the most dynamic and rapidly evolving fields of computer science. From being used as a novelty factor in films like Tron (1982) and Lawnmover Man (1992) it is now an indispensable tool making it possible to generate results inseparable from reality. This course will teach you the fundamental techniques and underlying principles of computer graphics. We will start from a high abstraction level and look at the physics behind how an image is generated. We will proceed to derive different mathematical models for describing this process based on different approximations of the underlying physical process. During the course you will implement two different image synthesis models from scratch highlighting the benefits and drawbacks of each model.

In order to be able to successfully participate in the course you will need to do quite a lot of programming. However, this is not a programming course and we will assume that you are capable of using C and C++ as a tool and that you are capable of finding information regarding this on your own. We will provide a lecture detailing the development environment for the labs and aim to highlight some the important programming concepts necessary.


  • Describe and analyse the physical process generating an image
  • Describe the image synthesis pipeline in a modern computer
  • Derive the mathematical foundation and implement a ray-tracer
  • Implement an image pipeline based on rasterised graphics
  • Recognise the challenges faced in modern computer graphics

Course Literature

The lectures in this course will relate to the book (Interactive Computer Graphics, A top-down approach with OpenGL (Sixth Edition)) as a reference. However, with the ever expanding resources available on the Internet buying a course book is not strictly necessary. If you have some patients and are willing to look around the Internet you will eventually find everything that is necessary. That being said the book is nice to have as a companion as it also covers OpenGL, something we will not focus on in this course.


The course will be examined through a written exam worth 3hp and three practical assignments worth an additional 3hp. The assignment should be performed in groups of two but each one of you should be capable of describe the work. Passing the assignments and the exam will give you the grades (E to C). In order to achieve a grade of A or B you will have to do an individual project.


17/8 2012 If you have practical parts of the course (labs or projects) left to present you can sign up for presentation here URL
13/8 2012 Exam from May 2012 PDF
13/8 2012 The re-exam will take place on the 30th of August. Send me an email to sign up for the exam and get details of location.
31/5 2012 You can now do the course survey which is available from URL
24/5 2012 There is a doodle to sign up for project presentations on this link URL
15/5 2012 Extra oppurtunity to present the labs on Friday 8th of June 10-12 (somewhere on plan 4).
8/5 2012 There is an error in TimeEdit, there is no lecture on Monday the 14th of May.
8/5 2012 Lecture notes for the guest lectures are online.
2/5 2012 Additional lab session Friday 4th of May 15-17 Red and Gul.
29/4 2012 Instructions for the third laboration updated..
23/4 2012 Instructions for the third laboration is online.
20/4 2012 Instructions for doing the labs on Windows in Visual Studio.
02/4 2012 Second laboration online
29/3 2012 Lecture notes for raytracing online. New misc section added to the webpage.
27/3 2012 Torrent for the Virtual Machine (download it and keep seeding)
26/3 2012 Programming slides and references online
21/3 2012 First Laboration online
15/2 2012 Webpage online
Copyright © Sidansvarig: Carl Henrik Ek <>
Uppdaterad 2013-01-18