CS 551/651-2: Advanced Computer Graphics

Cross-listed as CS 651-2; see below


Time: 11 - 12:15, Tuesdays and Thursdays
Place: MEC 341
Instructor: David Luebke (Olsson #219), luebke@cs.virginia.edu
Format: Project-oriented, with several programming assignments. Three tests.
The graduate-level course CS 651-2 is being taught through the same lectures, but with slightly different requirements. Undergraduates are only eligible for the 551 version of the course (barring exceptional circumstances).
Prerequisites: Previous computer graphics course experience (e.g., CS 551: Computer Graphics), or consent of instructor. Good C/C++ programming skills a must.
Description: This course will cover advanced topics in computer graphics, including: 
  • Realism: ray tracing, path tracing, and radiosity
  • Speed: occlusion culling, level-of-detail, texture tricks
  • Hardware: rendering pipeline, graphics architectures
  • Non-traditional rendering: pen-and-ink, painterly rendering
  • Animation: physically-based modeling, collision detection, particle systems
  • Image-based rendering: image warping, sprites, layered-depth images. 

Programming assignments will explore several of these topics. Though we will use professional software systems and libraries such as OpenGL, Maya, and Renderman, the course will focus on understanding the underlying principles rather than mastering the tools.  Strong C/C++ programming skills and previous computer graphics experience are assumed.

Texts:
Required:
None
Suggested:
Advanced Animation and Rendering Techniques: Theory and Practice by Watt and Watt, Addison-Wesley (1992).
Computer Graphics: Principles and Practice by Foley, van Dam, Feiner, and Hughes, Addison-Wesley (1993).
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.1 by Mason Woo et al., Addison-Wesley (1997).
Documentation: The PPM file format.
Infrastructure: In order to use the infrastructure in place in the class account, you'll need to make some modifications to your unixlab account.
Handouts:
Lectures:
Lecture Date Topic
1 1/18/01 Introduction, pretty pictures
2 1/23/01 Ray tracing: the basics
3 1/25/01 Ray tracing: accelerating basic ray tracing
4 1/30/01 Antialiasing
5 2/1/01 Fourier theory, convolution, etc (transparencies)
6 2/6/01 Prefiltering, supersampling
7 2/8/01 Stochastic sampling, texture map antialiasing
8 2/13/01 Advanced ray tracing, intro to radiosity
9 2/15/01 Radiosity
-- 2/20/01 QUIZ #1
-- 2/22/01 Class cancelled (snow day)
10 2/27/01 Radiosity Continued
11 3/1/01 Level of Detail: fundamentals
12 3/6/01 Sadly, lecture 12 has been lost
13 3/8/01 Level of Detail conclusion
14 3/20/01 Guest lecture [Dave Brogan]: Making Movies
15 3/22/01 Image-based rendering: Light fields
16 3/27/01 Image-based rendering: View-dependent rendering
17 3/29/01 Occlusion culling: cells & portals
18 4/3/01 Occlusion culling: hierarchical z-buffer, HOM
19 4/5/01 Image-based simplification
20 4/10/01 Collision detection
21 4/12/01 Real-time programmable shading
22 4/17/01 Perceptually driven interactive rendering
-- 4/19/01 Lab: work on final projects
-- 4/24/01 Lab: work on final projects
23 4/26/01 Review for final exam
-- 5/1/01 Lab: work on final projects
-- 5/4/01 FINAL EXAM (all day)
Powerpoint source for all lectures
Assignments/Exercises Assignment 1: Build a simple ray-tracer (Sample results)
Assignment 2: Accelerate a ray tracer
Assignment 3: Simplify polygonal objects
Assignment 4: Make something in Maya

Final project: Make a 3-D game

Check your grades on the ITC Instructional Toolkit

Final Exam: 9 AM Friday, 4 May 2001

The background image is from Realistic Modeling and Rendering of Plant Ecosystems, by Oliver Deussen, P. Hanrahan, M. Pharr, B. Lintermann, R. Mech, and P. Prusinkiewicz.  From Proceedings of SIGGRAPH '98, ACM Press, (c) 1998.