Project ideas

From Mark Harris:

1) The "Blur Buffer". This is an idea Russ had and shared with me because of my experience with programming GeForce 3 hardware. A document that we passed back and forth describing it in a bit of (rough) detail is attached. The basic idea is to render blur parameters to a texture, and to use those to do non-uniform convolution of another image in programmable graphics hardware, resulting in various types of blurs, including depth of field and motion blur.

2) Real-Time Sky color computation and rendering. This is a pet project of mine that I actually played with in my spare time at NVIDIA this summer.Lot's of papers have been published on rendering the sky under different conditions. Most of them have clever approximations. Some use flat earth approximations; some try to render the earth's atmosphere from outer space and so use different approximations. I think that it is now possible to get realistic sky color in real time on programmable graphics hardware. My dream is to have a system that would allow you to interactively fly up from the surface through the atmosphere and out into space, then look back, and all the while the color of the atmosphere would be computed to look real. This would could probably be done by using different approximations at different points, and smoothly blending between them at the transitions. I would love to have even a low-altitude system that I could plug into my cloud demos. I have lots of references and ideas on this to give.

3) Realistic real-time facial rendering. ATI and NVIDIA people have both created demos to show off how realistic they can make peoples' faces look. They combine BRDFs (maybe with scattering), environmental lighting, etc. But I've noticed some features that stand out as still very CG. One is the eyes -- they are too shiny. It would be interesting to get eyes that look real in real-time. Other features are troublesome too -- like lips and
tongues, etc. I haven't thought a whole lot about it, but it might be interesting

From GB

4) Varifocal mirror 3D display. I'd like to revive it as a demonstration system. There are several parts to this. There is a challenging systems problem with what kind of CRT to use and how to drive it from a computer. Then there are some interesting opportunities to display various kinds of data on it (clouds of points, lines, text).

5) A ray-tracer capable of handling lenses and mirrors with a simple file format for describing them.

6) Your project does not have to be a PROGRAMMING project. A nice web page explaining a subject thoroughly could make an acceptable project.

7) A nice framework for 2D and 3D scientific graphs with capabilities similar to Matlab could make a cool project.