Computer Graphics and Interaction
Important update: The VT20 iteration of DH2323 will take place online via Zoom until further notice. If you are not registered for the course, please make sure to do so in order to receive important announcements about it via Canvas. If you need help registering for the course, see this page: https://intra.kth.se/en/eecs/utbildningsprogram/kursplanering/kursregistrering-1.815005 If that doesn't work, you can contact the EECS Service Center here: firstname.lastname@example.org
If you a beginner in computer graphics programming, you should consider first taking DH2320 Introduction to Computer Graphics and Visualization.
Computer Graphics is one of the most dynamic and rapidly evolving fields of computer science. With roots in computer aided design (see Ivan Sutherland's 'Sketchpad'), video games (some history) and the special effects industry for movies, computer graphics has become an indispensable tool in many areas, including entertainment, education and science, allowing us to investigate, sometimes create, but always to ponder perspectives that are otherwise currently closed to our direct experience. In fact, the technologies that computer graphics is fundamental to have progressed so much that, in some cases, it is becoming difficult to tell the difference between the real and the synthetic.
This course will teach you underlying principles and techniques of computer graphics and interaction. We will start from a high level of abstraction and look at the core processes underlying image generation and relate them to underlying physical processes. During the course you will implement several different interactive graphics techniques.
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: we will assume that you are capable of using C and C++ as a tool (particularly, building a C++ program in an IDE such as Microsoft Visual Studio) and that you are capable of finding information regarding this on your own. If you wish to do some study to prepare for the course, making sure that you are proficient in C/C++ and an IDE such as Microsoft Visual Studio would be a good idea. 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 investigate the implementation of a ray-tracer or a hierarchically animated model
- Implement an image pipeline based on rasterised graphics
- Recognise the key challenges faced in modern interactive computer graphics
Frequently asked questions
There is a FAQ for the course here that may help to answer some of your questions about it.
Note that if you are interested in a book for the course, I suggest both Interactive Computer Graphics, Addison-Wesley by Angel and Shreiner, and Real-Time Rendering, Fourth Edition by Akenine-Möller et al. However, you do not need to purchase a book for the course: most of the details you need will be provided in lecture notes and through the web.
The course website for the DGI14 course can be found here: http://www.csc.kth.se/utbildning/kth/kurser/DH2323/dgi14
- Christopher Peters Examiner, Course responsible