Official course description:
Full info last published 15/05-20

Graphics Programming

Course info
ECTS points:
Course code:
Participants max:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
Price (single subject):
10625 DKK (incl. vat)
MSc. Master
MSc in Games
Course manager
Assistant Professor
Part-time Lecturer
Course semester
Efterår 2020
24 August 2020
31 January 2021
Exam type
ekstern censur
Grade Scale
Exam Language
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. It includes an introduction to both rasterized and ray-traced graphics.

Students will implement the major components of a traditional projective rendering pipeline:

  • model and viewing transformations 
  • perspective projection
  • clipping, culling and rasterization
  • reflection models
  • programmable shaders
  • texture mapping
  • And will learn about advanced rendering techniques, such as:
      • bump mappinge
      • nvironment mapping 
      • shadow mapping
      • deferred shading

      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
      Formal prerequisites

      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:

      • Implement interactive graphics using OpenGL
      • Outline and describe the steps in the rasterization pipeline
      • Describe the main differences between rasterization and ray-tracing
      • Describe light/material interaction and how it relates to lighting model
      • Program GLSL shaders for the lighting and other effects
      • Use linear algebra to perform the transformations between coordinate spaces in the graphics pipeline
      • Implement applications with geometry, textures, shaders, and lights
      • Explain the math and theory behind virtual cameras in computer graphics
      • Describe advanced rendering techniques such as shadow mappings and deferred shading
      • Analyze, implement and explain a topic of their choice. The topic must be related to the core content of the course
      Learning activities

      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.

      Weekly exercises are not handed in but their solutions are published after one week. 

      The final project is developed individually.

      Mandatory activities

      There are four mandatory activities that have to be handed in. Students can develop these activities in groups.

      The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

      Course literature

      The course literature is published in the course page in LearnIT.

      Student Activity Budget
      Estimated distribution of learning activities for the typical student
      • Preparation for lectures and exercises: 15%
      • Lectures: 15%
      • Exercises: 15%
      • Assignments: 20%
      • Project work, supervision included: 25%
      • Exam with preparation: 10%
      Ordinary exam
      Exam type:
      D: Submission of written work with following oral, External (7-point scale)
      Exam variation:
      D22: Submission with following oral exam supplemented by the submission.

      Time and date
      Ordinary Exam - submission Mon, 21 Dec 2020, 08:00 - 14:00
      Ordinary Exam Mon, 18 Jan 2021, 09:00 - 19:00
      Ordinary Exam Tue, 19 Jan 2021, 09:00 - 19:00
      Reexam - submission Wed, 10 Feb 2021, 08:00 - 14:00
      Reexam Wed, 10 Mar 2021, 09:00 - 16:00