Introduction to Computer Graphics, Fall 2001

CS 445 (Undergrad) / CS 645 (Graduate)

Time: Tuesday/Thursday 5:00 - 6:15
Place: OLS 011
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: 982-2211
Assistant:
Cliff Woolley, jwoolley@virginia.edu
Office Hours: I'm frequently in either the graphics lab (Olsson 227) or my office (Olsson 226). Send me an email or just stop by if you have a question--you don't need an appointment. If you send me a question via email, I am often able to respond within the hour; if you stop by and I'm not around, it's helpful if you drop me a quick email so that I know you're looking for me. The absolute best time to find me is between 11am and noon M-F. I've set aside Tuesdays and Thursdays during that hour for a "side session" to be held in the gLab to review material covered in class. On Monday, Wednesday, and Friday, I'll be at my desk during that hour.
Web Page http://www.cs.virginia.edu/~gfx/Courses/2001/Intro.fall.01
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, Hearn and Baker
  • OpenGL Programming Guide, The Official Guide to Learning OpenGL, Woo, Neider, Davis, and Shreiner
  • (Not Required, but a great reference book) Computer Graphics: Principles and Practice, Foley, van Dam, Feiner, and Hughes
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.

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 (RenderMan) will also be explored.

Tests: One midterm and one final
Grading: Assignments: 50%, Midterm: 20%, Final: 25%, Class Participation: 5%
Late Days: 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 Dean's 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. Said another way, you may talk with one another about your programs, but you cannot ever look at another student's code nor let another student look at your own code. Each assignment will include a specific Honor Code Guideline referring to the use of online materials.
Lectures: The following topics will be presented during the semesters lectures. This is only a rough outline of the schedule and entire topics may be added or removed.  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 30 Introduction, Hardware Ch. 2 PowerPoint
Week 2 Sept 4 Mathematical Principles

Assignment 1 Out

Appendix 1 - 4
PowerPoint
  Sept 6 OpenGL Introduction - Part 1 OpenGL Ch. 1 - 3 PowerPoint
Week 3 Sept 11 Cancelled due to WTC attack    
  Sept 12 Assignment 1 In    
Sept 13 Line Rasterization pages 84 - 96 HTML
Week 4 Sept 18 Circle and Triangle Rasterization 97-102
117-126
HTML
PowerPoint
Sept 20 Polygon Rasterization and Clipping 225-248 PowerPoint
Week 5 Sept 25 Polygon Clipping

Assignment 2 Out

225-248 PowerPoint
  Sept 27 OpenGL and Transformations Red Book Ch 1-3
Chapter 5
PowerPoint
Week 6 Oct 2 Assignment 2 In (5:00 p.m)

Homogeneous Coordinates
Camera Transformations

Chapter 6
Chapter 11
Chapter 12
PowerPoint
Oct 4 Color

Assignment 3 Out

Chapter 15 PowerPoint
Week 7 Oct 9 Lighting Chapter 14

PowerPoint

Oct 11 Lighting Chapter 14 PowerPoint
Week 8 Oct 16 Reading Holiday    
  Oct 18 Radiosity
Midterm Review
Chapter 14 PowerPoint
Old Midterm(PDF)
 

Oct 21

Assignment 3 In (Midnight)    
Week 9 Oct 23 Midterm    
Oct 25 Antialiasing 171-175 PowerPoint
Week 10 Oct 30 Antialiasing
Assignment 4-1 Out
171-175 PowerPoint
Nov 1 Texture Maps Red Book Ch. 9  PowerPoint
Week 11 Nov 6 Review of assignments    
  Nov 7 Assignment 4-1 In (Midnight)    
Nov 8 Visbility   PowerPoint
Week 12 Nov 13 Midterm Review    
  Nov 15 Rotation Reps. and Curves
Assignment 4-2 Out
413-422, 617-618
315-334
PowerPoint
Week 13 Nov 20 Hermite and Bezier Curves 315-334 PowerPoint
Nov 22 Thanksgiving    
Week 14 Nov 27 Discussion of Assign 4-2   PowerPoint
  Nov 28 Assignment 4-2 In (Midnight - extended to Dec 5th)    
Nov 29 Making Movies
Extra Credit Assignment Out
  PowerPoint
Week 15 Dec 4 B-Splines
Animation
  PowerPoint
PowerPoint
  Dec 5 Assignment 4-2 In (Midnight)    
  Dec 6 Final Exam Review   PowerPoint
Week 16 Dec 11 No Class    
  Dec 13 Final Exam (1900 - 2200)
in OLS 011
   
  Dec 17 Extra Credit Assignment Due 9:00 a.m.