CS 638: Graphics II

Class time/location: Mondays 6:15-8:45pm, Lieb Building 2nd floor conference room (just ring the bell to be let in)
Prof. Quynh Dinh
Office hours: Wednesdays 4-5pm, Lieb Building rm 302. All other times by appointment.
TA: Lucy Xu (lxu1@stevens.edu)


Text

Most of the reading will be technical papers downloaded from below.

Recommended



Grading Policy

Assignment Breakdown

Assignments

  1. A small project will be due near the beginning of the course.
  2. A major project will be implemented. Submission includes a proposal, an interrim report, and a final report. At the end of the semester, a demo and presentation of the project is to be given in the final week of class or during final exam week.
  3. For each paper covered, one student will lead a discussion on the paper and another will write a short summary of the paper prior to discussion of the paper.

Quizzes

No exams or quizzes are planned for this course. However, if participation in paper discussions should drop significantly, short quizzes at the beginning of class time may be given to ensure that the material is being read.


Papers to Cover

The following are papers listed by topic. You should choose a total of 4 papers to cover (lead discussions) during the semester. Of the 4 papers, no more than 1 can be a short paper. Be ready to summarize 4 other papers.

Animation

Early papers

Crowd/Group behaviour simulation

Collision detection

Motion capture

Fluid and smoke simulation

Cloth simulation

Rendering

Advanced ray-tracing

Global illumination

Image-based rendering

Pre-computed radiance and relighting

Translucency and participating media

Non-photorealistic rendering

High-dynamic range imaging

Weathering

Modeling

Splines

Volumes

Multi-resolution surfaces

Point-based surfaces

Texture synthesis

Mesh parameterization & texture mapping

Simplification

Shape modeling

Procedural modeling

Shape matching

Computational geometry




Syllabus


Week
Date
Topic
Assignment
1
Jan. 22
Review of Rendering & Ray-tracing, Review of Shading, Overview of papersPick your papers
2
Jan. 29
Introduction to Animation, Squoosh & Squash, Spacetime Constraints Pick your projects
3
Feb. 5
Autonomous Pedestrians (Andrew P.), Groups with dynamics (Dan) papers
4
Feb. 12
Continuum Crowds (Andrew G.), Progressive Radiosity (Dan) email to Quynh project ideas by Feb.9, papers
5
Feb. 20 - NOTE DAY CHANGE!
Photon Maps (Lucy), Lumigraph (up to Section 3) (Cam), Unstructured Lumigraph Rendering (Cam) written proposals due Feb. 21, papers
6
Feb. 26
Perlin Noise (Murshed), 2D Texture Synthesis (Michael), Image-Based Visual Hulls (Cam) papers
7
Mar. 5
Volume Rendering (Lucy), Marching Cubes (Dan), Interactive Volume Rendering (Lauren) papers
8
Mar. 12
Spring Break - NO CLASSES work on projects
9
Mar. 19
Image Analogies (Lauren), Interactive Texture Mapping (Murshed) papers
10
Mar. 26
Surface Splatting (Andrew G.), Shape modeling (Lauren) papers
11
Apr. 2
Decimation of Triangle Meshes (Andrew G.), Progressive Meshes (Cam), Shape Distributions (Lucy) Interrim report due April 3, papers
12
Apr. 9
Direct Texture Placement (Lauren), Real-time lighting design (Murshed), Acquisition of Translucent Objects (Dan) papers
13
Apr. 16
Modeling by Example (Andrew G.), Subdivision Surfaces - Pixar Paper (Mike) papers
14
Apr. 23
Procedural Modeling of Cities (up to Section 4) (Michael), Procedural Modeling of Buildings (Michael), Painterly Rendering (Andrew P.)
15
Apr. 30
Rendering Pen & Ink Drawings (Andrew P.), WYSIWYG NPR on 3D models (Murshed), Suggestive contours (Andrew P.)
16
May 7
No Class
17
May 14
Final Exam: Project Presentations


Sample Projects

  1. Past projects

  2. Project resources

  3. Implement the algorithms described in any of the papers above or extensions to them (low risk). Please avoid repeating projects from past years. Some algorithms that are particularly amenable to a semester project are:

  4. Implement a distributed ray-tracer with anti-aliasing that handles transparencies, refraction, soft shadows and mirror reflection with user- controlled parameters for maximum recursion depth, reflectance coefficients, and material properties. (low risk)

  5. Survey of Simplification Algorithms. There are many simplification algorithms implemented and available on the internet. In this project, you would download and make necessary modifications so that the programs run. Then experiment on the various algorithms using 10 different models. You will need to analyze and write-up how these algorithms compare with each other. Under what circumstances (what types of models) does each perform well or not well. (low risk)

  6. Implement multiple autonomous agents based on one of the crowd/group behaviours papers. Modification of the published algorithm is encouraged for this project. For example, you can change the motivational or perceptual system of the agents. (medium risk)

  7. Implement an algorithm to warp volumes or surfaces. This project will include developing a user-interface to enable someone to define pairs of corresponding points and curves (probably defined by Bezier curves) between 2 volumes or surfaces. Using these corresponding points, intermediate volumes or surfaces are generated by the warping algorithm. Your program must also display the results by cycling through the initial, intermediate, and final volumes/surfaces. (low risk)

  8. Implement Image-based Flow Visualization to visualize three-dimensional flow fields. Part of this project will be developing user-interface components that allows a user to focus on specific layers or manifolds (surfaces) in the volume. (medium risk)

  9. Survey skeletonizing algorithms for meshes or volumes. There are many, many algorithms out there to generate a skeleton given a surface. Skeletons are useful for animation and object recognition. In this project, you will select some of the more popular skeletonizing algorithms, find existing code or implement the algorithms, and compare the results of the various methods when applied to a database of models (possibly 20 or so models). The number of algorithms you must compare will depend on whether you can find freely available code or whether you must implement the algorithms yourself. If code is available online, you will spend more time on analysis - on developing metrics for comparing the skeletons to determine which skeletons are good. (medium risk)

  10. Use Photon Maps for cartoon/comic lighting effects - highlight lines for increased light emission, bold lines for shadows, squiggles for caustics. Part of this project involves first defining what cartoon/comic lighting effects look like, then using photon maps to target areas in the scene for cartoon lighting effects, and finally, developing a procedural method to automatically generate the corresponding comic effect. An implementation of photon maps is available on the internet. This is a new topic, and the outcome is not clear. (medium-high risk)

  11. Improve the parameterization of a polygonal surface through attractive and repulsive forces. In this project, you would use an existing method (and code) to texture map polygonal surfaces, and improve the texture mapping by creating repulsive forces in regions where the texture is compressed and attractive forces in regions where the texture is stretched. (medium risk)

  12. Develop a shape signature for parametric surfaces. Shape signatures are used in shape matching applications to speed up the comparison of shapes. This project is viable only if we can find a good source of parametric surfaces. Our TA Lucy is currently looking for a database of parametric surfaces or code available online that will convert polygonal meshes into parametric surfaces. (medium risk)


Resources