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.

Review Problems: scan conversion

homework #0
due Wed 1/18

homework #1: Scan Conversion
due Wed 1/25
(solutions)

### 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.

Notes:

Review Problems: linear algebra and transformations

homework #2: Transformations
due Mon 1/30
(solutions)

### 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

Notes:

Review Problems: viewing pipeline

Project Information:

homework #3: Scene Graph
due Wed 2/1
(solutions)

homework #4
due Fri 2/3
(solutions)

Camera/Wireframe
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

Notes:

• [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
(solutions)

### 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

Notes:

Review Problems: visible surface determination, color

review session 4-5pm
exam review information

midterm #1
due Wed 2/22 at the start of class
(solutions)

### Week 6: 2/20-2/24

Topics: lighting and shading

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

Notes:

Review Problems: lighting and shading

homework #6: Color
due Mon 2/27
(solutions)
VSD/Illumination
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.

Notes:

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

Notes:

Review Problems: raytracing

Raytracer (part I)
due Wed 4/5

homework #8: Intersections
due Wed 3/29
(solutions)

### 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

Notes:

### Week 11: 4/3-4/7

Topics: raytracing, animation

Reading: HB 13.1-13.6 (Wed)

Notes:

• [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
(solutions)

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)

Notes:

Raytracer (part II)
due Mon 4/17

### Week 13: 4/17-4/21

Topics: animation

Notes:

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)

Notes:

### Week 15: 5/1-5/2

Topics: project demos

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