Introduction to Computer Graphics, Spring 2004

CS 445 (Undergrad) / CS 645 (Graduate)

Time: Tuesday/Thursday 5:00 - 6:15
Place: OLS 005
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:
Julian Dymacek, (Olsson Room 233), jmd7b@cs.virginia.edu
Office Hours: Tuesday 7:30-9:00 p.m. and Thursday 3:00-4:30
Web Page http://www.cs.virginia.edu/~gfx/Courses/2004/Intro.Spring.04/
Discussion
Forum
http://www.cs.virginia.edu/~humper/cs660/forums/
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 with OpenGL, Hearn and Baker (3rd Edition)
Assignments: There will be three written homework assignments.  These assignments are intended to reinforce the lecture material through exercises.

There will be five programming assignments in this course. The assignments extend the lecture materials by using existing tools that implement the materials discussed in class.  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.

Tests: One midterm and one final
Grading: Programming Assignments: 50%, Homework Assignments 10% Midterm: 20%, Final: 20%
Late Days: Students have five late days that they can use in any way during the semester. Each late day extends the due date 24 hours.  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 Assignment Reading Slides
Week 1 Jan 15 Introduction     PowerPoint
Week 2 Jan 20 General Graphics Systems   Ch. 2 PowerPoint
  Jan 22 General Graphics Systems Fire Truck Out Ch. 2 PowerPoint
Week 3 Jan 27

SNOW

     
Jan 29 OpenGL   Ch. 5.17 PowerPoint
Week 4 Feb 3 Transformations Fire Truck Due Ch. 5 PowerPoint
Feb 5 Geometric Primitives   Ch. 5 PowerPoint
Week 5 Feb 10 Clipping Clipping Out Ch. 6 PowerPoint
  Feb 12 Rasterization   Ch. 4 PowerPoint
HTML
Week 6 Feb 17 Rasterization   Ch. 4 PowerPoint
HTML
Feb 19 Orthographic Projections   Ch. 7 PowerPoint
Week 7 Feb 24 Perspective Projections Clipping Due Ch. 7

PowerPoint

Feb 26 Canonical Projection / Color HW 1 Out Ch. 7, 12 PowerPoint
Week 8 Mar 2 Midterm
Old Tests (1, 2, 3)
Answers
     
  Mar 4 Color HW 1 Due   PowerPoint
Week 9 Mar 9 Spring Break      
Mar 11 Spring Break      
Week 10 Mar 16 Assign 3 Info / Lighting
Morph Example: Black/White
Lacool, "The physics of something awful (81M)."  Generated with Pintar's VirtuaLab Mechanics (free demo available).
    PowerPoint
Mar 18 Direct Illumination     PowerPoint
Week 11 Mar 23 Ray Tracing Morphing Due   PowerPoint
Mar 25 Radiosity     PowerPoint
Week 12 Mar 30 No class due to illness      
  Apr 1 Shading Algorithms     PowerPoint
Week 13 Apr 6 Texture Maps     PowerPoint
Apr 8 Antialiasing     PowerPoint
Week 14 Apr 13 Visbility Ray Tracer Due   PowerPoint
Apr 15 Hermite Splines     PowerPoint
Week 15 Apr 20 Bezier/B-Splines     PowerPoint
  Apr 22 Making Movies     PowerPoint
Week 16 Apr 27 Review Assign 5 Due   PowerPoint
Week 17 May 3 Final (7:00 p.m.) in
Thornton E 304

Old Final