CS 488/688: Introduction to Computer Graphics
Spring 2023
Welcome to the home page for CS488/688, the introductory computer graphics course in the School of Computer Science at the University of Waterloo. This course focuses on 3D graphics and relevant topics in computer graphics.
Overview
- Explain the algorithmic and mathematical concepts used in computer graphics.
- Write interactive programs that display and manipulate 3D geometry.
- Write programs for realistic image synthesis.
Logistics
Wenyou Wang: w576wang@uwaterloo.ca
- The website realtimerendering.com lists a bunch of books that are free online. Among others, for ray tracing, we recommend the pbrt book as a general reference and Peter Shirley's e-books as a good supplementary material for ray tracing.
- Ten Minute Physics by Matthias Muller provides a very good overview of theory and practice regarding physics-based animation.
- The graphics codex can serve as a reference to the topics and tools used in graphics.
- The website of linalg.h for coding vector math.
- The website of GLFW in case you want to look at how it is used in the base code.
- Shadertoy and GLSL Sandbox showcase interesting (fragment) shader programs.
- Inigo Quilez has several articles explaining practical solutions to many problems in graphics.
- The course note of CS 488/688 from the previous terms is also available here, mainly just for your information.
Expectations
- A0: 0%
- A1: 20%
- A2: 20%
- A3: 20%
- Project proposal: 10%
- Project: 30%
- You can extend an assignment deadline by one day using one point. You can do this multiple times for one assignment, if needed, by using multiple points.
- If you have no remaining late-day points, late submissions will incur 10% penalty per day for up to three days.
- No submissions will be accepted more than three days after the deadline. This is true whether or not the student has late-day points remaining.
Interested in graphics research?
Assignments
- This course has assignments and the final project. Please read the additional notes regarding assignment completion and submission. These notes may help you avoid losing marks unnecessarily. You will submit your work via LEARN. Students should contact the TAs in case of any issue related to the submission procedure.
-
Assignment 0: Warmup (optional)
Due May 16 at 10:00 AM ET -
Assignment 1: Rasterization
Due May 30 at 10:00 AM ET -
Assignment 2: Ray tracing
Due June 20 at 10:00 AM ET -
Assignment 3: Animation
Due July 4 at 10:00 AM ET -
Project
Proposal due July 6 at 10:00 AM ET
Corrected proposal due July 11 at 10:00 AM ET
Project due August 1 at 10:00 AM ET
Schedule
- The course will roughly follow the following schedule (can change).
-
- May 9: Introduction
- May 11: Rasterization
- May 16: More on rasterization and transformations
- May 18: Transformations (cnt.)
- May 23: No class (Monday's schedule)
- May 25: Textures
- May 30: Sampling and reconstruction
- Jun 1: Ray tracing
- Jun 6: Ray tracing (cnt.)
- Jun 8: Shading models
- Jun 13: Acceleration data structures
- Jun 15: Acceleration data structures (cnt.)
- Jun 20: Particles
- Jun 22: Multibody dynamics
- Jun 27: Rigid bodies
- Jun 29: Deformables
- Jul 4: Waves
- Jul 6: Smoke
- Jul 11: Advanced rasterization techniques
- Jul 13: Cameras and colors
- Jul 18 Monte Carlo integration
- Jul 20: Path tracing
- Jul 25: Conclusion
- Jul 27: Extended office hours
- Aug 1: Extended office hours
Other University-related Information
-
Mental Health: If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support.
On-campus Resources- Campus Wellness https://uwaterloo.ca/campus-wellness/
- Counselling Services: counselling.services@uwaterloo.ca / 519-888-4567 ext 32655
- MATES: one-to-one peer support program offered by Federation of Students (FEDS) and Counselling Services: mates@uwaterloo.ca
- Health Services service: located across the creek from Student Life Centre, 519-888-4096.
- Good2Talk (24/7): Free confidential help line for post-secondary students. Phone: 1-866-925-5454
- Here 24/7: Mental Health and Crisis Service Team. Phone: 1-844-437-3247
- OK2BME: set of support services for lesbian, gay, bisexual, transgender or questioning teens in Waterloo. Phone: 519-884-0000 extension 213
- EMPOWER ME 1-833-628-5589 for Cdn./USA other countries see: http://studentcare.ca/rte/en/IHaveAPlan_WUSA_EmpowerMe_EmpowerM. EMPOWER ME in China are China North 108007142831 and China South 108001402851.
Diversity: It is our intent that students from all diverse backgrounds and perspectives be well served by this course, and that students’ learning needs be addressed both in and out of class. We recognize the immense value of the diversity in identities, perspectives, and contributions that students bring, and the benefit it has on our educational environment. Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally or for other students or student groups.
- We will gladly honour your request to address you by an alternate/preferred name or gender pronoun. Please advise us of this preference early in the term so we may make appropriate changes to our records.
- We will honour your religious holidays and celebrations. Please inform us of these at the start of the course.
- We will follow AccessAbility Services guidelines and protocols on how to best support students with different learning needs.
-
Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. [Check https://uwaterloo.ca/academic-integrity/ for more information.]
Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.
Discipline: A student is expected to know what constitutes academic integrity [check https://uwaterloo.ca/academic-integrity/] to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about 'rules' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties check Guidelines for the Assessment of Penalties.
Appeals: A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72, Student Appeals.
Turnitin.com: Text matching software (Turnitin®) may be used to screen assignments in this course. Turnitin® is used to verify that all materials and sources in assignments are documented. Students' submissions are stored on a U.S. server, therefore students must be given an alternative (e.g., scaffolded assignment or annotated bibliography), if they are concerned about their privacy and/or security. Students will be given due notice, in the first week of the term and/or at the time assignment details are provided, about arrangements and alternatives for the use of Turnitin in this course.
Note for Students with Disabilities: AccessAbility Services, located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.
It is the responsibility of the student to notify the instructor if they, in the first week of term or at the time assignment details are provided, wish to submit alternate assignment.
-
Intellectual Property: Students should be aware that this course contains the intellectual property of their instructor, TA, and/or the University of Waterloo. Intellectual property includes items such as:
- Lecture content, spoken and written (and any audio/video recording thereof);
- Lecture handouts, presentations, and other materials prepared for the course (e.g., PowerPoint slides);
- Questions or solution sets from various types of assessments (e.g., assignments, quizzes, tests, final exams);
- Work protected by copyright (e.g., any work authored by the instructor or TA or used by the instructor or TA with permission of the copyright owner).
Course materials and the intellectual property contained therein, are used to enhance a student's educational experience. However, sharing this intellectual property without the intellectual property owner's permission is a violation of intellectual property rights. For this reason, it is necessary to ask the instructor, TA and/or the University of Waterloo for permission before uploading and sharing the intellectual property of others online (e.g., to an online repository).Permission from an instructor, TA or the University is also necessary before sharing the intellectual property of others from completed courses with students taking the same/similar courses in subsequent terms/years. In many cases, instructors might be happy to allow distribution of certain materials. However, doing so without expressed permission is considered a violation of intellectual property rights.
Please alert the instructor if you become aware of intellectual property belonging to others (past or present) circulating, either through the student body or online. The intellectual property rights owner deserves to know (and may have already given their consent).