Instructor: | Cem Yuksel |
---|---|
Time: | Tuesday & Thursday @ 3:40pm - 5:00pm |
Location: | WEB L104 |
TAs: |
Jerry Hsu Yura Hwang Pupul Pradhan Mary Evans |
Overview
This course teaches the fundamental computational techniques in computer graphics. It is a project-based course in which students learn about and implement various methods in modeling, animation, and rendering techniques. The course covers a range of topics in computer graphics, instead of providing a deep and highly detailed analysis of a particular topic. For a more comprehensive overview of individual topics, please refer to the Other computer graphics courses at the University of Utah.
The canvas page for the course will be primarily used for quizzes, project submissions, announcements, and online discussions (piazza).
Course Objectives
The main objective of this course is to introduce students the fundamental concepts in computer graphics via hands-on coding experience, including a range of computer graphics techniques and algorithms covering 2D graphics, 3D graphics, and computer animation. This course focuses on key algorithmic techniques and mathematical foundations, not on specific tools. More specifically, the course covers the necessary math background, raster image formats, affine transformations, rendering algorithms, data structures for 2D and 3D curves, surfaces, and volumes, textures and texture mapping, shading and reflection models, animation and physics-based simulation.
Learning Outcomes
Upon completion of this course, students will be familiar with the fundamental algorithms and data structures used in computer graphics. Students who successfully complete this course will be able to:
Textbook
Steve Marschner & Peter Shirley, Fundamentals of Computer Graphics, 4th edition.
This textbook is not required, but strongly recommended, as it will serve as the main source of information for most topics covered in this course. The lectures will follow the book, but will not present all information in the book. The students are expected to read the related chapters of the book after each lecture.
Lectures
This course will use the flipped classroom model. All lectures of this course will be presented as pre-recorded online videos. The classroom meetings will be reserved for discussions on the topics presented in the related lecture videos. Students are expected to watch the related lecture video before class time. See the following schedule for details.
Week | Date | Topic | Textbook | Notes |
---|---|---|---|---|
1 | Aug 24 | Introduction | Chapter 1 | |
Aug 26 | Math Background | Chapter 2 | ||
2 | Aug 31 | Raster Images (Part 1) | Chapter 3 | |
Sep 2 | Raster Images (Part 2) | Chapter 3 | ||
3 | Sep 7 | 2D Transformations | Chapter 6 | Project 1 deadline - Compositing Images |
Sep 9 | 3D Transformations | Chapter 7 | ||
4 | Sep 14 | GPU Pipeline | Chapter 17 | Project 2 deadline - Transformations |
Sep 16 | WebGL | Chapter 17 | See square.html, an example WebGL application. | |
5 | Sep 21 | Curves (Part 1) | Chapter 15 | |
Sep 23 | Curves (Part 2) | Chapter 15 | ||
6 | Sep 28 | Surfaces | Chapter 12 | Project 3 deadline - Curves |
Sep 30 | Triangular Meshes | Chapter 12 | ||
7 | Oct 5 | Q&A | — | |
Oct 7 | Midterm Exam | — | Exam time: 3:40 – 5:00 pm (same as class time) | |
8 | Oct 12 | — Fall Break — | — | |
Oct 14 | — Fall Break — | — | ||
9 | Oct 19 | Textures | Chapter 11 | |
Oct 21 | Textures on the GPU | Chapter 11 | ||
10 | Oct 26 | Shading | Chapter 10 | Project 4 deadline - Triangular Meshes |
Oct 28 | Shading Transformations | Chapter 10 | ||
11 | Nov 2 | The Rendering Equation | Chapter 24 | |
Nov 4 | Rendering Algorithms | Chapter 4 | ||
12 | Nov 9 | Ray Tracing | Chapter 4 | Project 5 deadline - Shading |
Nov 11 | Shadows and Reflections | Chapter 4 | ||
13 | Nov 16 | Sampling | Chapter 14 | |
Nov 18 | Signal Processing | Chapter 9 | ||
14 | Nov 23 | Computer Animation | Chapter 16 | Project 6 deadline - Ray Tracing |
Nov 25 | — Thanksgiving Break — | — | ||
15 | Nov 30 | Physics-Based Animation | Chapter 16 | |
Dec 2 | Simulation in Graphics | Chapter 16 | ||
16 | Dec 7 | Q&A | — | Project 7 deadline - Animation |
Dec 9 | — No Class — | — | ||
Dec 16 | Final Exam | — | Exam time: 3:30 – 5:30 pm (different than class time) |
Projects
We will use JavaScript and WebGL for implementing the projects.
All projects are individual projects. Group projects are not permitted. Therefore, each student must write their own code. Collaboration between students is encouraged, but code sharing is not permitted. External libraries and source code can be used only for additional functionalities that are not core parts of the projects, and they should be clearly indicated in comments within the source code.
Failure to follow these rules may lead to a failing grade. Academic misconduct will not be tolerated. See the Academic Misconduct Policy of the School of Computing for details.
Deadlines and Late Submissions: The deadline for each project is at noon (12:01 PM) on the date indicated on the schedule (see above). Late submissions suffer a 5% penalty and an additional 5% penalty is applied every day at noon (12:01 PM). To accommodate for special circumstances, the first 10 late penalties of each student will be omitted.
Resubmissions: Students can submit the same project multiple times (i.e. resubmissions). The first submission must be before the project deadline and must present a clear attempt to complete the project; otherwise, late penalties apply (please see above). Subsequent resubmissions can be used for fixing bugs or incorrectly implemented parts of the projects. No late penalty is applied to resubmissions. Only the first submission date/time is used for evaluating late penalties, provided that it shows a clear attempt. Project submissions (and resubmissions) close 20 days after the project deadline, except for the final project (Project 7 - Animation). Final project submissions (and resubmissions) close on the day of the final exam at noon.
Project submissions are handled through canvas.
Quizzes and Exams
Online quizzes will be administered on canvas. Each quiz will be about the topic covered in the corresponding lecture or lectures. Top 20 quiz scores of each student will be used for grading.
There will be a midterm exam and a final exam. See the schedule above for the dates and times. Depending on public health related concerns, the midterm exam and/or the final exam might be canceled. If an exam is canceled, the grading scheme (see below) will be adjusted accordingly by increasing the percentages of the other components.
Students who cannot attend an exam due to health issues or similar emergencies must contact the instructor prior to the exam. In cases approved by the instructor, a make-up exam can be administered or the missed exam score can be assigned using the exam score of the other exam or the total project scores. This decision will be made by the instructor on a case-by-case basis.
Grading
Projects 1-2 | 5 points |
---|---|
Projects 3-7 | 10 points |
Quizzes | 10 points |
Midterm Exam | 10 points |
Final Exam | 20 points |
TOTAL | 100 points |
University Policies
1. The Americans with Disabilities Act. The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. If you will need accommodations in this class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, (801) 581-5020. CDS will work with you and the instructor to make arrangements for accommodations. All written information in this course can be made available in an alternative format with prior notification to the Center for Disability Services.
2. University Safety Statement. The University of Utah values the safety of all campus community members. To report suspicious activity or to request a courtesy escort, call campus police at 801-585-COPS (801-585-2677). You will receive important emergency alerts and safety messages regarding campus safety via text message. For more information regarding safety and to view available training resources, including helpful videos, visit safeu.utah.edu.
3. Addressing Sexual Misconduct. Title IX makes it clear that violence and harassment based on sex and gender (which Includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status or genetic information. If you or someone you know has been harassed or assaulted, you are encouraged to report it to the Title IX Coordinator in the Office of Equal Opportunity and Affirmative Action, 135 Park Building, 801-581-8365, or the Office of the Dean of Students, 270 Union Building, 801-581-7066. For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 801-581-7776. To report to the police, contact the Department of Public Safety, 801-585-2677(COPS).
4. COVID-19 Fall 2021 Statement University leadership has urged all faculty, students, and staff to model the vaccination, testing, and masking behaviors we want to see in our campus community.
These include:Safe Classroom Environment
In this class, derogatory comments based on race, ethnicity, class, gender identity, sexual orientation, religion, (dis)ability status, age, citizenship, or nationality will not be tolerated, nor is it permissible to state one's opinion in a manner that silences the voices of others. Further, egregious disrespect, including, but not limited to, racism, sexism, ageism, homophobia, transphobia, classism, etc. will not be tolerated.