CSCI-6962 Advanced Computer Graphics
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...
(Data Structures and Algorithms) or equivalent and programming
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)
OpenGL Reference Manual (the blue book)
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:
- any new features or extensions you've added (include instructions for use and test cases as appropriate),
- known bugs in your code,
- how long it took you to complete the assignment, and
- the extent of your collaboration with other students or outside sources.
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
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
- Assignments 40%
- Final Project 30%
- Quizzes 15%
- Participation & Presentation 15%
CSCI-6962 Advanced Computer Graphics Home