Simple Water Simulation
Table of Contents
Finally I have managed to publish my awesome water simulation! I know
that I wrote about my
to publish the project some time ago but as usually there was no enough
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.
- 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
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
Links and Resources
- [PDF] Fast Water Simulation for Games Using Height Fields Matthias Müller-Fischer
- vterrain documentation
I've prepared a valuable bonus if you're interested in Modern C++!
Learn all major features of recent C++ Standards!
Check it out here: