In this course, we will cover basic principles of Computer Graphics through a series of lectures and by building out our own 3d modeling, rendering and animation package. Topics covered include: spatial transformations and coordinates, rasterization, sampling and signal processing, projective geometry, texture mapping, meshes, curves, geometry processing, spatial (acceleration) data structures, color and vision science, radiometry, physically-based rendering, raytracing via Monte Carlo, animation, rotation, kinematics, and simulation.
After taking this course, you should feel confident that you have the basic skills and knowledge necessary to build or develop software packages like Maya, Blender, Houdini, or Adobe Photoshop.
Lecture: MW 11:30-12:50pm in CSE2(Gates) 271
Staff Email: cse557-staff@cs.washington.edu
Instructor: Gilbert Bernstein (gilbo@cs.washington.edu)
Office Hours: W 1:00-2:30pm at CSE2(Gates) 235 (no office hour on Oct 15th)
(Please allow for me to grab food between the end of class and start of office hours)
TA: Boyang 'Boe' Zhou (zby2003@cs.washington.edu)
Office Hours: Th 1:30-3:00pm at CSE2(Gates) 150 (12:30-2pm on Nov 13th)
Gradescope (Grades and Homework turn-in)
EdStem Discussion Board (questions and announcements)
Please come to lecture and ask questions. Attendance is strongly correlated with final grades in the class. We remember who asks questions, attends office hours and otherwise participates. We have gone out of our way to give students who participate regularly extra opportunities to demonstrate mastery of the course material.
The coursework will consist entirely of weekly homework assignments, as well as 4 programming projects. Because the programming projects are quite substantial, we will provide (non-deadline) halfway checkpoints. We strongly suggest attempting to spend an hour each day making slow and steady progress. Procrastinating until the deadline will make the projects very unpleasant.
In general, you should assume that it may take up to 24 hours for course staff to respond to questions, and that course staff will not be available on weekends or holidays. This is another important reason to start on the projects early. Questions submitted on a due date may go unanswered until after the deadline.
A complete discussion of exceptional circumstances constituting the full syllabus are accessible through the extended syllabus page.
Linear Algebra
C++ Programming
Gumption
The slides for this course contain many materials passed down through generations of Computer Graphics professors. I have also added entirely new material or presentations of material that are not present in any Graphics textbooks that I'm aware of. However, for students who wish to consult a traditional textbook, I recommend the following two books without any reservations.
"Foundations of Computer Graphics" by Shirley and Marschner — This is a good general graphics textbook. If you are looking for a traditional textbook to supplement the lectures, then get a copy of this book. However, there is no particular alignment of content between lectures and this book.
Physically-Based Rendering: From Theory to Implementation (website link) — This is one of the greatest textbooks in Computer Science. It even won an Academy Award! The book is a "literate program" meaning that the source code for a complete photo-realistic ray-tracer can be extracted from the text. Both the text and the software are available for free from the website. It is an ideal text for the photorealistic rendering part of the course.