Final Project Suggestions: -------------------------- These are some *suggestions* for final projects. You are free to simply pick on of these, to do a variation of one of these, or come up with your own idea. Whatever you decide to do, you must clear the idea with either one of the TAs or the Professor. In general projects can be done in groups of up to three people. You are responsible for managing your own groups, and we expect slightly more ambitious projects from a three person group than we would from a loner. Photon Mapping Implement a basic global illumination renderer using photon mapping. Spline Modeling Write an interactive modeling program for building spline models. Variations in this idea might be subdivision surface modelers or polygon modelers. First Person Shooter Author a first person shooter game like Quake or Halo. Simulation Write a cloth, rigid body, or smoke simulation program. You can either develop an interactive program or an offline simulation for making animations. Radiosity Write a rendering program that uses radiosity to generate a diffuse solution that can be used with your ray tracing assignment. Open Source Contribution Write a useful, graphics related, extension for some open source project. This project should be related to graphics. Examples include: Gimp, Skencil (a.k.a. Sketch), Pixie, or Dia. Bonus points if the project maintainer incorporates your work. Hardware Something-Or-Other Use a high end GPU to accelerate some *interesting* computation. You need to come up with your own hardware to work with. Non-Photorealistic-Renderer Implement a renderer that generates some interesting rendering style. Inverse Kinematics Write an inverse kinematics solver and use it to do something interesting. For example, last year someone made a nice spider that could be walked around on computer generated terrain. Surface Simplification implement an algorithm for simplifying a polygonal surface. More to come....