CSCI-6962 Advanced Computer Graphics
General Information

In this course we will survey classic papers and current research in computer graphics. Topics include: advanced ray tracing, global illumination, photon mapping, subsurface scattering, mesh generation and simplification, subdivision surfaces, volumetric modeling, procedural modeling, weathering, simulation, appearance models, and texture synthesis. Course activities include programming assignments, oral presentations and a term project.

What you need to know before taking...

Prerequisite: CSCI-2300 (Data Structures and Algorithms) or equivalent and programming experience.

Everyone taking Advanced Computer Graphics should have taken courses in, or have reasonable exposure to, basic calculus, linear algebra (vectors & matrices), data structures, and algorithms. Programming assignments will be done in C++, so familiarity with this or syntactically similar programming languages (Java, or Pascal) will be an asset.

Previous coursework in Computer Graphics and Computational Geometry, OpenGL programming experience, or familiarity with rendering, modeling, or simulation software will be helpful, but is not required this term.

Textbook & References

There is no required textbook for the class. We will be reading research papers and other reference material.
Here are some relevant books you may be interested in reviewing:

Fundamentals of Computer Graphics - Peter Shirley
A K Peters Ltd,  ISBN: 1568811241, 1st edition (July 2002)

2nd edition(available soon)

OpenGL Programming Guide (the red book)

Online version

OpenGL Reference Manual (the blue book)

Online version


The assignments will involve a significant amount of C++ programming. You will submit all of your source code files (ending in .h or .C) as well as the compiled program (with no extension, or ending in .exe) -- either a Linux or Windows executable. Please also include a README.txt file describing:

Collaboration Policy

We encourage you to discuss the assignments with other students in the class. (Please acknowledge your collaborators in your README.txt file). However each student is responsible for implementing the assignment on his/her own. You may assist each other in debugging, but this should absolutely not involve "cutting and pasting" code. Likewise, consulting the assignment solutions of students from previous terms is not allowed.

Assignment Late Policy

Assignments are due on Thursday evenings at 11:59pm, submitted electronically. Late assignments will be penalized 25% per day, and will not be graded if submitted more than 3 days late. Extensions will only be considered if requested a full week before the due date. Please note that some of the assignments are cumulative and it is often necessary to have completed the majority of the previous week's assignment to begin the current assignment. So manage your time wisely.

Assignment Submission

Assignments should be submitted electronically through WebCT. If you are having trouble accessing to the appropriate pages, please contact the instructor.

To glue all of your files together for submission, use tar and gzip (or equivalent). On linux, to tar and zip up all of the files in a subdirectory assignment1, type:

   tar -cvzf assignment1.tar.gz assignment1


CSCI-6962 Advanced Computer Graphics Home