Special Topics: Computer Graphics
60 Fifth Ave 150
Tuesdays and Thursdays
There are many courses that can teach you how
to use commercial computer graphics packages
This course, in contrast, will teach you how
to build 3D computer graphics from the ground up.
This will include 3D modeling, animation, and
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 Java, C++ or any
similar high level language, you should not have any trouble
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
During the semester we will go over
all of the math that you will need.
(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):
Setting up your class account:
|Mondays 3pm-4pm (C DeFanti, room 310)|
|Tuesdays 4pm-5pm (K Perlin, room 344)|
|Thursdays 10am-11am (S Herscher, room 314)|
Follow these instructions.
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