Acredito que uma solução comum é dividir a transformação de câmera usada para projetar a grade da transformação de câmera usada para renderizar a grade. Em perspectivas próximas de cima para baixo, as duas câmeras coincidem, mas quando a câmera de visualização se aproxima de uma perspectiva horizontal, a câmera de projeção se desvia e tenta manter uma inclinação mínima, ou seja, paira em algum lugar acima da câmera de visão e olha levemente para baixo.
A parte complicada é garantir que o campo de visão da câmera de projeção sempre cubra a região da cena vista da câmera de renderização. Não tenho um recurso em mãos que detalha como calcular as transformações apropriadas, e pode ser entediante derivar manualmente.
Uma solução diferente é pegar a caixa de ferramentas de processamento de sinal: os artefatos vistos na sua imagem são essencialmente aliases, causados pela amostragem insuficiente do campo de altura da onda pela grade projetada. Portanto, uma solução é filtrar o campo de altura adequadamente, dependendo da área projetada de uma célula da grade. Acredito que isso seja usado na renderização offline de oceanos e, essencialmente, garante que as ondas no horizonte fiquem planas. No entanto, não tenho certeza de quão viável isso é na renderização em tempo real, pois você precisaria de filtragem anisotrópica de alta qualidade para tornar essa abordagem razoável.