Computer Graphics with Interaction, dgi12The practical part of the course will be examined through three obligatory labs in the form of programming exercises and an optional project in order to achieve one of the higher grades.
For those who wants to run things on their own computer, without installing a C++ compiler and the SDL-library, we have prepared a Virtual Machine to run under VirtualBox. As it is rather big (4GB) we are seeding it as a torrent for now.
If you want to code on your own Windows machine you can follow these instructions to setup Visual Studio and SDL.
Download and make sure that once you have passed a lab that the TA signs this reciept. If we somehow manage to forget that you have passed a lab this is your proof.
Introductory lab - 30th of MarchIn this short lab you will familiarize yourself with the programming frame work used in this course. You will use the programming language C++ and the libraries SDL and GLM to plot pixels on the screen. This is the basic operation for all computer graphics programming. In the later labs you will use this basic operation to draw 3D scenes. The aim of this lab is to learn:
Raytracer - 20th of AprilIn this lab you will implement a Raytracer, which draw images of 3D scenes by tracing the light rays reaching the simulated camera. The lab is divided into two parts. In the first part you will learn:
Rasterizer - 11th of MayIn this lab you will implement a Rasterizer to draw images of 3D scenes. The output of the Rasterizer will be very similar to the Raytracer you wrote in Lab 2, but a Rasterizer achieves this in a different way. It is typically faster than a Raytracer and thus more suitable for real-time graphics. The lab consists of two parts. In the first part you will explore:
Optional assignment a.k.a. "The Project" or Lab 4In order to acquire one of the higher grades (A,B) on the course you need to make an optional assignment. You are completely free to choose the assignment yourself but you should discuss with the lecturers in order to define something that is relevant. The result of a potential project is shown below which is implementing a global illumination model for rendering the cornell box.
In order to present project please sign up for one timeslot in the doodle following this link URL