Computer Graphics Programming


Prerequisite/Recommended prerequisite for participation in the module

Introduction to Programming (1st semester), Mathematics for Multimedia Applications (2nd semester), Image Processing (3rd semester) and Procedural Programming (3rd semester)

Content, progress and pedagogy of the module

Learning objectives


Students who complete the module will obtain the following qualifications:

  • Knowledge of the programmable, hardware-accelerated graphics rendering pipeline as exposed for example by OpenGL
  • Understanding of rotations of 3D space and their different mathematical representations: matrix, axis/angle, quaternion
  • Understanding of homogeneous coordinates and the matrix representation of translations
  • Understanding of the mathematical transformations involved in creating 2D projections from 3D models
  • Understanding of interpolation with Bezier curves and splines
  • Understanding of the interpolation of vertex attributes such as colors (for Goraud Shading), normals (for per pixel lighting) and texture coordinates (for texture mapping)
  • Understanding of real-time local illumination models, in particular the Phong reflection model including the use of the halfway vector
  • Understanding of texture mapping including compositing of multiple textures, normal maps, environment/reflection maps and shadow maps
  • Knowledge of framebuffer operations including blending, stencil tests and depth tests
  • Knowledge of acceleration techniques such as viewport culling, back face culling, occlusion culling and deferred rendering
  • Knowledge of techniques to improve image quality such as antialiasing by super sampling and anisotropic mipmap texture filtering


Students who complete the module will obtain the following qualifications:

  • Ability to apply a graphics API such as OpenGL and GLUT for procedurally generating and interactively controlling three-dimensional content
  • Ability to apply simple vertex and fragment shaders (e.g. implementing per-vertex diffuse lighting and normal mapping)
  • Ability to apply a graphics application that imports two-dimensional and three-dimensional content (such as textures and meshes) from a modeling tool (such as Blender, 3ds Max or Maya)
  • Ability to analyse the design and implementation of interactive graphical applications with personnel of different professional backgrounds (such as artists, designers, programmers etc.)


Students who complete the module will obtain the following qualifications:

  • Ability to synthesize an interactive graphical application and to choose appropriate frameworks and APIs (OpenGL, scene graph, game engine etc.)
  • Ability to learn further graphics APIs (such as Direct3D, OpenGL ES, SVG, X3D and canvas graphics in HTML5), game engines and APIs for user interaction (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 Framework Provisions 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 Framework Provisions 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 ex-ercises, a deadline is stipulated for when the work must be handed in. If the student hands in a pa-pers/exercises after the deadline, the student has used an examination attempt.

The exam Individual oral or written examination with internal censor. The assessment is performed in accordance 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 codeMSNMEDB5103
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