Philippos Mordohai
Assistant Professor
Department of Computer Science
Stevens Institute of Technology

Office: Lieb 215
Phone Number: +1 201 216 5611
E-mail: mordohai_at_cs.stevens.edu

CS 537: Interactive Computer Graphics

Spring 2009



Homepage

Location
Lieb 219 (for 9/9/09 and until further notice).

Time
Wednesdays 6:15-8:45 PM.

Office Hours
Tuesdays 5-6 PM and by appointment.

No Class on September 30
There will be an extra class on Friday, October 16, 2-4:30 PM.

Pre-requisites
  • CS 385 or CS 182.
  • Good programming skills in C/C++ are essential!
  • Knowledge of linear algebra, trigonometry and calculus.


Syllabus

Evaluation
Project (36%)
4 homework sets (16% each)


Textbooks
  • Edward Angel, Interactive Computer Graphics: a top down approach with OpenGL (5th ed.), Addison Wesley, ISBN-10: 0321535863 ISBN-13: 9780321535863. See the author's web site for useful resources and code samples.
  • D. Shreiner, M. Woo, J. Neider and T. Davis, OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1 (7th ed.), Addison Wesley, ISBN-10: 0321552628, ISBN-13: 978-0321552624. We will use an earlier version, which is available in HTML here and is very useful for programming examples and as a reference for OpenGL APIs.

Online Resources

Outline

Week 1:Introduction
Lecture I (pdf)

Week 2: Programming with OpenGL
Lecture II (pdf)

Week 3: Input, interaction and event driven programming
Lecture III (pdf)
Homework I is due September 30, at 6:15pm. The source code for rot_square.c may be useful.

Week 4: Geometry, coordinate systems and transformations
Lecture IV (pdf)

Week 5: OpenGL transformations, modeling and viewing
Lecture V (pdf)

Week 6: Geometry, transformations, camera models and viewing Part III
Lecture VI (pdf)
Homework II is due October 28, at 6:15pm.

Week 7: Shading
Lecture VII (pdf)

Week 8: Clipping and scan conversion
Lecture VIII (pdf)
Your project proposals must be approved by November 4, at 6:15pm. See Final Project Proposal instructions.

Week 9: Buffers and texture mapping
Lecture IX (pdf)
Homework III is due November 11, at 6:15pm.
Simple C++ code for reading and writing PPM images: implementation and header file.

Week 10: Environment mapping, blending and hierarchical modeling I
Lecture X (pdf)

Week 11: Hierarchical modeling and scene graphs
Lecture XI (pdf)
Homework IV is due November 25, at 6:15pm.

Week 12: Curves and surfaces; Bezier and spline curves and surfaces
Lecture XII (pdf)

Week 13: Curves and surfaces Part II; advanced rendering
Lecture XIII (pdf)

Week 14: Procedural graphics; programmable pipelines, introduction to CUDA



Notes on Using OpenGL

See Ed Angel's notes on downloading and installing OpenGL and glut.

For Windows you can download just the dll, lib and .h files, which can be found here, courtesy of Nate Robins. You should find OpenGL32.dll and glu32.dll with your system files. You should also find the corresponding lib and .h files supplied with your compiler. The corresponding GLUT files should be placed with them. For Windows XP, place glut32.dll in C:\WINDOWS\SYSTEM32, glut32.lib in C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib and glut.h in C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\GL. Instructions for compiling using Visual Studio can be found here.

Regardless of the operating system, try to make sure that you can compile one of the simple examples by Ed Angel before the first assignment is due.