CSCI-UA-0480-006
Special Topics: Computer Graphics
60 Fifth Ave 150
Tuesdays and Thursdays
11am-12:15pm
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 should not have any trouble
picking up enough JavaScript to do this course.
Since this is a special topics 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 and vector math and some
differential calculus.
During the semester we will go over
all of the math that you will need.
Text:
Class notes
(so make sure you come to class!),
will be posted on-line after each lecture.
A generally useful (but not required) reference:
Computer Graphics: Principles and Practice (3rd Edition)
Office hours (at 60 Fifth Ave, third floor):
Mondays 3pm-4pm (C DeFanti, room 310) |
Tuesdays 4pm-5pm (K Perlin, room 344) |
Thursdays 10am-11am (S Herscher, room 314) |
Setting up your class account:
Follow these instructions.
Mailing list:
TBA
NOTE: You do not need to email your homework to the
grader each week. You just need to post your
homework to the website that you use for this course.
Rough outline of topics we will cover (this may change):
- Tuesday, Jan 23: Introductory lecture
- Thursday, Jan 25: Second lecture
- Tuesday, Jan 30: WebGL fragment shaders
- Thursday, Feb 1: Advanced topic: scan converting a triangle
- Ray tracing, part 1: Ray tracing to a sphere
- Ray tracing, part 2: Phong Shading
- Ray tracing, part 3: Matrix transformations
- Ray tracing, part 4: Advanced matrix operations
- Rendering shapes as triangle strips
- Cylinders and Cubes as triangle strips
- Animating hierarchical models
- Cubic splines
- Bsplines splines and mesh normals
- Implicit surfaces, Marching Cubes, etc.
- Bezier bicubic spline surface patches
- Homework due Tuesday May 1
- Advanced topics
|