CMSC 435/634: Introduction to Computer Graphics

MW 2:00-3:15, SS 108

Now with color coded updates, new.....old

Instructor: Dr. Marc Olano (

ECS 218 (455-3094); Office Hours: Tues 3:00-5:00

TA: Pengyu (Laura) Liu (

Office hours: Wed 9-11 in TA office (ECS 334)

Prerequisites: Math 221, CMSC 341

Text: Introduction to Computer Graphics, James Foley, Andries vanDam, Steven Feiner, John Hughes, and Richard Phillips, Addison-Wesley, 1994. Required.

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.


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 Relative Weight Description Due Date
Assn 1 1 Simple Scene Sep 10
Assn 2 3 Rasterizer Sep 24
Assn 3 2 Modeling (opt/grad) Oct 4
Assn 4 2 Modeled Scene Oct 21
Assn 5 2 Viewing Pipeline Nov 4
Assn 6 2 Zbuffer (opt/grad) Nov 12
Assn 7 3 Ray Tracing Nov 27
Assn 8 2 Shader Dec 9

Students taking the course for graduate credit (i.e. CMSC 634) will be expected to do extra readings and extra assignments (or parts of assignments).

Problem Sets

Problem sets may be provided sporadically through the semester. These are provided for study purposes only, and will not be graded.

Problem Set
1: BSP trees

Late Policy

Assignments are to be submitted electronically before midnight of the day listed. Late assignments can be submitted up to one week late and will be penalized 20 percent of the possible score. Assignments will not be accepted more than one week late. Each student gets one free late assignment (i.e. up to one week late without penalty). 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 each program you must include a comment 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 comment at the top of your program will result in your program being returned ungraded.


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

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 Required Reading
Aug 28 Overview
Sep 4 Display C 1, 4.1-4.3
Sep 9/11 Rasterization: lines and pgons C 3.1-3.2, 3.4-3.7
Sep 16/18 Rasterization: clipping and curves C 3.3, 3.8-3.11
Sep 23/25 Modeling C 9
Sep 30/Oct 2 Transforms: 2D and 3D C 5
Oct 7/9 Transforms: hierarchical;MIDTERM C 7.1
Oct 14/16 Viewing C 6
Oct 21/23 Viewing; Visibility; C 13
Oct 28/30 Visibility
Nov 4/6 Light; Realism C 11
Nov 11/13 Illumination C 14.1-14.3
Nov 18/20 Illumination C 14.5-14.7
Nov 25/27 Illumination C 14.4,14.8-14.9

Dec 2/4 Advanced Topics
Dec 9 Advanced Topics
Dec 16 Final Exam, 1-3pm

Other Graphics Resources (This syllabus online, where you can follow all of the following links)

RenderMan Resources

OpenGL Resources