Fundamentals of Computer Graphics     COMP 557
Winter 2015  

Instructor: Professor Michael Langer
Lectures: Tues/Thurs 2:35-3:55 Trottier 100
Instructor Office Hours: (ENGMC 329): Tues/Thurs 4:-5: PM (or by appointment)


Teaching Assistants: [email: firstname.lastname@mail.mcgill.ca]
      Charles Bouchard ENGMC 110
      Fahim Mannan ENGMC 337
      Shayan Rezvankhah ENGMC 337
      Milena Scaccia ENGMC 337

Announcements/Resources

External Resources

Lecture Schedule

  1. (1/6) preliminaries (slides)   (notes)
    Course Outline, overview, dot & cross products (review)
    Part 1: Viewing transformations: from vertices to pixels
  1. (1/8) model transformations (notes)   (slides)  (3x3)
    rotations, scaling, translations, homogeneous coordinates, points at infinity
  2. (1/13) view transformations (notes)   (slides)  (3x3) [no lecture recordings]
    viewer coordinates, GL_MODELVIEW, quadrics
  3. (1/15) projections, view volume (notes)   (slides)   (3x3)
    orthographic & parallel, perspective, vanishing points; frustum, near and far planes
  4. (1/20) projective transform (notes)   (slides)  (3x3) [no lecture recordings]
    normalized view volume, GL_PROJECTION, clipping coordinates
  5. (1/22) clipping, windows, scan conversion (notes)   (slides)  (3x3)
    Cohen-Sutherland, display coordinates and viewports, rasterizing a line
    Part 2: Visibility, geometry modelling
  1. (1/27) hidden surface removal (notes)   (slides)  (3x3)
    OpenGL pipeline (end of part 1), back face culling, depth buffer, painter, ray casting
  2. (1/29) more (efficient) hidden surface removal (notes)   (slides)  (3x3)
    BSP tree, octrees, bounding volume hierarchy
  3. (2/3) object hierarchies (notes)  (slides)  (3x3)
    OpenGL transformation stack, fractals, L-systems
  4. (2/5) smooth curves and surfaces (notes)  (slides)  (3x3)
    cubic splines (Hermite, Bezier, Catmull-Rom), bicubic surfaces
  5. (2/10) meshes (notes)  (slides)  (3x3)
    level of detail, simplification, subdivision
    Part 3: Rendering: light, material, texture, transparency
  1. (2/12) lighting, material, shading (notes)  (slides)  (3x3)
    ambient/point/spot, diffuse/mirror/glossy, Gouraud/Phong

  2. (2/17) review of selected exercises (1-11)  (slides)
  3. (2/19) midterm exam (covers lectures 1-11)

  4. (2/24) review of midterm exam, review of rotations  (slides)
  5. (2/26) texture mapping  (notes)  (slides)  (3x3)
    homographies, aliasing, magnification and minification, interpolation

    STUDY BREAK: March 2-6

  6. (3/10) more texture mapping, procedural shading (notes)  (slides)  (3x3)
    MIP mapping, bump mapping
  7. (3/12) ray tracing, environment mapping (notes)  (slides)  (3x3)
    cube/sphere map, refraction
  8. (3/17) shadows and interreflections (slides)  (3x3)
    cast vs attached, ray tracing, shadow mapping, ambient occlusions, interreflections
  9. (3/19) image compositing (slides)  (3x3)
    alpha, over, blending, pulling a matte
  10. (3/24) volume rendering (slides)  (3x3)
    blending N layers, fog, transfer functions
  11. (3/26) review of selected exercises (12, 16-19) (slides)
    Part 4: Image Capture and Display
  1. (3/31) color (slides)  (3x3)
    trichromacy, spectra, color matching, color displays, perceptual vs physical
  2. (4/2) image capture (slides)  (3x3)
    image blur, f-number, exposure, HDR imaging
  3. (4/7) image display (slides)  (3x3)
    Weber/Stevens Laws, gamma correction

Assignments, Exercises, Exams, etc

  Exercises 1




  Exercises 2

  Exercises 3

  Exercises 4

  Exercises 5

  Exercises 6




  Exercises 7

  Exercises 8

  Exercises 9

  Exercises 10

  Exercises 11



  Exercises 12



  midterm exam (with solutions)


  Exercises 16




  Exercises 17

  Exercises 18


  Exercises 19

  Exercises 20


  Exercises 21




  Exercises 23

  Exercises 24

  Exercises 25



  final exam with solutions (PDF)