G22.2270 Computer Graphics, Spring 2011

Instructor: Denis Zorin, dzorin@cs.nyu.edu
Office hours: by appointment
Time: 5:00-6:50pm Wednesday
Location: 719 Broadway, rm 1201
Class-related e-mail: I cannot promise an immediate response, it may take several days. Please include CG class in your e-mail subject, to make sure it does not get lost/filtered. If you have an urgent matter to discuss, please say so in the subject.
Instructional Assistant: Otavio Braga, obraga@cs.nyu.edu
Office hours: Tuesday 3-4pm
mailing list: g22_2270_001_sp11@cs.nyu.edu

Requirements and grading policies

Prerequisites No prior knowledge of computer graphics is required. The knowledge of basic linear algebra is assumed. Solid programming skills in UNIX or Windows environments in C or C++,C++ is strongly preferred. Assignments cannot be done in Java.

Grading There will be regular programming assignments and one or two written assignments. The programming assignments will count for approximately 80% and the written assignments for 20% of the final grade. There will be no midterm or final.

Late policy The penalties for turning in assignments after the deadline are as follows:

If you need an extension, you have to contact the instructor in advance. Extensions will not be granted on the last day, unless there are unexpected circumstances beyond your control.

Grading of programming assignments Your grade will depend on the quality of your code. We expect you to follow the guidlines of a style guide (old, but relevant as ever). Up to 50% penalty applies if your program crashes (does not apply to assert failures).

Assignments

Instructions for submitting the assignments

Syllabus

Homogeneous coordinates and transformations, transformation hierarchies, image processing basics, texturing, lighting, spline curves and surfaces, meshes, subdivision surfaces, interaction, ray tracing, introduction to programmable graphics hardware.

Recommended reading

Lecture notes

January 26Introduction, Geometry review
Slides for the geometry review
February 2GLUT and OpenGL introduction
Code: template.cpp movingsquare.cpp cvec2t.h cvec3t.h
February 9Gemetry review II Slides
February 16Hierarchical transformations, viewing transformation, projection transformations Slides Code: transform.cpp
February 23OpenGL pipeline, projection transformations, textures. Slides Additional reading on textures: Chapter 9 of the OpenGL Programming Guide.
March 2Lighting. Slides.
See Chapter 5 for examples of lighting code.
March 2Mesh data structures. Slides.
March 23Subdivision surfaces.Slides
April 6Ray tracing.Slides
April 13Ray tracing II.Slides
April 20GPU programming I: basic pipeline. An introductory tutorial
April 27, May 3GPU programming II,III: shaders. GLSL web site with examples discussed at the lecture.

© 2011, Denis Zorin