Official course description:
Students attending this course will be able to implement core algorithms of Computer Graphics.
Computer graphics is used to visualise data in video games, virtual & augmented reality, simulations, and many other areas, like medicine and data visualisation. This course provides an overview over the most important concepts of 3D computer graphics.
Students implement the major components of a traditional projective rendering pipeline:
- model and viewing transformations
- perspective projection
- Gouraud and Phong shading
- texture mapping and bump mapping
In addition, the student will be supervised in the acquisition of specialized knowledge in the graphics-programming area of their choice. Example topics include:
- parameterized surfaces
- physically based rendering
- particle systems
- voxel rendering
Students need to be able to perform basic programming tasks and have a foundational understanding of discrete mathematics, especially vector and matrix operations.
Intended learning outcomes
After the course, the student should be able to:
- Outline the software and hardware architecture of OpenGL
- Implement interactive graphics using OpenGL
- Describe light/material interaction and how it relates to the Phong lighting model
- Program GLSL shaders for the Phong lighting model and other effects.
- Use linear algebra to perform the transformations between coordinate spaces in the graphics pipeline
- Implement applications with scene graphs, textures, shaders, and lights
- Explain the math and theory behind virtual cameras in computer
- Describe advanced rendering techniques such as shadow maps and deferred shading.
Foundational study in which text and online resources provide the background for in-depth programming assignments. Classes will also include supervised project work and introductions to advanced topics.
Besides traditional lectures the class will also include class-based discussions and small quizzes to make the students reflect about the topics.
Weekly exercises are not handed in but their solutions are published after one week.
Both the weekly exercises and the final project are solved individually.
The course literature is published in the course page in LearnIT.
Ordinary examExam type:
D: Submission of written work with following oral, external (7-trinsskala)
D22: Submission of written work with following oral exam supplemented by the work submitted.
Submission of an individual project including source code, binaries (if any) and a short report describing the implementation details and the theory used.
The exam will cover both the curriculum as well a project.
Oral exam: 20 min.