Official course description for:
Full info last published 7/06-19

Graphics Programming

Course info
Language:
English
ECTS points:
7.5
Course code:
KGGRPRG1KU
Participants min:
1
Participants max:
40
Offered to guest students:
yes
Offered as a single subject:
yes
Price (single subject):
10625 DKK (incl. vat)
Programme
Level:
MSc. Master
Programme:
Master of Science in Information Technology (Games)
Staff
Course manager
Assistant Professor
Teacher
,
,
Course semester
Semester
EfterÄr 2019
Start
26 August 2019
End
31 January 2020
Abbreviation
20192
Exam
Abstract

Students attending this course will be able to implement core algorithms of Computer Graphics.

Description

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.

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

  • model and viewing transformations 
  • perspective projection
  • Gouraud and Phong shading
  • shaders
  • texture mapping and bump mapping

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:

  • Outline the software and hardware architecture of OpenGL
  • Implement interactive graphics using OpenGL
  • Describe light/material interaction and how it relates to the Phong lighting model
  • Program GLSL shaders for the Phong lighting model and other effects.
  • Use linear algebra to perform the transformations between coordinate spaces in the graphics pipeline
  • Implement applications with scene graphs, textures, shaders, and lights
  • Explain the math and theory behind virtual cameras in computer
  • Describe advanced rendering techniques such as shadow maps and deferred shading.
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.

Besides traditional lectures the class will also include class-based discussions and small quizzes to make the students reflect about the topics. 

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

Both the weekly exercises and the final project are solved individually.

Mandatory activities

There are no mandatory activities.

Course literature

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

Ordinary exam
Exam type:
D: Submission of written work with following oral, external (7-trinsskala)
Exam variation:
D22: Submission of written work with following oral exam supplemented by the work submitted. The oral exam will be supplemented by the submitted work, i.e. the submitted work supplements a fixed syllabus from the course base.
Exam description:

Submission of an individual project including source code, binaries (if any) and a short report describing the implementation details and the theory used. 

The exam will cover both the curriculum as well a project. 

Oral exam: 20 min.