CSCI-UA-0480-041
Special Topics: Computer Graphics

TAUGHT ON-LINE
Mon/Wed 11am-12:15pm EST

 

 

If you need to email the grader: rz1600 AT nyu DOT edu

Grader office hours: Tuesdays from 9pm to 10pm. Zoom link

My office hours: Mondays from 1pm to 2pm. Zoom link

NOTE: Due to the outbreak, office hours and lectures will be held on-line.

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.

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. You can get the Zoom link for the lectures via NYU Classes.

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.

Syllabus

  splines
Week 1 Wednesday Sep 2 Intro to the semester's topics
Here is a link to the class notes.

Week 2 Monday Sep 7 No class (it's Labor Day).
Wednesday Sep 9 Intro to GPU fragment shaders
Here is a link to the class notes and homework.

Week 3 Monday Sep 14 Ray tracing to a sphere, part 1
Here is a link to the class notes.
Wednesday Sep 16 Ray tracing to a sphere, part 2 + Phong shading
Here is a link to the class notes and homework.

Week 4 Monday Sep 21 Ray tracing with multiple lights and spheres
Wednesday Sep 23 Passing in data from the CPU, implementing shadows
Here is a link to the class notes and homework.

Week 5 Monday Sep 28 Historically important CG animations, part 1
Here is a link to the videos we showed in class.
Wednesday Sep 30 Mirror reflection and intro to matrices
Here is a link to the class notes and homework.

Week 6 Monday Oct 5 Transforming vertices, part 1
See course notes for Wednesday Oct 7.
Wednesday Oct 7 Transforming vertices, part 2
Here is a link to the class notes and homework.

Week 7 Monday Oct 12 Building a 3D modeler, part 1
See course notes for Wednesday Oct 14.
Wednesday Oct 14 Building a 3D modeler, part 2
Here is a link to the class notes and homework.

Week 8 Monday Oct 19 Perspective and object hierarchies
See course notes for Wednesday Oct 21.
Wednesday Oct 21 Building parametric shapes
Here is a link to the class notes and homework.

Week 9 Monday Oct 26 Guest lecture by Mike Gold
Wednesday Oct 28 Mouse interaction, intro to splines
Here is a link to the class notes and homework.

Week 10 Monday Nov 2 Hermite and Catmull-Rom splines
Here is a link to the class notes.
Wednesday Nov 4 Animation and Geometry with splines
Here is a link to the class notes and homework.

Week 11 Monday Nov 9 Hit testing, part 1
See course notes for Wednesday Nov 11.
Wednesday Nov 11 Hit testing, part 2
Here is a link to the class notes and homework.

Week 12 Monday Nov 16 Inverse kinematics, part 1.
See course notes for Wednesday Nov 18.
Wednesday Nov 18 Inverse kinematics, part 2.
Here is a link to the class notes and homework.

Week 13 Monday Nov 23 Building an animation sequence.
See course notes for Wednesday Nov 25.
Wednesday Nov 25 Texture mapping 1
Here is a link to the class notes and homework.

Week 14 Monday Nov 30 Texture mapping 2, Start final projects
See course notes for Wednesday Dec 2.
Wednesday Dec 2 Go over ideas for final project
Here is a link to the class notes and homework.

Week 15 Monday Dec 7 Preliminary final presentations 1
Wednesday Dec 9 Preliminary final presentations 2

Week 16 Friday Dec 18 FINAL PRESENTATIONS (noon-1:50pm EST)