Shallow Water Simulation and Visualization on the GPU