- 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]
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
7.2, 7.4-7.6. Texture Mapping.
7.8-7.10 Environment Mapping, Reflection Map & Bump Mapping
8.1-8.2: Hierarchical Models
8.3-8.4: A robot arm
8.8: Scene Graphs
Chapter 9: (9.9 Procedural Noise)
10.1: Implicit and explicit representations
10.5: Hermite Curves
10.8.5: Catmull-Rom splines
11.2-11.3: Ray tracing
11.4: The rendering equation