Rendered in real-time in Unreal Engine 5. Blender’s Ocean generator was used to procedurally create the ocean textures/normal maps, as well as the animated vertex displacement data, which was then imported into UE5 using alembic geometry cache.
RTX ray-tracing was used for the ocean reflections. Quixel Megascans assets for the rocks and cliffs. Lumen for dynamic real-time GI and Nanite for optimising solid meshes.