Computer Graphics Programming


Prerequisite/Recommended prerequisite for participation in the module

The module adds to knowledge obtained in Introduction to Programming, Mathematics for Multi-media Applications, Image Processing, and Programming of Complex Software Systems

Content, progress and pedagogy of the module


The course provides an introduction to real-time computer graphics concepts and techniques. The focus is on programmable functionalities (i.e., shader programs) of modern Graphics Programming Units (GPUs) as offered by graphics APIs such as OpenGL. It also covers the relevant underlying mathematical concepts (e.g., transformations between coordinate systems) and mathematical models (e.g., Phong’s reflection model), as well as how these are applied in GPU-based shader programs.

Learning objectives


Students who complete the module will obtain the following qualifications:

  • Ability to describe the programmable, hardware-accelerated graphics rendering pipeline as exposed, for example, by OpenGL, and its relationship and interaction with the central processing unit (knowledge)
  • Ability to describe the concepts of vector bases, vector spaces, and coordinate systems as well as transformations between them (application)
  • Ability to describe the mathematical representation of any rotation of 3D space by a matrix, by an axis and an angle, and by a quaternion (application)
  • Ability to explain the computation of quadratic Bezier curves and splines (application)
  • Ability to describe the interpolation of vertex attributes such as colors (e.g., for pre-vertex lighting), normals (e.g., for per-pixel lighting), and texture coordinates (knowledge)
  • Ability to describe framebuffer operations including blending and depth tests (knowledge)
  • Ability to explain acceleration techniques such as viewport clipping and backface culling (understanding
  • Ability to explain techniques to improve image quality such as antialiasing by supersampling and mipmap texture filtering (understanding
  • Ability to explain common performance bottlenecks of GPUs – including GPUs for mobile devices (understanding



Students who complete the module will obtain the following qualifications:

  • Ability to describe the 4x4 matrix representation and application of any 3D affine transformation in homogeneous coordinates and apply it in a GPU-based shader program (application)
  • Ability to describe real-time local illumination models, in particular the Phong reflection model and apply them in a GPU-based shader program (application)
  • Ability to explain texture mapping techniques including compositing of multiple textures, normal mapping, environment/reflection mapping, and shadow mapping and apply them in a GPU-based shader program (application)


Students who complete the module will obtain the following qualifications:

  • Ability to create a program for procedurally generating and interactively controlling and rendering three-dimensional content (application)

Type of instruction

Refer to the overview of instruction types listed in the start of chapter 3. The types of instruction for this course are decided in accordance with the current Joint Programme Regulations and directions are decided and given by the Study Board for Media Technology.



Name of examComputer Graphics Programming
Type of exam
Written or oral exam
In accordance with the current Joint Programme Regulations and directions on examination from the
Study Board for Media Technology:

To be eligible to take the exam the student must have fulfilled:
• handing in of written assignments or the like
• completion of certain – or all – study activities

Note that if admittance to the exam or parts of the assessment is to be based on written work or exercises, a deadline is stipulated for when the work must be handed in.

Individual oral or written examination with internal censor. The assessment is performed in accord-ance with the 7-point scale.
Permitted aids
With certain aids:
See semester description
Assessment7-point grading scale
Type of gradingInternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Facts about the module

Danish titleComputergrafik programmering
Module codeMSNMEDB5172
Module typeCourse
Duration1 semester
Language of instructionEnglish
Location of the lectureCampus Aalborg, Campus Copenhagen
Responsible for the module


Study BoardStudy Board of Media Technology, Study Board of Electronics and IT, Study Board of Computer Science
DepartmentDepartment of Architecture, Design and Media Technology
FacultyTechnical Faculty of IT and Design