I have previously created a scrolling terrain gridmap which consists of 3 nested levels of grids. For reference, here are examples of the program without matching colors, with matching colors and with procedurally generated farmland.
I have been trying to create an animated ocean. Here is a version created using a variation of the method shown here by prisoner849, which involves modifying a segmented plane and copying the plane to the grid locations. However, when viewed from altitude, the result seemed repetitive. And adding noise to the equation created gaps between the planes.
Lately, I have been experimenting with the Gerstner wave variation of Ocean which generates waves on a Segmented Plane. I tried using this program to create a 2X2 grid of identical segmented Planes which appears fairly seamless. (This is helped by the fact that the basic Ocean plane is flat and the waves - which modify the plane geometry - can be aligned in directions which are a multiple of 45 degrees).
However, when I scroll out or try to expand this to a larger 16X16 grid, I quickly run into framerate problems. I have reduced the number of segments in the plane from 512x512 to 64x64, shown here, which helps a bit.
What is the best way to do this?
It seems that I should be able to use the Ocean program to generate a single Segmented Plane which I can then copy to all of the grid locations (ideally using the GPU). Or will cloning all those copies simply take too much time? (My target framerate is 60 fps.) I could try further improvements by making copies only for grids that are visible, switching to larger grids etc.
But, before continuing to stumble through this process, I wanted to see if there is a better way to do what I am trying to do.
If it would help, I would be willing to trade off some of the features of ocean which I don’t need. For example, I don’t need as much mirroring as the program offers. I am trying to create a slightly rougher version of the ocean shown below - which has very little mirroring, if any: