You are responsible for the material in the readings. It may appear on the exams. Unless otherwise specified, we expect you to have done the reading for a particular week before the Friday lecture. You may find that its best to do readings before lectures earlier in the week.


  • FCG: Fundamentals of Computer Graphics, 3e by Shirley and Marschner
  • OGL: OpenGL Programmers Guide, 7th ed by Shreiner
  • RTR: Real-Time Rendering, 3ed, by Akenine et al

  • Week 1 Reading:

  • FCG: Chapter 1 is a brief introduction to graphics.
  • FCG: Chapter 2 reviews some high school and collage math concepts that will be often used in the class. If it reads opaque to you, you should seriously reconsider whether to take this class.

  • Week 2 Reading:

  • For the camera topics, they are pretty basic and at the concept level. If you read the slides and understand my lecture, you should be in good shape.
  • For image sampling and filtering topics, FCG: Chapter 9.1-9.2.2, 9.2.6. We are a little bit out of order; after nect two lectures, you should be able to read most of Chapter 9.

  • Week 3 Reading:

  • For image filtering and resampling topics, FCG: Chapter 9.2.3-9.2.5, 9.4.1. We are a little bit out of order; after nect lecture, you should be able to read most of Chapter 9.
  • After Wed's lecture, for image resampling topics, you should finish reading FCG: Chapter 9.1-9.4. Chapter 9.5 gives a theoretical explanation using Fourier transformation, which is optional.
  • For painterly rendering, Hertzmann, Painterly Rendering with Curved Brush Strokes of Multiple Sizes, SIGGRAPH 1998, section 2.1 (required), others (optional). Addtional information about this paper can be found here.

    Week 4 Reading:

  • For the second painterly drawing I showed at the beginning of the class, see Stylization and Abstraction of Photographs, Doug DeCarlo, Anthony Santella, in SIGGRAPH 2002, pp. 769-776. (optional)
  • For edge detection, Edge Detection Tutorial (recommended but optional).
  • For image compositing, the required reading is FCG: Chapter 3.3-3.4. For premultiplied alpha, see Alvy Ray Smith, "Image Compositing Fundamentals", (page 1-6 till the end of "premultiplication problems") and Tom Porter and Tom Duff, "Compositing Digital Images" are good references; both are optional.
  • For image warping, FCG: Chapter 6.1.1-6.1.5; 6.1.6 is optional.
  • FCG: Chapter 5. This chapter overviews some basic matrix concept we will soon be using in 3D graphics.
  • For translation and affine transformation: FCG: Chapter 6.3 (We will dicuss 3D transformation next time).
  • For barycentric coordinates: FCG: Chapter 2.6-2.7.
  • (Recommended but optional) For warping and morphing, Image morphing: a survey, George Wolberg, Visual Computer 1998.

  • Week 5 Reading:

  • (Recommended but optional) For warping and morphing, Image morphing: a survey, George Wolberg, Visual Computer 1998.
  • FCG: Chapter 6.2.2, transforming normal vectors; 6.4, inverses of matrices.
  • FCG: Chapter 6.2 and 6.5.
  • FCG: Chapter 7.1.3 on camera transform.
  • In case you missed notes on how to derive rotation from rotation axis and angle, here is my scribe.

    Week 6 Reading:

  • FCG: Chapter 7.1.1, 7.1.2 viewing transformation.
  • FCG: Chapter 7.2 and 7.3 on persepctive and projective transformation.
  • FCG: Chapter 7.5 on field of view
  • FCG: Chapter 8.1.1 and 8.1.2 on drawing lines and triangles; 8.1.3 and 8.1.4 on clipping are optional (we did not cover in class).
  • FCG: Chapter 8.2.1, 8.2.2, 8.2.3, 8.2.4, 8.2.5 on graphics pipeline.
  • FCG: Chapter 12.4 on BSP tree.
  • OGL: Chapter 1. Intro to OpenGL.

  • Week 7 Reading:

  • OGL: Chapter 2 and 3. It's a lot content. You should quickly read the whole thing and careufully read the content that I covered in the class. You don't have to remember every command in detail; but you need to know what OpenGL can do and use it properly for your programming project. In mid and final exam, we will NOT test OpenGL Syntax. Reading the simple example code, downloading and running them are good exercises.
  • FCG: Chapter 12.2 on Secen Graph.
  • FCG: Chapter 15.1-4, 15.5.1-2 on Curves.

  • Week 8 Reading:

  • FCG: Chapter 15.5.3 on Cubics.
  • FCG: Chapter 15.6.1 on Bezier curves, and 15.6.2. on B-splines.
  • FCG: Chapter 10.1 and 10.2 on lighting.
  • OGL: Chapter 4 and 5 on color and lighting.

    Week 12 Reading:

  • FCG: Chapter 11.2 and 11.3.
  • RTR: Chapter 6.2 except for "Anisotropic Filtering" at the end. The chapter is available at:
    Linux: /p/course/cs559-lizhang/public/readings/6_texture.pdf
    Windows: P:\course\cs559-lizhang\public\readings\6_texture.pdf
  • OGL: Chapter 9 on Texture Mapping (pages 389-448).

    Week 13 Reading:

  • FCG: Chapter 11.1.1 and 11.1.2 on 3D texture.
  • FCG: Chapter 11.4-11.7 on bump maps, displacement maps, env maps, and shadow maps.
  • OGL: Chapter 9 on Texture Mapping (pages 448-478, 482-487).
  • FCG: Chapter 12.1 (261-271 only) on triangular meshes.

  • Week 14 Reading:

  • FCG: Chapter 28.1 and 28.2.1 (except for ray tracing) on volume data.
  • RTR: Chapter 13.4 (subdivision curves), 13.5.1, 13.5.3, 13.5.4, 13.5.5 (subdivision surfaces). The chapter is available at:
    Linux: /p/course/cs559-lizhang/public/readings/13_surfs_gleicher.pdf
    Windows: P:\course\cs559-lizhang\public\readings\13_surfs_gleicher.pdf
  • (Optional) Computer Rendering of Stochastic Models, Comm of ACM, June, 1982, p371-384
    Linux: /p/course/cs559-lizhang/public/readings/p371-fournier.pdf
    Windows: P:\course\cs559-lizhang\public\readings\p371-fournier.pdf

  • Week 15 Reading:

  • Witkin, Particle System Dynamics, SIGGRAPH 01 course notes on Physically Based Modeling.
    Linux: /p/course/cs559-lizhang/public/readings/ particles.pdf
    Windows: P:\course\cs559-lizhang\public\readings\ particles.pdf
  • Witkin and Baraff, Differential Equation Basics, SIGGRAPH 01 course notes on Physically Based Modeling.
    Linux: /p/course/cs559-lizhang/public/readings/ DiffEq.pdf
    Windows: P:\course\cs559-lizhang\public\readings\ DiffEq.pdf
  • (Optional) FCG: Chapter 17 on Animation.
  • FCG: Chapter 4 on Ray tracing.
  • (OPtional) OGL: Chapter 10 (pages 518--525) on Accumulation Buffer.

    Week 16 Reading:

  • FCG: Chapter 13 on More Ray tracing, except for section 13.3.