CMSC 435/634: Introduction to Computer Graphics

WF 1:00-2:15, ITE 227

Last updates:
Tue Dec 12 8:32 EST 2006
Fri Dec 1 16:34 EST 2006
Thu Nov 23 11:14 EST 2006
Fri Nov 17 12:03 EST 2006

Instructor: Dr. Marc Olano (
ITE 354 (455-3094); Office Hours: Tue 3-5

TA: Jeremy Shopf (
ITE 352; Office Hours: Tue 10:30-11:30; Thu 9:30-11:30

Prerequisite: 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. 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 13
Assn 2 10% Modeling Sep 27
Assn 3 10% Viewing Oct 18
Assn 4 10% Visibility Nov 3
Assn 5 10% Lighting Nov 17
Assn 6 10% Shading Dec 6

Students taking the course for graduate credit (i.e. CMSC 634) will be expected to do extra readings and 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 with anyone. Any help you receive, however, must be documented. At the beginning of the readme.txt submitted with each assignment, you must include a statement indicating the sources you used while working on it (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 statement with your assignment will result in your program being returned ungraded.

Tentative Schedule

Required reading should be completed BEFORE the first date listed below for maximum benefit.

Date Topic Reading Due
Aug 30/Sep 1 Overview, Review, RenderMan 1-2
Sep 6/8 Transforms 5-6
Sep 13/15 Modeling Assn 1
Sep 20/22 Viewing 7
Sep 27/29 Display, Rasterization 3 Assn 2
Oct 4/6 Rasterization, Clipping 12
Oct 11/13 Visibility, Ray Tracing 8, 10
Oct 18/20 Review; MIDTERM Assn 3
Oct 25/27 Anti-aliasing, Light & Vision 4, 19-20
Nov 1/3 Light & Vision, Local Illumination 9, 24 Assn 4
Nov 8/10 Global Illumination 23
Nov 15/17 Texturing 11 Assn 5
Nov 22 Shading, THANKSGIVING
Nov 29/Dec 1 GPU Shading
Dec 6/8 Particle Systems, Review Assn 6
Dec 15 Final Exam 1-3 PM


There is a class web page,, where you will find this syllabus online, except you can follow all of the 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.

Dr. Penny Rheingans has some online notes from previous offerings of this course.

RenderMan Resources

OpenGL Resources