Computer Graphics Programming

2022/2023

Recommended prerequisite for participation in the module

The module builds upon knowledge optained in the modules Introduction to Programming, Mathematics for Multimedia Applications, Image Processing, and Programming of Complex Software Systems.

Content, progress and pedagogy of the module

Objectives:

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

Knowledge

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

 

Skills

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)

Competences

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 § 17.

Exam

Prerequisite for enrollment for the exam

  • 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

Exams

Name of examComputer Graphics Programming
Type of exam
Written or oral exam
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.
ECTS5
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 codeMSNMEDB5142
Module typeCourse
Duration1 semester
SemesterAutumn
ECTS5
Language of instructionEnglish
Location of the lectureCampus Aalborg, Campus Copenhagen
Responsible for the module

Organisation

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