Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English


The course has five mandatory programming assignments which we recommend doing in pairs, but they can be done individually. An overview of the assignment will be presented at a dedicated seminar, and the instructions are available in a PDF document. To have your assignment approved you are to present it at a scheduled approval session the week after the corresponding seminar. For 2020 this will be done via Zoom. If working in pairs, Both students in a pair must be present, and answer questions about their work in order to pass. Deadlines are strict in the sense that you are required to make them in order to pass the course. In case you run into problems with a deadline for an assignment you need to make an agreement in advance with the course lecturer.


Below are the seminars from the 2019 course. All 2020 material is on Canvas.


2/9Introductory seminar: OpenGL and C++

slides, Assignment0

9/9 Seminar 1: Solar system

slides, Assignment1

16/9Seminar 2: Tessellation & Interpolation

slides, Assignment2

23/9Seminar 3: Shaders I

slidesAssignment3, GLSL spec (4.1)

30/9Seminar 4: Shaders II – Water shader

slides, Assignment4, GPU Gems article

7/10Seminar 5: Game

slides, Assignment5


The software framework we use is available on GitHub.
The documentation of the framework is available here.
The textures and objects used in the assignment can be found here.

GLSL syntax highlighting

For Visual Studio 2017 and 2019

Using GLSL language integration: if you are on your own computer, you can retrieve it directly through Visual Studio’s extensions menu

For Vim and NeoVim

Using CaffeineViking’s vim-glsl (supporting GLSL 1.10 through 4.60, and the GLSL variant used for Vulkan shaders), or beyondmarc’s glsl.vim (supporting GLSL 3.30 through 4.60, and highlights deprecated and unsupported keywords).