Instructor
Dr. Marc Olano
<olano@umbc.edu>
Office hours: Online on Webex Teams (text) and Zoom (video), MW 4:00-5:15
TA:
Tiantian Xie <xtiant1@umbc.edu>
Office hours: Online on Webex Teams (text) and Webex Meeting (video), F 11:00 AM - 1:00 PM
Course Description
Introduction to graphics systems, rasterization, clipping, transformations, modeling, viewing, hidden surface removal, illumination, and shading. Emphasis on realistic, 3D image synthesis.
Objectives
- Understand the foundations of computer graphics: hardware systems, math basis, light and color.
- Implement key components of the rendering pipeline. Understand the issues involved in implementing other components.
- Come to appreciate the complexities of modeling realistic objects through modeling complex scenes using a high-level scene description language.
- 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.
Prerequisites
MATH 221 (Linear Algebra), CMSC 313 (or other class covering C, C++, and binary logic), CMSC 341 (Data Structures)
(Yes, we will make heavy use of the prerequisites)
Texts
Required
- Fundamentals of Computer Graphics, 4th edition, Peter Shirley, A K Peters, 2015.
Possibly useful
- The Graphics Codex
- OpenGL Programming Guide, 8th edition, Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. Licea-Kane, Addison Wesley.
- Computer Graphics: Principles and Practice, 3rd edition, Hughes, van Dam, McGuire, Sklar, Foley, Feiner, and Akeley, Addison-Wesley Professional.
- Foundations of 3D Computer Graphics, Steven J. Gortler, MIT Press.
Grades:
These are the weights for graded elements of this class:
What | When | Weight |
---|---|---|
Assn 1 | Feb 3/14 | 10% |
Assn 2 | Feb 28 | 10% |
Assn 3 | Mar 21 | 10% |
Midterm Exam | Mar 24-26 | 15% |
Assn 4 | Apr 11 | 10% |
Assn 5 | Apr 25 | 10% |
Assn 6 | May 9 | 10% |
Final Exam | May 14-15 | 25% |
Programming assignments require the use of the C/C++ programming language. These assignments may be time-consuming. START EARLY! Students taking the course for graduate credit (as CMSC 634) will be expected to do additional parts on each assignment.
Assignments are to be submitted electronically as a tagged git "release" by 11:59 PM on the day they are due. Assignments may be submitted up to two days late for a penalty of 5 percent of the possible score per day. Each student gets four "free late" days to use at any time during the semester. Some assignments will have extra credit, which will only be available if submitted on time, or when using the free late day(s). Any free late days must be claimed by email on or before the original due date. Assignment solutions will be discussed in class on the Wednesday after their due date, so any assignment submitted more than two days late will receive a score of 0, whether you have more free late days available or not. If you have any questions or concerns about your assignment grades, you must raise those email no later than one week after the grades for that assignment have been released.
Class Topics
These will be linked to slides and lecture recordings as the class proceeds
- Overview
- Math Review
- Ray Tracing
- Illumination
- Transformations
- Modeling
- Viewing
- Barycentrics
- Shading
- Texture
- Clipping
- Rasterization
- Visibility
- Antialiasing
- Hardware (slides and spreadsheet)
- Animation
Tentative Schedule
I'll update the online version of this schedule as we go. Check here for updates.
- Sun
- Mon
- Tue
- Wed
- Thu
- Fri
- Sat
- Class
- Class
- Class
Assn 1a - Class
- Class
- Assn 1
- Class
- Class
- Class
- Class
- Assn 2
- Class
- Class
- Class
- Class
- Spring Break
- Assn 3
- Class
- Class
Midterm - Class
- Class
- Class
- Class
- Assn 4
- Class
- Class
- Class
- Class
- Assn 5
- Class
- Class
- Class
- Class
- Assn 6
- Class
- Class
- Final Exam
UMBC Policies
Please see this document for UMBC Policies and Resources, including:
- UMBC Vision Statement
- Student Safety
- Technology: Access, Requirements, Resources, Support
- COVID-19: Safety Expectations and Guidelines
- Academic integrity in the Online Instruction Environment
- Resources to Help you Succeed in Online Courses
- Enrollment Dates and Deadlines
- Accessibility and Disability Accommodations, Guidance and Resources
- Religious Observances
- Hate, Bias, Discrimination and Harassment
- Sex and Gender Based Violence, Harassment and Discrimination
- Pregnancy