CMSC 491G/691G: Computer Graphics for Games

Fall 2007 / 3 credits

TuTh 2:30-3:45

Last Change:

Thu Nov 29 13:58 EST 2007
Thu Oct 25 09:43 EDT 2007
Thu Sep 27 13:13 EDT 2007
Wed Sep 26 16:58 EDT 2007

Instructor: Dr. Marc Olano (olano
ITE 354 (455-3094); Office Hours: Tue 1:00-2:15; Thu 3:45-5:00

Co-requisite: CMSC 435/634
Yes, we will make heavy use of this. You should at least be taking it at the same time.

Text: Alan Watt and Fabio Policarpo, 3D Games, Volume 2: Animation and Advanced Real-time Rendering


This course is an introduction to some of the computer graphics methods commonly used in 3D computer games. Computer graphics encompasses a wide variety of algorithms and techniques, many more than can be covered in just one or two courses. This course is similar in style and scope to CMSC 635/Advanced Computer Graphics, but uses computer games as a focus and motivation to explore a different set of graphics algorithms. Topics include using and manipulating scene graphs, design of interactive applications, collision detection, geometric level of detail, potentially visible set computation, and hardware procedural shading. Students will learn several common algorithms in each topic area in sufficient depth for implementation.

Note that (as the course title says), this is a course about computer graphics, specifically 3D graphics, as used by many games. It is not a class about playing games, nor about all of the other equally important aspects of creating a game (AI, art, game play, interface design, ...). I expect that the class will be a lot of work, but hope that you will find it rewarding.

Grades: Grades will be based on class participation (10%), programming assignments (30%), and a group final project (60%).


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 10% Scene Graph Sep 18
Assn 2 10% Shaders Sep 27
Assn 3 10% XNA Oct 11

Students taking the course for graduate credit (i.e. CMSC 691G) will be expected to do extra parts on each assignment and more complex work in the final project.

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.

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, but must write your programs independently. Any help you receive must be documented, including discussion, books, papers, and web resources. With each assignment, you will turn in a text file describing your assignment. At the beginning of this file, you must include a comment indicating the sources you used while working on it and the type of help you received from each. If you received no help, say so. Failure to include this comment will result in your program being returned ungraded.

Tentative Schedule

Date Topic Due Game Tech Talk
Aug 30 Overview; Anatomy of an Interactive Application
Sep 4/6 Scene graphs, Game Engines & Middleware
Sep 11/13 Shading Groups Chosen
Sep 18/20 Shading-based Effects Assn 1 Kloetzli / Bronson
Sep 25/27 Light & Shadows Assn 2, Project Chosen - / Chapman
Oct 2/4 Light & Shadows Blackburn / Lohr
Oct 9/11 Graphics Hardware Assn 3 Young / Chaudhari
Oct 16/18 Picking & Collision Detection Decker / Glassman
Oct 23/25 Curves & Surfaces Project Status email Hanson / -
Oct 30/Nov 1 Character Animation Brown / Curtis
Nov 6/8 Project Status Presentations Project Status Strege / McCracken
Nov 13/15 Terrain
Nov 20 Level of Detail Project Status email - / -
Nov 27/29 Advanced Topics Bessman / -
Dec 4/6 Project Presentations
Dec 11 Project Presentations Project Report

Project Presentation Schedule

Date First Group Second Group
Dec 4 Decker, Kloetzli, Strege Bronson, Chaudhari
Dec 6 Brown, Hanson, Young Bessman, Chapman, Lohr
Dec 11 McCracken Curtis, Glassman

Online resources