Introduction to Computer Graphics, Fall 2000

CS 551 (Undergrad) / CS 645 (Graduate)

Time: Tuesday/Thursday 5:00 - 6:15
Place: MEC 339
Instructor:
David Brogan (Olsson Room 217), dbrogan@cs.virginia.edu
Office Hours: I have no set office hours for this course, though I am frequently in my office. If you want to be certain to reach me, please schedule an appointment with me via email.
Office Phone: 804-982-2211
Assistant:
Brian Clarke, bpc5z@cs.virginia.edu
Office Hours: T 3:30-5, W 1:30-3:30 in Small Hall
Description: This course introduces techniques for 2D and 3D computer graphics, including modeling and representation, illumination and shading, rendering, texturing, and advanced software tools. The student will learn fundamental algorithms and techniques and gain the knowledge necessary to understand and augment the latest innovations in computer graphics.
Prerequisites:
  • Because programming is required for this course, a grade of C or better in CS 216 is a prerequisite. Data structures (pointers, lists, and memory allocation) will be used extensively.
  • Basic linear algebra, geometry, and calculus
Textbooks:
  • Computer Graphics: Principles and Practice, Foley, van Dam, Feiner, and Hughes
  • OpenGL Programming Guide, The Official Guide to Learning OpenGL, Woo, Neider, Davis, and Shreiner
Assignments: There will be four or five programming assignments in this course. All assignments must be written in C or C++ using OpenGL and GLUT libraries. No prior knowledge of OpenGL is required for this course, as you will learn it during the semester.

Programs may be written on any computer that supports these libraries, but they will be compiled and tested on the SGIs in Small Hall. If you develop your assignments someplace other than Small Hall, you must port them to the SGI before turning them in.

The program source code will be read. Source code documentation and organization should make your programs easy to read and convey your understanding of the implemented functions. Poor documentation and programming style will result in a lower score. More detailed instructions regarding required documentation will be provided with each assignment.

The assignments will require implementation of many of the following computer graphics processes: line and triangle rasterization and drawing, 3D transformations, clipping and depth culling, splines and surfaces, lighting and texture mapping. Use of advanced professional software tools (Maya and Pixar) will also be explored.

Tests: One midterm and one final
Grading: Assignments: 50%, Midterm: 20%, Final: 25%, Class Participation: 5%
Late Days: Assignments are due at midnight of the day they are due. Students have five late days that they can use in any way during the semester. Each late day extends the due date until midnight of the following day. Use your late days wisely; you will not be granted additional late days without a written note from the Deans office.
Honor Code: The honor code applies to all work turned in for this course. In particular, all code and documentation should be entirely your own work. You may consult with other students about high-level design strategies related to programming assignments, but you many not copy code or use the structure or organization of another students program.
Lectures: The following topics will be presented during the semesters lectures. Many of these lectures will spill over into two or more class sessions. The class web page will document the lecture schedule and provide access to the slides used for each lecture. Consult it often.

< >

Date Topic Reading Slides
Week 1 Aug 31 Introduction, Hardware   PowerPoint
Week 2 Sept 5 Mathematical Principles

Rendering Pipeline

CGP&P Appendix A PowerPoint
  Sept 7 OpenGL Introduction - Part 1

Assignment 1 Out

OGLPG, Ch. 1 PowerPoint
Week 3 Sept 12 OpenGL Introduction - Part 2 OGLPG, Ch. 2, 3 PowerPoint
Sept 14 Line Rasterization CGP&P Ch. 3 URL
Week 4 Sept 18 Assignment 1 Due, Midnight    
  Sept 19 Triangle Rasterization CGP&P Ch. 3 PowerPoint
Sept 21 Line and Polygon Clipping CGP&P Ch. 3 PowerPoint
Week 5 Sept 26 Modeling Transformations
Assignment 2 Out
CGP&P Ch. 5 PowerPoint
  Sept 28 Camera Transformations CGP&P Ch. 5 PowerPoint
Week 6 Oct 3 Color CGP&P Ch. 13 PowerPoint
Oct 5 Lighting I CGP&P Ch. 16 PowerPoint
Week 7 Oct 9 Assignment 2 Due, Midnight    
  Oct 10 Lighting II CGP&P Ch. 16 PowerPoint
Oct 12 Mideterm Review
Assignment 3, Part 1 Out
  PowerPoint
Week 8 Oct 17 Antialiasing CGP&P Ch. 14.10 PowerPoint
  Oct 19 Midterm    
Week 9 Oct 24 Reading Holiday    
Oct 26 Texture Maps
Assignment 3, Part 1 Due at 9:00 a.m.
OpenGL Ch. 9 PowerPoint
Week 10 Oct 31 Review Midterm Microsoft Word
Nov 2 Visibility Culling
Assignment 3, Part 2 Out
CGP&P Ch. 15
Sections 2,4,5,7,11
PowerPoint
Week 11 Nov 7 Quaternions and Curves Web Page
CGP&P Ch. 11
PowerPoint
Nov 9 Curves, Part 2 Web Page
CGP&P Ch. 11
PowerPoint
Week 12 Nov 14 Luebke Guest Lecture   PowerPoint
  Nov 16 Parametric Surfaces
Assignment 3, Part 2 Due at 9:00 a.m.
  PowerPoint
Week 13 Nov 21 Making Movies
Assignment 4 Out
Extra Credit Out
  PowerPoint
Nov 23 Thanksgiving    
Week 14 Nov 28 RenderMan Handout in Class PowerPoint
Nov 30 Computer Animation   PowerPoint
Week 15 Dec 5 Final Exam Review
Assignment 4 Due at 9:00 a.m.
  PowerPoint
  Dec 7 Questions from Class   PowerPoint
Week 16 Dec 11 FINAL EXAM
7:00 - 10:00 p.m.
OLS 009
   
  Dec 15 Extra Credit Due at 7:00 p.m.