Project Proposal

The term project proposal will be due 11:00pm, April 4 (Wed), and it's worth 10 points.

 The slip days don't apply to the proposal, but the other late
policy (which you can find in General Info) applies.

It's time to figure out your idea about the term project. There are a
variety of CG topics from which you can choose one to work on for your term
project. Also you can find a paper and implement its idea by your code.
Although you're free to select whatever project, please be careful not to be
too ambitious: you'll have around one month to work on your project, part of
which time is overlapped with the Ray Tracer assignment, and you'll need to
cope with other class(es).

The term project should be generally done in pairs or in a 3-person group,
but it may be done individually if desired. For the term project, you may
work with partner(s) with whom they worked for the assignments if you wish.

You can informally discuss your term project idea with TAs or Prof. Barsky,
either after the sections or the lecture, or in office hours. Since Mao's
regular office hour is on Thur (which is after the due time for the
proposal), he'll hold a special one at Soda 411, 1:00pm-1:55pm, April 3
(Tue), in which time you're welcome to talk in case you cannot make it to
any other time slot. You also have the option to send email to one of TAs to
render you idea.

Just like submissions for programming assignments, you'll formally turn in
no more than 1 page of text describing your project using the submit command
on your instructional account, which includes:

1. Name(s) and Class Account(s) for the project

2. Project Title

3. Description / Overall Goal: for instance, "Make a fluid simulator", "Add
photon mapping to your ray tracer", "Implement such a paper that performs
such a task"

4. What sources you will be drawing from. For instance, "Jos Stam's Stable
Fluids Paper", "Henrik Jensen's Photon Mapping book", "Some textbook you got
at the library", and link(s) to the paper(s) if necessary.

5. A list of subgoals. Think through the steps required in implementing the
project. Add optional steps at the end that you will do if the first steps
end up being easy.
  Example 1: 1) Trace photons 2) Create Photon Map KD-tree data structure 3)
Estimate Photon Density 4) Optional: Add Jensen's caustic map speedup
  Example 2: 1) Implement Stable Fluids in 2D a) Advection b) Pressure
Projection c) Diffusion (Optional) 2) Implement Stable Fluids in
3D (Optional) 3) Render the fluid to look like smoke

6. Which libraries you might need. For example, OpenGL, Direct3D, Various
linear algebra libraries, such as LAPACK, Some kind of GUI library: FLTK,
QT, MFC