CMSC 435/634: Introduction to Computer Graphics

Fall 2004, Tu Th 1:00-2:15, ITE 227

Last updates:
Mon Dec 6 13:29:14 EST 2004
Sat Nov 27 18:15:21 EST 2004
Tue Nov 23 17:26:25 EST 2004
Thu Nov 18 18:52:11 EST 2004

Instructor: Dr. Marc Olano (
ITE 354 (455-3094); Office Hours: Tu Th 2:15-3:30

TA: Hanli Ni (
ITE 353; Office Hours: Tu 4-5:30; Th 10:00-12:30

Prerequisites: MATH 221 (Linear Algebra), CMSC 341 (Data Structures)
(Yes, we will make heavy use of both prerequisites)


Description: Introduction to graphics systems, rasterization, clipping, transformations, modeling, viewing, hidden surface removal, illumination, and shading. Emphasis on realistic, 3D image synthesis.


  1. Understand the foundations of computer graphics: hardware systems, math basis, light and color.
  2. Implement key components of the rendering pipeline, especially visibility, rasterization, viewing, and shading. Understand the issues involved in implementing other components.
  3. Come to appreciate the complexities of modeling realistic objects through modeling complex scenes using a high-level scene description language.
  4. Become acquainted with some advanced topics in computer graphics; these might include texturing, animation, physically-based modeling, procedural modeling, curves and surfaces, global illumination, interaction, visualization, and virtual reality.

Grades: Grades will be based on programming assignments (55%), a midterm exam (15%), and a final exam (30%).

Assignments: Programming assignments require the use of the C/C++ programming language. These assignments may be time-consuming. START EARLY! A tentative list is given below:

Assignment Weight Description Due Date
Assn 1 5% Simple Scene Sep 16
Assn 2 10% Modeling Sep 30
Assn 3 10% Viewing Oct 14
Assn 4 10% Visibility Nov 9
Assn 5 10% Lighting Nov 23
Assn 6 10% Shading Dec 9

Students taking the course for graduate credit (CMSC 634) will be expected to do extra parts on each assignment.

Late Policy

Assignments are to be submitted electronically by 11:59 PM of the day listed. Assignments submitted up to one week late will be penalized 20 percent of the possible score. Assignments more than one week late will receive a score of 0. Each student gets one free "late" (i.e. up to one week late without penalty, but still zero if later than one week) to apply to any of the assignments. Your free late must be claimed in writing on or before the due date.

Academic Honesty

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong.

All assignments and exams in the course are expected to be your INDIVIDUAL work. You may discuss assignments, but any help you receive, must be documented. With each program, you will submit a readme.txt file. At the beginning of this file, you must include a comment indicating the sources you used (excluding course staff and text) and the type of help you received from each. If you received no help, say so. Failure to include this comment at the top of your readme.txt will result in your program being returned ungraded.

Tentative Schedule

Required reading should be completed BEFORE the first date listed below for maximum benefit. It may also be helpful to look at Dr. Penny Rheingans' online notes from previous offerings of this course.
Date Topic Reading Due
Sep 2 Overview and Review 1-2
Sep 7/9 RenderMan, Transforms 4-5
Sep 14/16 Transforms, Modeling Assn 1
Sep 21/23 Modeling 13
Sep 28/30 Viewing 6 Assn 2
Oct 5/7 Lines and Triangles, Perspective 3
Oct 12/14 Perspective, Clipping 7, 9 Assn 3
Oct 19/21 Display; MIDTERM
Oct 26/28 Rendering 15
Nov 2/4 Light & Vision 16-18
Nov 9/11 Illumination 8, 20-21 Assn 4 (Tuesday)
Nov 16/18 Illumination, Texturing 10
Nov 23/25 Procedural Shading; Thanksgiving Assn 5 (Tuesday)
Nov 30/Dec 2 Procedural Shading; Antialiasing
Dec 7/9 Advanced Topics Assn 6
Dec 14 Wrap up and Review
Dec 21 FINAL, 1-3 PM

Other Resources

The class web page: (This syllabus online, where you can follow all of the following links). Important announcements and updates will be made to this class web page throughout the semester. I will announce at the beginning of class if I make a significant change or addition.

Class email list: All currently enrolled students are subscribed under their address; manage at To avoid spam, you must send email from that address (not or a home address). Email goes to the entire class, plus the TA and myself. Use it to ask (and answer) questions of general interest. For example, "I'm trying to get ... working on Windows, has anyone gotten it to work?", etc.

RenderMan Resources

OpenGL Resources