Water rendering is becoming more and more popular during the last few years due to increased GPU performance. Now, we are capable of rendering anything realisticly, but not all in real-time. Since water can't be rendered as a geometry realisticly and efficiently its recommended to use other techniques, such as particle based techniques like metaball or image space blur.
Throughout the thesis I discuss various options for fluid rendering and examine them in detail if they can be used for real time fluid rendering. Since most techniques lack in detail or use an approximation, the use of these techniques are restricted for video-games or entertainment media softwares, but not for realistic fluid rendering.
The most realistic output can be reached using metaball particles, but it's very expensive since metaball calculations are very GPU consuming. Raymarching is also a contra, since we can't compute the collision of the ray, we need to search it step by step. Optimalizations can and must be used for a real time output.
The thesis discusses all the optimalizations that can be made for metaball water rendering and examines their implementation. The starting position and the limit of the ray, binary searching, screen space uniform grid, shader optimalizations. For the realistic detail raytracing is needed, but since the priority is real time we must make a sacrifice leaving realism behind. We use an approximation for the refraction and reflection modell.
After examining the metaball rendering technique we discuss image space blur technique, that also uses particles but does not connect them realisticly, it uses bilateral blur, making a nice, but not realistic output.
Both techniques have pros and contras, they're also discussed in the thesis.
Real-time fluid rendeing can be reached on a Personal Computer.