Below you will find the lecture plan and the link to the lecture slides archive.

Since we have international students in the course, all lectures will be held in english.

Lecture plan (preliminary)

1. Introduction, graphics systems, color, API's (Chapter 3)

2. 2D transformations (Chapter 4.1 to 4.6, 5), OpenGL introduction

3. 3D transformations, Viewing, Projection (Chapter 6.1 to 6.2, 6.4 to 6.8)

4. GLSL, introduction to visible surface detection (Chapter 12), polyhedra models (Chapter 8.1-8.4)

5.Light models, shading (Chapter 7), surface detail, texture mapping (Chapter 10)

6. More surface detail, texture mapping, multitexture, light mapping, bump mapping, environment mapping, skybox (Chapter 10)

7. More bump mapping, skybox (Chapter 10), Normal matrix (Chapter 7), A bit more about shaders including multitexturing (Chapter 10 and 18), painter’s algorithm and transparency (Chapter 12), ray-casting intro (Chapter 17).

8. Picking (6.9) and trackball controls (6.10), Rotation around arbitrary axis (Chapter 6.3), Large worlds, high-level VSD. (

9. Level of detail, Billboards (Chapter 13.5-13.10)

10. Curves and surfaces (Chapter 8.5-)

11. Animation, collision detection, particle systems (Chapter 14)

12. Collision handling (Chapter 14+?) Fractals and noise (Chapter 9)

13. Fractal terrains, Anti-aliasing, Ray-tracing (Ch 16?)

14. Radiosity, path tracing (Chapter 17) Low-level algorithms (Chapter 15) Loose ends. OpenGL ES.

Note: This is a preliminary schedule. Some changes are planned at the later lectures.

Lecture slides

Lecture slides will appear here, generally shortly before or after the lectures. If you want to check out the slides before the lecture, you can find old versions by the link below.

Note that some lecture notes are very few pages. That is simply when I have worked a lot on the whiteboard.

There may be overlap between the PDF's, when material has been included in the presentation for one lecture but delayed to the next.

PDFs from 2024 are/will be here: pdf24

PDFs from 2023 are here: pdf23

For code examples demonstrated at the lectures, look here:

The PFNP demo archive

Older lecture notes are at the old course page.

This page is maintained by Ingemar Ragnemalm