Computer Graphics

UW CSE 557, Spring 2023

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, and simulation.

After taking this course, you should feel confident that you have the basic skills and knowledge necessary to build software packages like Maya, Blender, or Adobe Photoshop.

Course Information

 Expectations

Students are expected to attend lecture and ask questions.  The coursework will consist entirely of 4 programming assignments.  Each of these assignments is quite substantial, so 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 Friday due date may simply go unanswered.

 Prerequisites

  Grading and Late Policy

The course grade will be composed equally of 5 assignments, the first of which will be very minimal.  Assignments are due on Fridays.  Each student is allowed up to 2 late days per assignment, but no more.  Exceptions to this policy will only be given in extreme circumstances with prior instructor approval.

Collaboration is allowed, but you must write and turn in your own work in its entirety. You are not allowed to divide a single assignment among multiple students. Please use the discussion board on canvas to ask and answer questions, but do not post your source code.

Students who regularly participate in class and turn in projects on time will be eligible to make up missed points on projects by demonstrating comprehension of the relevant concepts through quizzes or other means at the discretion of the instructor.  (Basically, if you're putting in your best effort and can eventually prove you learned everything this class is supposed to teach you, then you'll get a good grade)

Resources and Textbooks