CS 638: Graphics II

Class time/location: Tuesdays 6:15-8:45pm, Lieb Building 2nd floor conference room (just ring the bell to be let in)
Prof. Quynh Dinh
Office hours: Tuesdays 2-3pm, Lieb Building rm 302. All other times by appointment.

Animations (~94MBytes)

Assignment 1 grades

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 lists of papers that should be covered in class. Please choose at least 2 papers from the Long Papers list and no more than 2 papers from the Short Papers list. Additional papers of interest are listed in the next section categorized by topic. After choosing papers here, choose another paper from the additional papers or a paper from the Long Papers list.

You should choose a total of 5 papers to cover (lead discussions) during the semester.

Long Papers

Shorter Papers




Additional Papers by Topic


Animation

Advanced Ray-Tracing

Global Illumination

Lighting

Image-Based Rendering

Texture Mapping & Synthesis

Volume Rendering

Non-Photorealistic Rendering

Simplification

Modeling

Computational Geometry

Solving Linear Systems on the GPU




Syllabus

Links below are to original papers on the specified topic. They form part of the reading assignments for this class.
Week
Topic
Assignment
1
Review of Rendering & Ray-tracing, Review of Shading, Overview of papersPick your papers
2
Introduction to Animation, Squoosh & SquashPick your projects
3
Flocking, Spacetime Constraintspapers, Flocking summary, Spacetime summary
4
Distributed Ray-tracing, Photon Mapsproject proposals due Feb.11, papers
5
Quick-Time VR, Perlin Noise, Perlin Hypertexture papers,Quicktime summary
6
Lumigraph, 2D Texture Synthesis papers,Perlin Noise summary, Lumigraph summary
7
Image Analogies, Opera Lighting papers
8
L-Systems: Procedural Modeling of Plants, Procedural Modeling of Cities papers
9
Subdivision Surfaces - Pixar Paper, Progressive Meshes papers
10
NO CLASS - Spring BreakInterrim report due March 29
11
Fish Simulation, Smoke Simulation papers
12
Painterly Rendering I, Stylized Rendering Techniques for Scalable Real-time 3D Animation, (related paper Interactive Technical Illustration) papers
13
Volume Rendering, Marching Cubes papers
14
Spin Images project presentation, Interactive Volume Rendering
15
No Class - work on your projects!
16
Final Exam: Project Presentations (Note the special time!)


Sample Projects

  1. Distributed Ray-tracing. If you have a basic ray-caster, add recursion, distributed ray-tracing, shadows, and transparency. (low risk)
  2. 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:

  3. 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)

  4. Using Photon Maps for cartoon caustics. An implementation of photon maps is available on the internet. In this project, you would use this implementation to generate a photon map of the caustics in the scene. With this photon map, you can generate cartoon/comic style renderings of the caustics. This is a new topic, and the outcome is not clear. You will need to first determine how caustics and specular reflections are drawn in cartoons. (medium-high risk)
  5. Use spin-images (developed by Johnson etal.) to match features of 3D shapes. In this algorithm, each point on the surface has an associated spin-image depicting the relative positions of all other surface points. Spin-images can be used to compare the similiarity of points on surfaces. This method may be extended to match surface regions rather than just points. (low risk)

  6. Implement 4 different ways to warp an image. Image warping is used to morph or transition from one image to another. Warps are often defined by a vector field which describes how the pixels of an image moves in changing from a source image to a target. The vector field can be automatically generated from a sparse set of vectors defined by the user. The user defines this sparse set by specifying pairs of corresponding feature points between source and target. In this project, you will implement 2 standard warping algorithms, and 2 experimental algorithms. (medium risk)

  7. Synthesizing features on evolving geometry using texture synthesis applied to 3D geometry. This project involves classifying and identifying features geometrically, then replicating, and blending features to existing geometry. (medium risk)

  8. Using implicit functions to represent volumetric data. In an implicit function, the surface exists where the function evaluates to 0 (or some other constant). Implicit functions have traditionally been used to represent surfaces, but they are actually a volumetric representation. In this project, you will develop ways to use implicit functions to represent volumetric data from medical scans - first in 2D, then in 3D if time permits. (high risk)

  9. Improving the parameterization of an implicit surface through attractive and repulsive forces. In this project, you would use an existing method (and code) to texture map implicit 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)


Resources