CS 598: Digital Geometry Processing

Overview

Computer graphics has become a vital technology in many diverse areas, ranging from interactive games and feature film production to aircraft design and medical diagnosis. One of the fundamental requirements for all computer graphics applications is the need for sophisticated techniques for representing and processing geometric object models.

The dominant representation for geometry is the polygon meshh. In this course, we will explore some of the more important techniques for working with non-trivial surface meshes. Most of the material we will discuss is taken from the recent research literature. Topics covered in the course will include:

Students are expected to have successfully completed the prerequisite course (CS 318) or have an equivalent background. An existing knowledge of OpenGL is assumed, although knowledge of a comparable system (such as DirectX) should be sufficient.

Format

Papers

During the course of the semester, we will read a number of papers drawn from the research literature. The required reading for each class will generally be 1–2 papers. For each paper, you should send me a brief summary prior to class. First, you should describe the key points of the paper in 2–3 sentences. Then, you should write down the biggest question you have about the paper; this may be something you didn’t understand or that you feel the authors didn’t adequately address. E-mail this little write-up to me at garland+summary@cs.uiuc.edu and put the corresponding class date in the subject line. Your summary is due by 12:00 noon of the day on which that paper is being discussed.

Topical notes

Each student will be assigned to assemble written notes for one of the topics covered in the course. These notes will be posted on the course website.

Presentations

Everyone taking this course will deliver an in-class presentation on one of the papers we’ll be reading. Nominally, you will be giving a presentation on one of the papers discussed under the topic for which you are writing notes.

Projects

There will be 3 programming project assignments over the course of the semester. The first 2 will be individual projects, and they will be followed by a group term project.

Evaluation

Final grades in this course will be based on in-class participation and performance on assignments. There will be no exams. Grades in the individual areas will be weighted as follows:

Category Weight
Class participation10%
Paper presentation15%
Written notes15%
Individual project #120%
Individual project #220%
Group term project20%

I will total grades as indicated by the weighting scheme above. Each student will have earned some percentage of the total possible points. This percentage will determine a minimum guaranteed grade, as indicated in the following table:

% Total Minimum Grade
90–100A
80–89 B
70–79 C
60–69 D

This table indicates minimum guaranteed grades. I may select more generous ranges if appropriate (e.g., by lowering all cut-offs by 2 points).

Please remember that students are bound by the University honor code on academic integrity in regard to all work related to this course. Any student found to be violating this code will be subject to disciplinary action.

Computer Facilities

The CSIL machines in 0216 Siebel are available for use in developing your projects. These machines are Linux Workstations and they are all equipped with NVIDIA Quadro4 graphics accelerators. Other CSIL machines do not have particularly good 3-D graphics hardware and will probably be too slow to comfortably run your projects. If you registered for this course, an account should have been created for you on these machines.