Table of Contents

Finally I have managed to publish my awesome water simulation! I know that I wrote about my intentions to publish the project some time ago but as usually there was no enough time :)
The code is quite old and was ready something like 2 years ago. As usually I wanted to polish it and thanks to that it was blocked for too long period of time. This post only introduces the project features and gives general description.

Features

  • Water simulation done on the GPU - shaders
  • Height map based
  • Normal mapping with Phong Shading
  • Uses GPU timer queries
  • OpenGL 4.2 Core
  • FreeGLUT + SOIL + AntTweakBar + my framework

Basic flow of the animation is below:

As you can see the whole process consists of updating the height map data (using double buffering) then calculating the normal map. The result is applied onto a quad (only four vertex) using normal mapping and Phong shading.

Code and Repo

Application is based on my simple framework, and whole thing can be found at

https://github.com/fenbf/simpleWater

Screens

Video

This is actually my first video on YouTube! :)

Todo & Ideas

  • Improve camera and add more controls/view options.
  • Add environment!
  • Reflection and refraction.
  • Surface rendering with tessellation