CMSC 435/634: Introduction to Computer Graphics

TuTh 11:30-12:45, Sond 101

Last Updated:

Tue Nov 29 10:57 EST 2011
Thu Nov 17 18:59 EST 2011
Thu Nov 3 15:24 EDT 2011
Fri Oct 14 10:54 EDT 2011

Instructor: Dr. Marc Olano (
ITE 354 (455-3094); Office Hours: TuTh 1:00-2:00

TA: Jacob Thompson (
ITE 353 (455-8936); Office Hours: Wed 2:00-4:00

Prerequisite: MATH 221 (Linear Algebra), CMSC 313 (or other class covering C), CMSC 341 (Data Structures)
(Yes, we will make heavy use of the 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 14
Assn 2 10% Simple Ray Tracing Sep 30
Assn 3 10% Viewing Oct 12
Assn 4 10% Modeling Nov 9
Assn 5 10% Shading Nov 23
Assn 6 10% More Ray Tracing Dec 9

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

You may find this grade checker useful for tracking your progress.

Late Policy

Assignments are to be submitted electronically by 11:59 PM on Wednesday of the week listed. Assignments submitted up to two days late (by Friday) will be penalized 15 percent of the possible score. Assignments more than two days late will receive a score of 0. Each student gets one free "late" (i.e. up to two days late without penalty, but still zero if later than two days) to apply to any of the assignments. Your free late must be claimed in writing or by email 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. For example, "I discussed the algorithms for this project with my study group, including student X and student Y. I also found some helpful descriptions on"

Tentative Schedule

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

Date Topic Reading Due
Sep 1 RenderMan 1
Sep 6/8 Overview / Math / Displays 2-3, 5
Sep 13/15 Ray Tracing 4 Assn 1
Sep 20/22 Transforms 6
Sep 27/29 Viewing 7 Assn 2
Oct 4/6 Assn 3 overview; Clipping 8  
Oct 11/13 Rasterization; Visibility   Assn 3
Oct 18/20 Review; MIDTERM
Oct 25/27 Modeling; 12, 15, 16
Nov 1/3 Animation; Illumination, 10, 17, 25
Nov 8/10 Shading   Assn 4
Nov 15/17 Texturing, Antialiasing 9, 11  
Nov 22 More Ray Tracing 13 Assn 5
Nov 29/Dec 1 Light & Color; Perception 20-23  
Dec 6/8 Interactive Graphics & Games 18, 19, 26

Assn 6

Dec 13 Review  
Dec 15 Final Exam 10:30-12:30 PM


There is a class web page,, (or 634) 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.

There is a class mailing list Announcements will be made to this list, and you can also use it for public communication with your classmates, the TA and instructor. To prevent spam, you will only be able to send to the list from your email account. Please only send messages appropriate for the entire class to see, be sure to send messages about grades or other private matters directly to the instructor or TA.

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

RenderMan Resources

OpenGL Resources