This course introduces the fundamentals of computer graphics with hands-on graphics programming experiences. Topics include: graphics software and hardware, 2D line-segment scan conversion, 3D transformations, viewing and projection, programmable shaders, polygon scan-conversion, hidden-surface removal, illumination and shading, compositing, texture mapping, effects of shadow, decal, lattice, fog, firework, etc, ray tracing and radiosity, and so on.


CS 5403 (Data Structures) or equivalents, and knowledge of C/C++ programming.

Regularly check the following for the latest updates:

Links for on-line documents:
1. OpenGL on-line manual (a *.tar.gz file of many *.html files)
2. GLUT on-line manual ("http://www.opengl.org/resources/libraries/glut/spec3/spec3.html")

Links for downloading the OpenGL related packages (you need both 1. and 2. below (see Compilation and Installation Instructions for OpenGL below):
1. GLUT 3.7 ("glut-3.7.6-bin.zip")
2. GLEW 1.5.1 ("glew-1.5.1-win32.zip")

Links for OpenGL Information:

TA: Zebin Xu (Email: zebinxu@nyu.edu. Office Hours: Tuesdays 3-5pm, in the lab 10.038, 10th floor of 2 MTC (there are two rooms labeled 10.038; we use the one whose door has no glass. If the lab 10.038 is too crowded, we may move to the dining area outside 10.038.)).

Syllabus: (.pdf file)

Compilation and Installation Instructions for OpenGL

"OpenGL Compilation on Mac OS X" (prepared by Shuchang Zhong, a TA in the past). A new update is coming soon.

Handout: example.cpp --- Example Program for Basic OpenGL Program Structure

Assignment 1

Last update: 9/15/17.