Course information for EECS 580: Advanced Computer Graphics
- Instructor: Igor Guskov (please send me e-mail if you have questions)
- Times and location: Mondays and Wednesdays 12:30pm-2:30pm in room 1005 DOW
- Office hours: TBD
This is a graduate-level course in Computer Graphics, with emphasis on geometric modeling
and real-time rendering techniques. Intended audience for this course includes CSE graduate students
interested in graphics, as well as undergraduate students who took EECS 487 but would like to learn more.
Basic knowledge of OpenGL and working knowledge of C/C++ is assumed.
The course is on the software qual exam list in CSE PhD program.
Prerequisites
EECS 487 (or equivalent) or graduate standing
Course objectives
The course will give an overview of current research topics in Computer Graphics, and introduce
several topics in depth. The selection of topics is defined by their relevance to the research
of current graphics faculty, one purpose of this course is to prepare the incoming graduate students
for active research. In particular, a large part of the course will concentrate on geometric
modeling and real-time rendering.
-
Modern geometric modeling uses a wide variety of shape representations from polygonal meshes and
point clouds to implicit surfaces. In practice, it is important to be able to choose an appropriate
shape representation for a given geometric modeling problem. The course will give an overview of
current shape representations; their advantages and limitations will be discussed. Necessary background
material from mathematics, computational geometry, and advanced data structures will be presented.
Students will get practical experience working with polygonal meshes and subdivision surfaces.
-
Understanding of real-time rendering pipeline is crucial for the development of interactive
graphical applications. In recent years, rapid progress in the performance and the functionality of
graphics processors brought about an abundance of novel rendering techniques that create life-like
imagery in real time. Current graphics processors are able to process hundreds of millions of vertices
and has been successfully used for general purpose processing.
The course will introduce the fundamentals of programmable graphics pipeline, and its applications
to rendering and computational tasks. Students will get practical experience implementing vertex
and fragment shaders for modern GPUs. The course will also cover a number of acceleration techniques
important for real-time rendering, such as level-of-detail and culling methods.
In addition to the two core areas of geometric modeling and real-time rendering, the course will cover
a number of topics of current interest from recent research publications. These topics can include, for
instance, non-photorealistic rendering, pattern synthesis, and image-based rendering.
Course topics
- Geometric modeling
- Polygonal meshes
- Point and surfel clouds
- Spline curves and surface
- Implicit surfaces, distance functions, radial basis function representations
- Subdivision surfaces and multiresolution representations
- Surface acquisition and reconstruction
- Meshing quality, Delaunay triangulations and Voronoi diagrams
- Real-time rendering
- Fixed and programmable rendering pipeline, vertex and fragment shaders
- Advanced texturing and shading
- Precomputed radiance transfer
- General purpose computing on graphics processors
- Acceleration algorithms: culling and level-of-detail
- Collision detection and response
- Shadows
- Current topics
- Non-photorealistic rendering
- Pattern synthesis. X-by-example techniques.
- Image-based rendering and light fields
Course materials
-
Textbook: Real-time Rendering by Akenine-Moeller and Haines (recommended)
-
Siggraph 2000 Subdivision course notes by Zorin et al.
-
Papers from ACM Siggraph proceedings of recent years
Assignments
- Programming assignments (35%)
- PA1: Geometric modeling (mesh processing and
subdivision surfaces)
- PA2: Vertex and fragment shaders.
- Final project (35%)
- Can be done in groups of up to three people, or individually. The group would choose a recent paper from Siggraph (or other)
proceedings, present it in class, and implement a significant part of it.
- Paper summaries and written homework (15%)
- Final exam (15%)