Staff
Instructor:
Dr. Marc Olano
<olano@umbc.edu>
Office Hours: Mo 11:45-1:00 (ITE 354) / We 1:00-2:15 (ITE 354)
TA:
John Boutiskas <mailto:iboutsi1@umbc.edu>
Office Hours: Tu 3:00-5:00 (ITE 352) / Fr 11:00-12:30 (Discord #435 / #435-oh)
Resources:
We will not be using blackboard in this class. This page will provide the schedule, links to lecture slides, and links to assignment descriptions. Github will be used for submission and to communicate your grades back to you. We will be using the #435 channel in the UMBC CMSC discord for help and discussion. Join through the Discord UMBC Student Hub, or ask for an invitation to the server. Ask and answer other students questions there. The TA and instructor will also be monitoring this channel and may chime in with answers as well. Be sure not to post actual code or personal information like grades received that should not be shared with everyone.
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.
- 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 (binary representations, cache), CMSC 341 (Data Structures, C++)
(Yes, we will make heavy use of the prerequisites)
Texts
Recommended
- Fundamentals of Computer Graphics, 4th edition, Peter Shirley, A K Peters, 2015.
Possibly useful
- The Graphics Codex (Free!)
- 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.
- Some refresher slides on linear algebra
Grades:
These are the weights for graded elements of this class:
What | When | Weight |
---|---|---|
Assn 0 | Feb 5 | 5% |
Assn 1 | Feb 19 | 10% |
Assn 2 | Mar 5 | 10% |
Assn 3 | Mar 26 | 10% |
Midterm Exam | Mar 29–Apr 2 | 15% |
Assn 4 | Apr 16 | 10% |
Assn 5 | Apr 30 | 10% |
Assn 6 | May 14 | 10% |
Final Exam | May 18–23 | 20% |
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 deadline. 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.
Exams will be take-home. The expectation is the midterm exam should take you about 75 minutes to complete, and the final exam should take about 120 minutes. Both exams will be pushed to your GitHub repository at the beginning of the exam period, and due on the date listed in the exam, by committing and pushing your answers back to GitHub. It is up to you when and where you will complete them.
Class Topics
These will be linked to slides as the class proceeds
- Ray Casting
- Light & Color
- Ray Tracing
- Accelerating Ray Tracing
- Modeling
- Transformations / Viewing
- Barycentric Coordinates
- Texture
- Shading
- Rasterization
- Visibility
- Clipping (examples)
- Hardware (spreadsheet)
- Antialiasing (Shadertoy demo, Mathematica notebook)
Tentative Schedule
I'll update the online version of this schedule as we go. Check for updates throughout the semester.
- Sun
- Mon
- Tue
- Wed
- Thu
- Fri
- Sat
- Class
Overview - Class
Ray Casting - Assn 0
- Class
Ray Casting - Class
Light & Color - Class
Ray Tracing - Class
Ray Tracing - Assn 1
- Class
Acceleration Structures - Class
Assn 1 Walkthrough - Class
Acceleration Structures - Class
Modeling - Assn 2
- Class
GL Code Walkthru - Class
Assn 2 Walkthrough - Class
Transform - Class
Transform - Spring Break
- Assn 3
- Class
Viewing - Class
Assn 3 W'thru
Midterm → - ← Midterm
- Class
Barycentrics - Class
Texture - Class
Texture - Class
Shading - Assn 4
- Class
Shading - Class
Assn 4 Walkthrough - Class
Shading - Class
Rasterization
Visibility - Assn 5
- Class
Visibility
Clipping - Class
Assn 5 Walkthrough - Class
Clipping - Class
Hardware - Assn 6
- Class
Antialiasing - Assn 6 Walkthrough
(optional) - Final Exam →
- ← Final Exam
UMBC Policies
Academic Integrity
COVID
Accessibility and Disability Accommodations
Sexual Assault, Sexual Harassment, Gender Based Violence and Discrimination
Additional Policies
Academic Integrity
Academic integrity is an important value at UMBC. 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. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. These principles and policies apply in both face-to-face and online classes. Resources for students about academic integrity at UMBC are available at academicconduct.umbc.edu/resources-for-students.
For this course, the expectation is that you can discuss concepts and algorithms, but any code you write should be your own.
COVID
Masking
Effective Monday, October 3, 2022, Masks are recommended but not required for much of the campus. We ask that all in our community Keep Masks in Mind by carrying a mask with them and respecting individuals who need or choose to wear a mask.
Individuals who have recently been exposed to or recovered from COVID-19 should continue to mask for at least 10 days following their exposure or positive test.
More information here.
COVID-related absences
Class absences may take the form of not attending an in-person class or a scheduled synchronous online class; or not participating in online class activities (synchronous or asynchronous). Students who are absent from class due to COVID-19-related situations are expected to communicate directly with the course instructor. Students should submit notification of the absence in writing to their instructor either prior to the absence or as soon afterwards as possible. If the COVID-19 related absence coincides with graded work (e.g., homework, in-class activities, quizzes, presentations, activities, etc.), students should work with the instructor to arrange for an academic accommodation.
It is important to affirm that class absences, COVID-19-related or not, do not alter the academic requirements of any course and students remain responsible for information and material missed during the absence. Additionally, COVID-19-related absences are not considered a “disability” and as such do not require that students seek accommodations from the Office of Student Disability Services.
More information here.
Accessibility and Disability Accommodations
Accommodations for students with disabilities are provided for all students with a qualified disability under the Americans with Disabilities Act (ADA & ADAAA) and Section 504 of the Rehabilitation Act who request and are eligible for accommodations. The Office of Student Disability Services (SDS) is the UMBC department designated to coordinate accommodations that creates equal access for students when barriers to participation exist in University courses, programs, or activities.
If you have a documented disability and need to request academic accommodations in your courses, please refer to the SDS website at sds.umbc.edu for registration information and office procedures.
SDS email: disability@umbc.edu
SDS phone: (410) 455-2459
If you will be using SDS approved accommodations in this class, please contact the instructor to discuss implementation of the accommodations.
Sexual Assault, Sexual Harassment, Gender Based Violence and Discrimination
UMBC Policy and Federal law (Title IX) prohibit discrimination and harassment on the basis of sex, sexual orientation, and gender identity in University programs and activities. Any student who is impacted by sexual harassment, sexual assault, domestic violence, dating violence, stalking, sexual exploitation, gender discrimination, pregnancy discrimination, gender-based harassment or retaliation should contact the University’s Title IX Coordinator to make a report and/or access support and resources:
Ever Hanna, Title IX Coordinator (they/them/theirs)
410-455-1026 (direct line), everhanna@umbc.edu
You can access support and resources even if you do not want to take any further action. You will not be forced to file a formal complaint or police report. Please be aware that the University may take action on its own if essential to protect the safety of the community.
If you are interested in or thinking about making a report, please use the Online Reporting/Referral Form. Please note that, if you report anonymously, the University’s ability to respond will be limited.
Notice that Faculty are Responsible Employees with Mandatory Reporting Obligations:
All faculty members are considered Responsible Employees, per UMBC’s Policy on Sexual Misconduct, Sexual Harassment, and Gender Discrimination. Faculty are therefore required to report any/ all available information regarding conduct falling under the Policy and violations of the Policy to the Title IX Coordinator, even if a student discloses an experience that occurred before attending UMBC and/or an incident that only involves people not affiliated with UMBC. Reports are required regardless of the amount of detail provided and even in instances where support has already been offered or received.
While faculty members want encourage you to share information related to your life experiences through discussion and written work, students should understand that faculty are required to report past and present sexual assault, domestic and interpersonal violence, stalking, and gender discrimination that is shared with them to the Title IX Coordinator so that the University can inform students of their rights, resources and support. While you are encouraged to do so, you are not obligated to respond to outreach conducted as a result of a report to the Title IX Coordinator.
If you need to speak with someone in confidence, who does not have an obligation to report to the Title IX Coordinator, UMBC has a number of Confidential Resources available to support you:
- The Counseling Center (Main Campus): 410-455-2472 / After-Hours 410-455-3230 [Monday – Friday; 8:30 a.m. – 5 p.m.]
- Center for Counseling and Consultation (Shady Grove Campus): 301-738-6273 (Messages checked hourly) Online Appointment Request Form
- University Health Services: 410-455-2542 [Monday – Friday 8:30 a.m. – 5 p.m.]
- Pastoral Counseling via Interfaith Center: 410-455-3657; interfaith@umbc.edu [7 days a week; Fall and Spring 7 a.m. – 11 p.m.; Summer and Winter 8 a.m. – 8 p.m.]
Other Resources:
- Women’s Center (for students of all genders): 410-455-2714; womenscenter@umbc.edu. [Monday – Thursday 9:30am-6pm and Friday 9:30am-4pm]
- Shady Grove Student Resources, Maryland Resources, National Resources.
Child Abuse and Neglect:
Please note that Maryland law and UMBC policy require that faculty report all disclosures or suspicions of child abuse or neglect to the Department of Social Services and/or the police.
Additional Policies
Additional policies on pregnant and parenting students; religious observances and accommodation; and hate, bias, discrimination and harrassment can be found on the Office of Equity and Inclusion site