CMSC 435/634: Introduction to Computer Graphics

Spring 2017, M/W 1:00-2:15, Fine Arts 303

Instructor: Dr. Adam Bargteil <adamb-at-umbc.edu>
Office Hours: Mon/Wed 2:30-3:30; ITE 341

TA: Guohao Zhang <bd71571-at-umbc.edu>
Office Hours: Tue/Thur 1:00-3:00, and by appointment; ITE 340

Piazza Discussion Site

Prerequisite: MATH 221 (Linear Algebra), CMSC 313 (or other class covering C or C++), CMSC 341 (Data Structures)
(Yes, we will make heavy use of the prerequisites)

Texts

Official Required Text
Other useful graphics resources

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. 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 six (6) programming assignments (72%) and two exams (28%). Each programming assignment will be worth 100 points, with additional extra credit available. Assignment scores for 435 will be out of 600 points and 634 will be out of 700. That is, students in 634 will be expected to do 100 points of extra credit

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 Description Due Date
Assignment 1 Ray Tracing I Feb 20 (updated)
Assignment 2 Ray Tracing II Mar 5
Assignment 3 Rendering Pipeline Mar 19
Assignment 4 Modeling Apr 16
Assignment 5 Animation Apr 30
Assignment 6 Digital Photography May 16

Late Policy

Assignments are to be submitted electronically by 11:59 PM on Sunday of the week listed. Late assignments will penalized with a multiplier in the range [0,1) depending on how late they are. Assignments received before the deadline have a multiplier of 1. For each hour late (or portion thereof) in the first 24 hours, the multiplier is decremented by 0.005. For hours 24-48, the multiplier is decremented by .01 for each hour. For hours 48-72, the multiplier is decremented by .02 per hour. After 72 hours, the multiplier is decremented by .04 per hour. After 76 hours, the multiplier reaches 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 area allowed to discuss programming assignments, but must do the coding yourself: words and math are OK, code is not. Any help you receive 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 site.xyz."

Tentative Schedule

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

Date Topic FoCG Due
Jan 30 / Feb 1 Overview / Ray Tracing 1, 2, 3, 4  
Feb 6/8 More Ray Tracing 4, 13
Feb 13/15 Transformations 5, 6 Assignment 1
Feb 20/22 Viewing 7  
Feb 27 / Mar 1 Graphics Pipeline 8 Assignment 2
Mar 6/8 OpenGL / Shading / Texture 10,11
Mar 13/15 Modeling 15,16 Assignment 3
Mar 20/22 Spring Break
Mar 27/29 Review; MIDTERM  
Apr 3/5 Animation/Mocap 17
Apr 10/12 Data Structures 12 Assignment 4
Apr 17/19 Signal Processing / Sampling 9,14
Apr 24/26 Digital Photography Assignment 5
May 1/3 Light / Color 20,21  
May 8/10 Global Illumination 24
May 15 Review Assignment 6
May 24 FINAL EXAM 1:00-3:00

Resources

There is a class web page, http://www.csee.umbc.edu/~adamb/435 (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 piazza site for this class. Everyone will be added to this site. Announcements will be made there, and you can also use it for public communication with your classmates, the TA and instructor. You should either check this site periodically, or make sure it is set to send you messages by email. Please only post 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.

OpenGL Resources