Though if it's procedural, they can generate the ocean mesh chunk by chunk during runtime, and discard the mesh when out-of-view. Certain procedural algorithms can, given a state, generate a low-res mesh, and then procedurally generate more and more detailed versions (higher LOD) of that same mesh when needed.
I cant say for sure but they probably used some LOD system similar to the ones used in terrain rendering where the ocean is divided in patches with different LODs based on distance from camera, etc.
Thank you! I managed to get the following from a dev on twitter:
He says the ocean is 1 mesh on a plane - which is procedural and done by a pixel shader (runtime-generated). I think you hit the nail on the head. He also says they used LOD's between shallow/deep water oceans and further waves are lesser detailed but detail only as the boat gets closer to the water.
Procedural seems to be some kind of code that "Streams" or processes graphics differently, am I right Servant? Not understanding how that exactly works when an ocean is 1 plane and generated "procedurally"