Undergraduate Computer Graphics
60 Fifth Ave, Rm 110
My office hours Wednesday, 2pm What we will cover There are many courses that can teach you how to use commercial computer graphics packages and APIs. This course, in contrast, will teach you how to build 3D computer graphics from the ground up. This will include 3D modeling, animation, and rendering. At the end of the semester you will have built your own complete working real-time 3D computer graphics systems that runs in web browsers. During this semester you will have the opportunity to work on-line in small teams, learning how to collaborate to build computer graphics content together. What you should already know If you are already familiar with JavaScript, that's great. If you are already familiar with Java, C++ or any similar high level language, you will not have any trouble picking up enough JavaScript to do this course. Since this is an advanced course, I will assume that you are already an experienced programmer. If you are not, then I do not suggest you take this course, as there will be weekly programming assignments, and you would not be able to keep up. Computer graphics uses a lot of matrix math and some calculus. During the semester we will go over all of the matrix and vector math that you will need. Lectures and Course Notes Our "text" for this class will be the class lectures and corresponding on-line course notes. The recorded Zoom lectures will be available on BrightSpace. Course notes will be posted on-line after each lecture. Make sure you watch the class lectures!!! Here are instructions for setting up your website for this class. Grader: Keru Wang ( keru DOT wang AT nyu DOT edu ) Semester at a glance: TU TH Sep 5 7 Rm 110 Course overview, Web canvas, 2D graphics Sep 12 14 Rm 110 GPU, GLSL, vertex shaders, fragment shaders Sep 19 21 Zoom Matrices, 3D transformations Sep 26 28 Rm 110 Ray tracing 1: rays, spheres, simple shading Oct 3 5 Zoom Ray tracing 2: hilights, shadows, reflection, refraction Oct ██ 12 Rm 110 Triangles, triangle strips, joining meshes Oct 17 19 Zoom Cubes, tubes, disks, spheres, cylinders, tori Oct 24 26 Rm 110 Noise, turbulence, marble, clouds, fire, etc. Oct 31 2 Zoom Texture mapping, running as client/server Nov 7 9 Rm 110 Splines 1: Hermite/Bezier/Catmull-Rom/B-spline Nov 14 16 Zoom Splines 2: snakes, motion paths, limb rotation Nov 21 ██ Rm 110 Animation: characters, sequencing, simulation Nov 28 30 Zoom Interaction, multiplayer graphics, XR Dec 5 7 Rm 110 Discuss ideas for final project Dec 12 14 Rm 110 Practice final project presentations Dec 19 21 Rm 110 Give final project presentationsLecture notes will be posted on Brightspace with your assignments |