CPSC 324 Fundamentals of Computer Graphics Spring 2006

CPSC 324 Syllabus

Note: The exam dates are firm. Project dates may shift slightly, and aren't firm until the project has been assigned.

 AssignmentsImportant Dates

Week 1: 1/16-1/20

Topics: introduction; scan conversion

Reading: HB (Hearn & Baker) ch 1, 2.1-2.8 (background); 3.1, 3.5 (Wed); 3.13-3.15, 4.2, 4.10-4.11, 4.17 (Fri)

Do the readings before coming to class on the specified day, so that class time can be spent on addressing questions and trickier topics.

The "background" readings should be completed sometime in the first week, and will only be covered lightly in class.

Optional Reading: HB 3.6-3.7, 3.9-3.12, 3.20, 4.4-4.6, 4.9, 4.12-4.13, 4.15

Optional readings are for those who interested in learning a bit more about related topics. They won't be covered in class.

Notes: Lecture slides will be posted in two forms - a full-size color version for on-screen viewing, and a 4-up black-and-white version for printing. Please do not print the on-screen viewing copy - it wastes paper and toner (because of the black backgrounds).

  • [Mon] history of CG/applications: on-screen viewing or printing
  • [Wed] scan conversion (lines): viewing or printing
  • [Fri] scan conversion (triangles, antialiasing): viewing or printing
    The three slides about polygon scan conversion are included if you are curious about what the general polygon-fill algorithm looks like.

Other Links:

Review Problems: scan conversion

homework #0
due Wed 1/18
homework #1: Scan Conversion
due Wed 1/25

Week 2: 1/23-1/27

Topics: linear algebra; 2D & 3D transforms; hierarchical scene graphs

Reading: HB A-1, A-2, A-4 (except metric tensors), A-5, 5.1-5.5, 5.8 (Mon); 5.9-5.16 (Wed); 14.1-14.3 (Fri)
The material from Appendix A is for reference - if you are familiar with the concepts, you can just skim it.


Review Problems: linear algebra and transformations

homework #2: Transformations
due Mon 1/30

Week 3: 1/30-2/3

Topics: the 3D viewing pipeline; parallel projections

Reading: HB 7.1-7.5 (Mon); 7.9 (Wed); 7.6-7.7 (Fri)

Optional Reading: HB 6.15, 7.11


Review Problems: viewing pipeline

Project Information:

homework #3: Scene Graph
due Wed 2/1
homework #4
due Fri 2/3
due Fri 2/17

Week 4: 2/6-2/10

Topics: projection

Reading: HB 7.7-7.8 (Mon)

Optional Reading: HB 6.15, 7.11


  • [Mon] projection, part 2 (oblique parallel projections and parallel projection summary): on-screen viewing or printing
  • [Wed/Fri] projection, part 3 (perspective projections and projection summary): on-screen viewing or printing (updated 2/10 to fix notation in shear matrix in final perspective summary)

Review Problems: projection

homework #5: Projection
due Mon 2/13

Week 5: 2/13-2/17

Topics: visible surface determination, color

Reading: HB 9.1-9.4, 9.6, 9.11, skim 9.7 (Mon/Wed); 12.1-12.2, 12.4 (Fri)

Optional Reading: HB 9.9, 9.10, 9.13; 12.3, 12.5-12.9


Review Problems: visible surface determination, color

  review session 4-5pm
exam review information
    midterm #1
due Wed 2/22 at the start of class

Week 6: 2/20-2/24

Topics: lighting and shading

Reading: 10.1-10.3 (Mon/Wed); 10.10 (Fri)

Optional Reading: 10.8


Review Problems: lighting and shading

homework #6: Color
due Mon 2/27
due Thu 3/9 5pm
(or before you leave for spring break)

Week 7: 2/27-3/3

Topics: lighting and shading, OpenGL basics

Reading: HB 2.9, 3.16, 4.3, 5.17, 7.10, 8.2, 8.6, 9.14, 10.20 (Wed); OpenGL tutorial (Wed)
Do this reading with the idea of getting an overview of what is possible, rather than memorizing all the details.

Optional Reading: 10.4-10.6


homework #7: OpenGL
due Wed 3/22

Week 8: 3/6-3/10

Topics: OpenGL basics

Reading: (same as week 7) HB 2.9, 3.16, 4.3, 5.17, 7.10, 8.2, 8.6, 9.14, 10.20; OpenGL tutorial

  no class Fri 3/10 or 3/13-3/17 (spring break)

Week 9: 3/20-3/24

Topics: raytracing

Reading: HB 10.11: basic algorithm, ray-surface intersections, ray-sphere intersections, ray-polyhedron intersections, reducing object-intersection calculations (Mon)

Optional Reading: HB 10.11: space subdivision


Review Problems: raytracing

  Raytracer (part I)
due Wed 4/5
homework #8: Intersections
due Wed 3/29

Week 10: 3/27-3/31

Topics: raytracing

Reading: HB 10.4 (Wed), HB 10.11: antialiased ray tracing (Fri)

Optional Reading: HB 10.11: distributed ray tracing



Week 11: 4/3-4/7

Topics: raytracing, animation

Reading: HB 13.1-13.6 (Wed)


  • [Mon] raytracing, part 7 (spatial organization, light buffers, ray trees, antialiasing): on-screen viewing or printing
  • [Wed] animation, part 1 (introduction, rigid bodies): on-screen viewing or printing
    slides 22-32 (about quaternions for interpolating rotations) are optional
  review session
Mon 4/3 2-3pm
exam review information
    midterm #2
due Mon 4/10 at the start of class
    no class Fri 4/7

Week 12: 4/10-4/14

Topics: animation

Reading: HB 13.7-13.9 (Mon); 8.26 (Fri); 8.25 (Fri)

Optional Reading: (posted on Blackboard)

  • dynamics: "Particle System Dynamics" (particles), "Unconstrained Motion" (rigid bodies), "Constrained Motion" (collisions)
  • particle systems: "Particle Systems - A Technique for Modeling a Class of Fuzzy Objects" (particle systems), "Approximate and Probabilistic Algorithms for Shading and Rendering Structured Particle Systems" (structured particle systems)


  Raytracer (part II)
due Mon 4/17

Week 13: 4/17-4/21

Topics: animation



Optional Reading: (posted on Blackboard)

  Final Project
due Fri 5/5 noon

Week 14: 4/24-4/28

Topics: texture and bump mapping, radiosity

Reading: HB 10.17-10.18 (Mon); 10.12 (Wed/Fri)



Week 15: 5/1-5/2

Topics: project demos

  take-home final exam
due Sun 5/7 10pm
exam review information

Reading Period & Final Exams: 5/6-5/9

super deadline
Sun 5/7 10pm

Valid HTML 4.01!