Computer Graphics Programming


Recommended prerequisite for participation in the module

The module builds upon knowledge obtained in the module Linear Algebra

Content, progress and pedagogy of the module

The course provides an introduction to real-time computer graphics concepts and techniques. The course focuses on programmable functionalities as offered by graphics APIs, supplemented with a presentation of the relevant underlying theories. The course also introduces the concepts of Virtual Reality and Augmented Reality, and how computer graphics is used in the context of these application areas.

Learning objectives


  • Must be able to describe the programmable graphics rendering pipeline as exposed for example by OpenGL.
  • Must be able to explain relevant mathematical transformations, including rotations, translations and projections in terms of matrix operations in homogeneous coordinates.
  • Must be able to explain real-time local illumination models, in particular the Phong reflection model, including the use of linearly interpolated attributes (colors and surface normals.)
  • Must be able to explain rasterization techniques, including texture mapping (diffuse reflection maps, gloss maps, environment/reflection maps), framebuffer operations (blending, stencil tests, depth tests), and anti-aliasing techniques (super-sampling, mip-map texture filtering).
  • Must be able to describe interpolation with Bezier and Hermite curves.
  • Must be able to describe the concepts of Virtual Reality and Augmented Reality, including relevant display technologies.
  • Must be able to discuss central issues relating to Virtual and Augmented Reality, including tracking, interaction possibilities, and degrees of realism.


  • Must be able to apply a graphics API such as OpenGL for procedurally generating and interactively controlling three-dimensional content.
  • Must be able to program simple vertex and fragment shaders (e.g. implementing per-vertex diffuse lighting and normal mapping)


  • Must be able to learn further graphics APIs (such as Direct3D, OpenGL ES, SVG, X3D, webGL in HTML5), game engines and APIs for user interaction

Type of instruction

Types of instruction are listed in §17; Structure and Contents of the Programme.



Name of examComputer Graphics Programming
Type of exam
Written or oral exam
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 codeESNVGISK1K1A
Module typeCourse
Duration1 semester
Language of instructionEnglish
Empty-place SchemeYes
Location of the lectureCampus Aalborg
Responsible for the module


Study BoardStudy Board of Electronics and IT
DepartmentDepartment of Electronic Systems
FacultyThe Technical Faculty of IT and Design