CS 657 - Advanced Topics in Computer Graphics
This course is a continuation of the basic graphics course IE/ME/CprE 557 (Computer Graphics and Geometric Modeling). It talks about newer developments in computer graphics with a focus on interactive 3D graphics and a strong focus on practical developments.
This is a dynamic course, topics change depending on new developments in
computer graphics and on the interests of the students.
- Ray Tracing
- Global Illumination / Radiosity
- Textures, Filtering, Antialiasing
- Lighting Models
- Particle Systems
- Programmable Graphics Hardware
- Non-photorealistic Rendering
- Volume Rendering
- Higher-level software structures: scenegraphs and game engines
- Point-Based Rendering
- Using Graphics Hardware for non-graphical purposes
Some programming experience in C++. Homeworks will consist of a
given code skeleton written in C++ that needs to be filled with the
interesting graphical parts. You don't have to be able to write medium
complexity C++ programs, but you should be able to understand and extend them.
CprE/IE/ME 557 Computer Graphics and Geometric
Modeling or similar experience in OpenGL. Participants should be able to
write an OpenGL program that draws multiple moving objects on screen that
are textured and lit by multiple different light sources.
In addition to these requirements the course will use relatively new
features of OpenGL for the programmable graphics hardware parts. For these,
students need to have access to a graphics card supporting the GLSL shading
language extensions (GL_ARB_shading_language_100 and
GL_ARB_fragment_shader). To find out whether your card supports these,
please download GLInfo for Windows
or run "glxinfo" on Linux. In general nVidia GeForceFX as well as ATI Radeon
9500 and higher cards support this extension.
If you don't have access to such a card, contact me immediately.
There is no single textbook that covers the topics presented in this course.
A book that gives a good overview and covers many of the presented topics is
"Advanced Graphics Programming Using OpenGL" by Tom McReynolds and David
Blythe (Morgan Kaufmann/Elsevier 2005). However it is not the official book
of the course and it is not necessary to own it.
The main information source for the course are the original research
publications, which are accessible via the University's Digital Library.
The evaluation of this course is focused on the final project, but other
factors play a role, too.
There will be 3 homeworks on basic issues (ray tracing, vertex programming
@amp; particle systems and fragment programming @amp; shading models). Each
homework has a creative component that accounts for 15% of the points. All
homeworks together account for 20% of the grade.
Each student is expected to present the results of a current published
research paper during the course of the semester. The paper should be, but
doesn't have to be, part of the presented topics, details will be discussed
on an individual basis. It is recommended to pick a paper that is related to
the final project's topic. The presentation should use PowerPoint or a
similar presentation medium. It is limited to 15 minutes plus 5 minutes for
questions. The presentation will account for 10% of the grade.
The main part is the final project. Students are expected to prepare a
proposal about the topic of the final project within the first 4 weeks of
the semester. It has to contain at least 4 milestones and be between one and
two pages in length, and counts for 5% of the grade. Two project
presentations (one after about 2/3 of the course, and the final
presentation) are required, each counting for 5% of the grade. The project
itself will account for 50% of the course grade.
The final 5% of the grade will depend on participation in class.
The relation between points and grades will be defined after the final
- Taught in:
Fall 2004,Fall 2005