This class is over. It was taught in a previous semester.

CSCI 420 Computer Graphics, Spring 2021

Lecture: Monday and Wednesday, 10:00-11:50, online on Zoom
Instructor: Jernej Barbic, jnb@usc.edu
Office: online (Zoom)
Office hours: Monday 5:00 - 6:00   
TA: Bohan Wang, bohanwan@usc.edu
Producer: Jingtao Huang (jingtaoh@usc.edu)
TA Office hours: Tuesday and Friday 4pm-5pm (online on Zoom)

Introduction and Purpose

This course is an introduction to three-dimensional computer graphics. Students will learn both the theory of 3D computer graphics, and how to program it efficiently using OpenGL. The course primarily teaches the "modern" shader-based OpenGL (core profile), but also introduces the "classic" fixed-function OpenGL (compatibility profile). Topics include 2D and 3D transformations, Bézier and B-Spline curves for geometric modeling, interactive 3D graphics programming, computer animation and kinematics, and computer graphics rendering including ray tracing, shading and lighting. There will be an emphasis on the mathematical and geometric aspects of computer graphics. This course is regularly offered every semester (the instructor may vary from offering to offering, as may the content somewhat).

Schedule | Prerequisites | Textbooks | Assignments | Grading | Resources and Supplementary Reading | Academic Integrity

Date Topic Reading (Angel) Reference Assignments

Mon Jan 18 2021 No class (Martin Luther King Day)
Wed Jan 20 What is Computer Graphics Ch 1 PDF  PDF-6X-BW

Mon Jan 25 Introduction to OpenGL Ch 2 PDF  PDF-6X-BW
Wed Jan 27 Graphics Pipeline Ch 2 PDF  PDF-6X-BW

Mon Feb 1 Color and Hidden Surface Removal Ch 2 PDF  PDF-6X-BW
Wed Feb 3 Transformations Ch 3 PDF  PDF-6X-BW

Mon Feb 8 Viewing and Projection Ch 4 PDF  PDF-6X-BW Assign1-Tips
Wed Feb 10 Shaders Ch 1, 2, App A PDF  PDF-6X-BW Assignment 1 out

