Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English


Course material

  • Edward Angel, Dave Shreiner, Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, Pearson Education, 6th edition
  • Previous version of the same book can also be used: Edward Angel, Interactive Computer Graphics. A Top-Down Approach with OpenGL. Addison-Wesley, third, fourth or fifth edition.
  • The new 7th Edition, with WebGL, is still applicable to the course, since we do not focus on the version of OpenGL used, but on the algorithms of Computer Graphics, which are still appropriate in the 7th Edition. The OpenGL in the 6th Edition is useful if available.
  • An alternative reference/text is The Graphics Codex. A comparison to other good Graphics texts is here.


A small collection of voluntary exercises with solutions.
[pdf 0.3 MB]


Reading advice

All references in this paragraph refers to the book:
Edward Angel & Dave Schreiner: Interactive Computer Graphics "A Top-Down Approach with Shader-Based OpenGL" (6th edition) - International Edition 

Chapter 1 - (All) Pinhole camera, human visual system, graphics pipeline

Chapter 2 - (All) This chapter gives a quick introduction to OpenGL and simple GLSL.
Most content is repeated in other chapters, but this chapter ties it together nicely. 

Chapter 3 - (All except 3.13-3.14)
Definitions: Scalars, points, vectors, dot & cross product, frames. 
Transformation: Translation, rotation & scaling.
Concatenation of transforms.
Coordinate frames, homogeneous coordinates.

Chapter 4 - (4.3-4.9)
Derivation of camera transform from VRP, VPN and VUP (the LookAt function). Perspective projection including matrix representation. The z-buffer and backface culling (4.8). 

Chapter 5 - (All except 5.6 and 5.11)
Light sources. Diffuse and Specular shading.
The Phong shading model. GLSL

Chapter 6: (6.11) : Hidden surface removal, z-buffer

Chapter 7:
7.2, 7.4-7.6. Texture Mapping. 
7.8-7.10 Environment Mapping, Reflection Map  & Bump Mapping

Chapter 8: 
8.1-8.2: Hierarchical Models
8.3-8.4: A robot arm
8.8: Scene Graphs

Chapter 9: (9.9 Procedural Noise)

Chapter 10: 
10.1: Implicit and explicit representations
10.5: Hermite Curves
10.8.5: Catmull-Rom splines

Chapter 11: 
11.2-11.3: Ray tracing
11.4: The rendering equation