To simulate and render a realistic water surface in real time and in 3D using exclusively the GPU: to compute the movements of the water and its reflections/diffractions/refractions properties, and to render everything in 3D using vertex and fragment programs. More specifically, the simulation part will generate a height field that will be used to do displacement mapping (per vertex or per pixel). Others vertex/fragment programs will be use to add reflections/diffractions/refractions, etc.
Simulating and rendering water is a complex problem due to water's physical properties. And it requires a tremendous amount of processing power. By now, GPUs are becoming extremely powerful, so it could be a good idea to offload most of the workload from the CPU to the GPU.
I chose that project for two reasons. First, I'm absolutely fascinated by the sea, and everything that's related to water. Second, since the release of the GeForce 3 I really wanted to learn how to use the vertex/pixels shaders, but I never had time to do so. So I think this project will allow me to explore in-depth vertex/fragment programming while dealing with something that I really like.
A lot of work has been done in water simulation and rendering.
On that point I'm not really sure. A lot of work has been done on water simulation and rendering, but I didn't find any paper/project where you have displacement mapping and simulation done on the GPU. Usually displacement mapping is used to render realistic water without real simulation (faster than using FFT, and still looks cool/realistic).
I plan to show at least one demo of my work (3D scene with animated water surface), and a set of slides describing the different techniques I used, and how I implemented them.