CMSC 435/634: Introduction to Computer Graphics

Fall 2021, M/W 1:00-2:15, ITE 229

Instructor: Dr. Adam Bargteil <adamb-at-umbc.edu> (Avoid sending email)
Office Hours: Tuesday 3-4, Thursday 4-5; Zoom

Grader: Alex Dahl

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)

Discord: There is a discord server for the class, you will receive an invite after the drop date. Almost all class communication should happen through discord (I miss too many emails). If class goes virtual, info will be announced on discord. Please use your real name or you will be removed.

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 programming assignments (75%) and midterm and final exams (25%). More specifically, there will be six (6) programming assignments and two (2) take home exams, all worth 125 points, extra credit options will be provided. Students in 435 will be graded out of 1000 points, students in 634 will be graded out of 1200 points. So, to get an "A" students in 634 will have to do some of the extra credit options (corresponding to roughly 20% more work).

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 September 21
Assignment 2 Ray Tracing II October 5
Assignment 3 Rendering Pipeline October 19
MIDTERM EXAM October 25
Assignment 4 Modeling November 9
Assignment 5 Animation November 23
Assignment 6 Digital Photography December 13
FINAL EXAM Dec 15

Late Policy

Assignments are to be submitted electronically by 11:59 PM on the date 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."

If it is determined that you have violated the academic dishonesty policy, you will receive a grade of -125 or -150 (for students in 435 or 634, respectively) for that assignment or exam.

Tentative Schedule

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

Date Topic FoCG Due
Sep 1 Overview / Ray Tracing 1, 2, 3, 4  
Sep 6/8 Labor Day / More Ray Tracing 4, 13
Sep 13/15 More Ray Tracing 4, 13
Sep 20/22 Transformations 5, 6 Assignment 1
Sep 27/29 Viewing 7  
Oct 4/6 Graphics Pipeline 8 Assignment 2
Oct 11/13 OpenGL / Shading / Texture 10,11
Oct 18/20 Signal Processing / Sampling 9,14 Assignment 3
Oct 25/27 MIDTERM / Modeling 15,16 Midterm due in class 10/25
Nov 1/3 Animation/Mocap 17
Nov 8/10 Data Structures 12 Assignment 4
Nov 15/17 Digital Photography
Nov 22/24 Light / Color 20,21 Assignment 5
Nov 29 / Dec 1 Global Illumination 24
Dec 6/8 Final handed out
Dec 13 Assignment 6
Dec 15 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



Covid-19

Obviously, the pandemic is still ongoing. There is a pretty good chance some of our lectures will be virtual because I will exhibit symptoms or be exposed. There is also a good chance you will need to miss some lectures because you exhibit symptoms or otherwise need to quarantine. I will give access to last years recorded lecture in Box (fill out and return this form to get access). The content will not be identical, but it will be pretty close. All office hours will be virtual (through zoom). I do not plan to be on campus except during lecture.

Accessibility and Disability Accommodations, Guidance and Resources;
Hate, Bias, Discrimination and Harassment;
Sexual Assault, Sexual Harassment, Gender Based Violence and Discrimination

Accessibility and Disability Accommodations, Guidance and Resources (required)

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. During remote instruction requirements due to COVID, communication and flexibility will be essential for success.

Sexual Assault, Sexual Harassment, and Gender Based Violence and Discrimination (required)

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:

Mikhel A. Kushner, Title IX Coordinator (she/they)

410-455-1250 (direct line), kushner@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.

N otice 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:

Other 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.

Pregnant and Parenting Students

UMBC’s Policy on Sexual Misconduct, Sexual Harassment and Gender Discrimination expressly prohibits all forms of Discrimination and Harassment on the basis of sex, including pregnancy. Resources for pregnant, parenting and breastfeeding students are available through the University’s Office of Equity and Inclusion.  Pregnant and parenting students are encouraged to contact the Title IX Coordinator to discuss plans and ensure ongoing access to their academic program with respect to a leave of absence or return following leave related to pregnancy, delivery, adoption, breastfeeding and/or the early months of parenting.

Pregnant students and students in the early months of parenting may be entitled to accommodations under Title IX through the Office of Equity and Inclusion.

In addition, students who are pregnant and have an impairment related to their pregnancy that qualifies as disability under the ADA may be entitled to accommodations through the Student Disability Service Office .

Religious Observances & Accommodations

UMBC Policy provides that students should not be penalized because of observances of their religious beliefs, and that students shall be given an opportunity, whenever feasible, to make up within a reasonable time any academic assignment that is missed due to individual participation in religious observances. It is the responsibility of the student to inform the instructor of any intended absences or requested modifications for religious observances in advance, and as early as possible. For questions or guidance regarding religious observance accommodations  please contact the Office of Equity and Inclusion at oei@umbc.edu.

Hate, Bias, Discrimination and Harassment

UMBC values safety, cultural and ethnic diversity, social responsibility, lifelong learning, equity, and civic engagement.

Consistent with these principles, UMBC Policy prohibits discrimination and harassment in its educational programs and activities or with respect to employment terms and conditions based on race, creed, color, religion, sex, gender, pregnancy, ancestry, age, gender identity or expression, national origin, veterans status, marital status, sexual orientation, physical or mental disability, or genetic information.

Students (and faculty and staff) who experience discrimination, harassment, hate or bias or who have such matters reported to them should use the online reporting/referral form to report discrimination, hate or bias incidents. You may report incidents that happen to you anonymously . Please note that, if you report anonymously, the University’s ability to respond will be limited.

Additional Policies and Resources

Please see this Google doc for UMBC Policies and Resources during COVID-19.