A Real-Time Ocean Simulation Engine written in Java that uses OpenGL and OpenCL.
This is an implementation of the Gerstner waves algorithm in Java that uses a renderer I wrote in OpenGL and OpenCL.
This project is meant for educational purposes. During the development I referenced the Crest Unity Addon in order to understand the Gerstner waves algorithm as well as the general graphics pipeline and it's optimization.
- Uses an OpenGL renderer
- Uses OpenCL kernels to combine different wave frequencies into one texture
- Implements a Level of Detail system
- Has Sub Surface Scattering
- The Ocean mesh follows the camera allowing for infinite Oceans
- Currently only works on MacOS