-- CS535 (Fall 2007) --

Interactive Computer Graphics



Interested in computer graphics? Does geometric modeling interest you? Do you like rendering photorealistic imagery? Do you like rendering artistic imagery? Have you ever thought of how to render a communication network? What does it mean to display internet traffic? Is doing animations fun to you? All this is part of computer graphics. This course teaches the fundamentals, at a graduate school level, for such activities and research projects. Major applications include:

[Course Handout (PDF)]

 1. Prerequisites

Students are required to have previous C/C++ programming experience, knowledge of linear algebra, and are recommended to have OpenGL programming experience. OpenGL will be used during the semester and reviewed at the beginning, but students can/should learn OpenGL on their own. The course focus is on the algorithms and applications.

 2. Course work

The course work is composed of programming assignments, exams, and interactive class participation. The programming assignments consist of a warm-up assignment, three incremental programming assignments and a final assignment. The exams consist of a midterm and a final exam. Class participation will consist of active participation during class (you be called upon) and the presentation of a mini-review to your classmates. The mini-review will cover material previously covered in class and will serve to help prepare you for the final exam. Course work will be easier to manage if you keep a constant pace through the semester. This course is hard work but you will learn a lot and have fun!

Classroom: LWSN B134

Time: TTh @ 9-10:15am

Instructor office hours: by appointment


TA: Nathan Andrysco (nandrysc@cs.purdue.edu)

TA Office Hours: Tues @ 2:30-4:30pm

3. Grading

            Programming Assignments:        20% (assignments 0-3)

                                                            30% (final assignment)

            Class Participation:                   20% (15% mini-review, 5% active participation)

            Exams:                                     10% (midterm)

                                                            20% (final)


                                                            100% TOTAL


            Detail of how to hand-in assignments

4. Lecture and Assignment Schedule

August 21 Introduction

August 23 Programming at Purdue CS, OpenGL, GLUT, GLUI basics

            Assignment #0 out

August 28 Projections and transformations (some images)

August 30 Cameras and optical aberrations

            Assignment #0 due

            Assignment #1 out

September 4 Panoramic and omnidirectional cameras

September 6 Transformation, rasterization, shading, and lighting

September 11 Computations with triangles

September 13 Texture mapping and projective texture mapping

Assignment #1 due

Assignment #2 out  (models.zip)

September 18 Color space and dynamic range

September 20 Spatial hierarchies

September 25 Culling

September 27 TBA

October 2 Review

Assignment #2 due

Assignment #3 out (makepipe.zip)

October 4 Midterm

October 9 Fall break no classes

October 11 Midterm Review/Final-Project Preview

October 16 Ray tracing I: reflections, intersections, efficiency

October 18  Ray tracing II: higher-order visual effects, anti-aliasing,

Assignment #3 due

Final Assignment out

October 23 Procedural Modeling I: grammas, plants

October 25 Procedural Modeling II: cities, buildings

November 8 Image-based Rendering: image warping and lightfields in a jiffy

October 30 Level of Detail, Simplification, Cost/Benefit: meshes, polygon soup

November 6 Level of Detail, Simplification, Cost/Benefit: quality metrics, adaptation

November 13 Visualization/TBA

November 15 Detailed review by Students I

November 20 Detailed review by Students II

November 22 Thanksgiving no classes

November 27 Detailed review by Students III

November 29 Thanksgiving no classes

December 4 TBA

December 6 Demo Day

            Final Assignments due

Final Exam see University website