Syllabus
Course Overview
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 and texturing, weathering, physical simulation, and appearance models. Course activities include programming assignments, in-class presentations, and a term project.
What you should know before taking Advanced Computer Graphics
Prerequisites: CSCI-2300 Intro to Algorithms and CSCI 2600 Principles of Software or equivalent is required, and previous coursework (e.g., ECSE-4750 Computer Graphics or GSAS-4963 Computer Graphics or CSCI-4550 Interactive Visualization or CSCI-4270 Computational Vision or ECSE 4969 Computer Vision and Graphics for Digital Arts) or other experience in programming for computer graphics, visualization, image processing, computer vision, or computational geometry is highly recommended.
Everyone in this course 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 is necessary.
Familiarity with OpenGL/Metal programming, and rendering, modeling, or simulation software will be helpful, but is not required.
This advanced course is targeted towards graduate students in computer science and is also open to upperclass undergraduate students who are interested in learning about and possibly pursuing research in computer graphics. This is an intensive reading & programming course.
Also see: Comments from student course evaluations from Spring 2015
Learning Outcomes
Students who have successfully completed this course will:
-
Be able to read academic publications in the fields of computer graphics, computational geometry, interactive techniques, and visualization and discuss the contributions and limitations of the research.
-
Be able to implement and use classic and modern algorithms and data structures for computer graphics, computational geometry, interactive techniques, and visualization and discuss the challenges relating to efficiency, performance, and accuracy.
-
Have proposed and carried out a creative and relevant term project.
-
Have improved communication skills through in-class presentations, discussions, and a term project written report.
-
Additionally, students registered for the graduate section (CSCI 6530) will:
Have practiced and demonstrated academic research communication through the preparation and formatting of their final project report for submission to a relevant conference or journal.
Textbook & References
There is no required textbook for the class. We will be reading research papers (available online through ACM & IEEE digital libraries), SIGGRAPH course notes, and other online reference material.
Here are some relevant books you may be interested in reviewing:
-
Fundamentals of Computer Graphics
Peter Shirley, Michael Ashikhmin, and Steve Marschner
A K Peters - Books from the OpenGL.org