Reading
There is no textbook for the course because it is difficult to find a text that matches the material we cover in the course. What you need to know is what is covered by the lectures. It is good to have a textbook as a reference, and there are several options as described below.
An important reference would be for OpenGL programming.
Course material
- Edward Angel, Dave Shreiner, Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, Pearson Education, 6th edition (Hard to find).
- 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 textbook is Fundamentals of Computer Graphics by Steve Marschner, Peter Shirley
- An alternative reference/text is The Graphics Codex (online). A comparison to other good Graphics texts is here. A free version is now available through Nvidia here.
- A free on-line alternative textbook is Physically Based Rendering (PBRT). PBRT describes everything needed for Path Tracing, so much more advanced than EDAF80, but the basics are the same. See the comparison above comparing it to other textbooks.
Exercises
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