CSCI-UA-0480-006
|
Mine: | Tuesday, 4pm-5pm | 60 Fifth Ave, room 302 |
Diwakar: | Monday 2:30pm-3:30pm | 13th floor lounge of 251 Mercer (Warren Weaver Hall) |
Mudit: | Monday 4pm-5pm | 13th floor lounge of 251 Mercer (Warren Weaver Hall) |
Emily: | Wednesday 4pm-5pm | 13th floor lounge of 251 Mercer (Warren Weaver Hall) |
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.
Text:
Our "text" for this class will be the on-line course notes.
Course notes
(so make sure you come to class!!!),
will be posted on-line after each lecture.
A useful (but not required) reference: Computer Graphics: Principles and Practice (3rd Edition)
Contacts for the graders:
Discussion list:
Mudit mp5099 AT nyu DOT edu Emily sth351 AT nyu DOT edu Diwakar dp2757 AT nyu DOT edu
TBA
Rough outline of topics:
Jan 29, 31 | Introductory lectures
Homework (due before start of class on Tuesday Feb 5): Send an email to me at perlin AT nyu DOT edu, with the subject line "COMPUTER GRAPHICS", telling me:
| |||||||||||||||||
Feb 5, 7 | Introduction to WebGL shaders
Here is the progression of fragment shader programs I showed in class on Thursday Feb 7. And HERE are those detailed instructions about how to upload files and directories from a terminal window.
| |||||||||||||||||
Feb 12, 14 | Introduction to ray tracing and noise-based procedural texture
Course notes for Feb 12 lecture + Assignment 2 (due Feb 19) NY Times: Math Algorithm Valentine Course notes for Feb 14 lecture (ray tracing to a sphere)
| |||||||||||||||||
Feb 19, 21 | Phong shading + implementing a ray tracer
Course notes for Feb 19 lecture (Phong shading) Course notes for Feb 21 lecture (making an orange)-- and a homework assignment
| |||||||||||||||||
Feb 26, 28 | Passing data from Javascript to GLSL, Shadows, Reflection
Course notes + homework assignment for Feb 26-28 lectures
| |||||||||||||||||
Mar 5, 7 | Ray tracing to cubes + matrix transformations
Course notes + homework assignment for Mar 5-7 lectures
| |||||||||||||||||
Mar 12, 14 | Triangle strips and hierarchical animation
Course notes + homework assignment for Mar 12-14 lectures
| |||||||||||||||||
Week of Mar 18 | Spring break
| Mar 26, 28 | Parametrically defined geometric objects
| Course notes + homework assignment for Mar 26 lecture Note: This Thursday, March 28, we will have an exciting guest lecture from my colleague Kris Layng, an award winning art director, concept artist and immersive experience director.
Apr 2, 4 | Intro to splines, scenes with multiple objects
| Course notes + homework assignment for April 2-4 lectures
Apr 9, 11 | Bicubic surface patches, spline based animation
| Course notes for April 9-11 lectures
Apr 16, 18 | Texture mapping
| Course notes and homework for week of April 16
Apr 23, 25 | Using and generating bump maps, evaluating a bicubic patch
| Course notes for April 23 (bump maps, bicubic patches) Course notes for April 25 (automatically-computed tangent and binormal vectors)
Apr 30 | Mesh deformations and Virtual reality
| Course notes + homework assignment for April 30 lecture
May 7, 9 | Tour/demos in the NYU Future Reality Lab
| Instructions: Come to 60 Fifth Ave (between 12th and 13th Sts) and go up to the 3rd floor.
May 14, 16 | Final exam presentations
| |