CSS 551 · Advanced 3D Computer Graphics

Homework, Autumn 2026

Eight assignments, 25 points each · out Thursday, due the next Wednesday 11:59 PM on Canvas · two 48-hour late tokens · hub · schedule · syllabus

Every assignment names the functions to write and the numbers a correct build reproduces, taken from the course text's worked examples. You choose a track per assignment: WebGL (a JavaScript file that mounts into the course's demo library) or Unity (C# scripts for a new Built-in Render Pipeline project); the two neural assignments offer Python notebooks instead of Unity. Both tracks are graded by the same checks.

#AssignmentOutDueTracks
HW1The loop, input, and orientationThu Oct 8Wed Oct 14WebGL · Unity
HW2Vector geometryThu Oct 15Wed Oct 28 (extended from Oct 21)WebGL · Unity
HW3Affine transformations and scene graphsThu Oct 22Wed Oct 28WebGL · Unity
HW4Viewing and rasterizationThu Oct 29Wed Nov 4WebGL · Unity
HW5Meshes, texture placement, and a lit shaderThu Nov 5Wed Nov 11WebGL · Unity
HW6A Whitted ray tracer and the Cornell boxThu Nov 12Wed Nov 18WebGL · Unity
HW7A gradient step, a fit, and a digit’s DCTThu Nov 19Wed Nov 25JavaScript · Python
HW8Diffusion and learned scenesThu Dec 3Wed Dec 9JavaScript · Python
Running the WebGL track. Clone or download the homework starter repository (about 2 MB; each homework is added the day it goes out), run python3 -m http.server 8000 in its root folder, open http://localhost:8000/homework/run.html?hw=hw01, and edit lib/skeletons/hw01.js. The runner draws the scene from your functions and prints every check with your value and the expected one.