So I decided I need some ocean, and came across a technique called Screen Space Projected Grids. Basically a plane is placed infront of the camera and then projected to the worldspace water plane. This page explains it quite nicely: http://jeremybouny.fr/en/articles/screen_space_grid/
For the heightfield I use FFT computed on the GPU using compute shaders, currently with a resolution of 128x128 per dimension. (Code: https://github.com/tobspr/RenderPipeline/blob/master/Code/Water/GPUFFT.py)
The shader effect-code is here: https://github.com/tobspr/RenderPipeline/blob/master/Effects/Water/ProjectedWater.effect:
Results (shading done by my pipeline):