Mon Feb 15 No class (President's Day)
Wed Feb 17 Shaders (continuation)

Mon Feb 22 Hierarchical Modeling Ch 8 PDF  PDF-6X-BW 
Wed Feb 24 Polygonal Meshes, Curves and Surfaces Ch 10 PDF  PDF-6X-BW

Mon Mar 1 Splines Ch 10 PDF  PDF-6X-BW
Wed Mar 3 Lighting and Shading Ch 5 PDF  PDF-6X-BW

Mon Mar 8 Catch-up day Assignment 1 due
Assignment 2 out
Wed Mar 10 Texture Mapping Ch 7 PDF  PDF-6X-BW Assign2-Tips
Fri Mar 12 Wellness day

Mon Mar 15 Review for midterm
Wed Mar 17 Midterm exam (in-class, on Zoom)
Fri Mar 19 Extra reading: Rasterization Ch 6 PDF  PDF-6X-BW  Assignment 2 milestone due
(Sat Mar 20)

Mon Mar 22 Ray Tracing Ch 11 PDF  PDF-6X-BW
Tue Mar 23 Wellness day
Wed Mar 24 Catch-up day

Mon Mar 29 Ray Tracing: Geometric Queries Ch 11 PDF  PDF-6X-BW  Assign3-Tips
Wed Mar 31 Spatial Data Structures Ch 8 PDF  PDF-6X-BW Assignment 2 due
Assignment 3 out

Mon Apr 5 Global Illumination Ch 11 PDF  PDF-6X-BW
Wed Apr 7 Wellness day

Mon Apr 12 Keyframe Animation Ch 9 PDF  PDF-6X-BW
Wed Apr 14 Image Processing Ch 6, 7 PDF  PDF-6X-BW
Fri Apr 16 Extra reading: Physically Based Simulation Ch 9 PDF  PDF-6X-BW

Mon Apr 19 Guest lecture: Dr. Doug Roble, Digital Domain
Wed Apr 21 Non-Photorealistic Rendering PDF  PDF-6X-BW Assignment 3 due
Thu Apr 22 Wellness day

Mon Apr 26 Virtual Reality PDF  PDF-6X-BW
Wed Apr 28 Visualization Ch 11 PDF  PDF-6X-BW

Mon May 10 Final exam 8a.m.-10a.m., online

Prerequisites


Textbooks (both strongly recommended)


Assignments

There will be three programming homework assignments, teaching students OpenGL and how to program 3D computer graphics. Please see the schedule for links to assignments and due dates. All assignments must be done individually.


Grading

All assignments must be completed to pass the course. Students must take the mid-term and final exams to pass the course. The assignments will have a small amount of extra credit.

Late policy: Programming assignments should be turned in by midnight on the day they are due. A total of three late days may be taken during the semester on programming assignments. For example, you can use one late day on the second assignment, and two on the third assignment. All days are counted, including any weekends and holidays, as follows:
Less than 24 hours late = 1 late day, 24-48 hours late = 2 late days, 48-72 hours late = 3 late days, and so on.
The flexibility provided by the late days is intended to get you through the time where all your classes just happen to have assignments due on the same day. Beyond the three late days, there will be a penalty of 10% of the value of the assignment / day. Exceptions will be granted only under most dire circumstances and must be discussed with and approved by the instructor at least one week in advance. Assignment and exam grading may be discussed within three weeks of them being returned to the students.


Forum

There is a forum on Piazza where students can ask questions.


Resources and Supplementary Readings

Computer Graphics References

Prerequisite-related Resources


Academic integrity

All students are expected to maintain the utmost level of academic integrity. Do not copy any parts of any of the assignments from anyone. Do not look at other students' code, papers, assignments or exams. The university policies on academic conduct will be applied rigorously, and the USC Office of Student Judicial Affairs and Community Standards will be notified.

Statement on Academic Conduct and Support Systems

Academic Conduct
Plagiarism - presenting someone else's ideas as your own, either verbatim or recast in your own words, is a serious academic offense with serious consequences. Please familiarize yourself with the discussion of plagiarism in SCampus in Section 11, Behavior Violating University Standards, https://scampus.usc.edu/1100-behavior-violating-university-standards-and-appropriate-sanctions/. Other forms of academic dishonesty are equally unacceptable. See additional information in SCampus and university policies on scientific misconduct, http://policy.usc.edu/scientific-misconduct/.

Discrimination, sexual assault, and harassment are not tolerated by the university. You are encouraged to report any incidents to the Office of Equity and Diversity http://equity.usc.edu/ or to the Department of Public Safety http://capsnet.usc.edu/department/department-public-safety/online-forms/contact-us. This is important for the safety whole USC community. Another member of the university community -- such as a friend, classmate, advisor, or faculty member -- can help initiate the report, or can initiate the report on behalf of another person. The Center for Women and Men http://www.usc.edu/student-affairs/cwm/ provides 24/7 confidential support, and the sexual assault resource center webpage sarc@usc.edu describes reporting options and other resources.

Support Systems
A number of USC's schools provide support for students who need help with scholarly writing. Check with your advisor or program staff to find out more. Students whose primary language is not English should check with the American Language Institute http://dornsife.usc.edu/ali, which sponsors courses and workshops specifically for international graduate students. The Office of Disability Services and Programs http://sait.usc.edu/academicsupport/centerprograms/dsp/home_index.html provides certification for students with disabilities and helps arrange the relevant accommodations. If an officially declared emergency makes travel to campus infeasible, USC Emergency Information http://emergency.usc.edu/will provide safety and other updates, including ways in which instruction will be continued by means of blackboard, teleconferencing, and other technology.


Statement for Students with Disabilities

Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to me (or to TA) as early in the semester as possible. DSP is located in STU 301 and is open 8:30 a.m.–5:00 p.m., Monday through Friday. The phone number for DSP is (213) 740-0776.


Credits

I wish to thank Prof. Frank Pfenning and Prof. Jessica Hodgins from Carnegie Mellon University for generously providing materials from their computer graphics courses at CMU. This course has also been influenced by computer graphics courses at Cornell, MIT and UC Berkeley.