Water Simulation

Particle simulation and water rendering.

This project focused on creating simulated water that could be used to fill any existing mesh. The water simulation is a PBD particle simulation powered by NVIDIA's FleX engine. Diffuse (foam) particles are created when neighboring particles have kinetic energies above a certain threshold. The particle data was converted to a surface mesh using the marching cubes algorithm. Then the water was rendered with a modified path-tracer. The water rendering includes reflection, refraction, shadows, Beer-Lambert coloring, and fake caustics applied from a texture map.