CMSC 435/634: Introduction to Computer Graphics

TR 10:00-11:15, ITE 233

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

Instructor: Dr. Penny Rheingans ( rheingan AT cs.umbc.edu)

TA: Aaron Curtis ( acurti1 AT cs.umbc.edu )

Prerequisites: Math 221, CMSC 341

Texts: Fundamentals of Computer Graphics, second edition, Peter Shirley, AK Peters, 2005. Required.

OpenGL Programming Guide, Mason Woo, Jackie Neider, Tom Davis, and Dave Shreiner, Addison Wesley, 1999. Recommended.

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

Objectives

  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.

Assignments

Programming assignments require the use of the C/C++ programming language. These assignments may be time-consuming. START RIGHT AWAY! A tentative list is given below:
Weight Description Due Date
Asst 1 5% Simple Scene Sep 10
Asst 2 10% Modeling Sept 24
Asst 3 10% Viewing Oct 15
Asst 4 10% Visibility Oct 29
Asst 5 10% Lighting Nov 19
Asst 6 10% Enhanced Realism 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).

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. The last assignment of the semester (ie. Asst 6) cannot be turned in late without penalty.

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 at no time should you show anyone your code or look at anyone else's. Any other help you receive (discussions of approach, use of programming tools, etc.) 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: 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. Notes and more notes are available on line.
Date Topic Required Reading (S=Shirley)
Aug 27 Overview; RendermanS 1-3.4
Sep 2/4 Display;Rasterization S 3.5-3.8, 4
Sep 9/11 Transforms S 5-6
Sep 16/18 Modeling
Sep 23/25 Viewing S 7
Sep 30/Oct 2 Simple Shading S 9
Oct 7/9 TBA; MIDTERM
Oct 14/16 Visibility S 8, 10
Oct 21/23 Real-time Graphics S 12, 17-18
Oct 28/30 Increased Realism S 11, 19-21
Nov 4/6 More Illumination S 23-24
Nov 11/13 More Illumination
Nov 18/20 Advanced Topics
Nov 25 Advanced Topics S 16, 25-26
Dec 2/4 Advanced Topics
Dec 9 Future Directions; Wrap Up and Review
Dec 16 Final Exam, 10:30-12:30pm

Other Graphics Resources

This page (http://www.cs.umbc.edu/~rheingan/435/index.html) : syllabus, links to assignments, etc.

RenderMan Resources

OpenGL Resources