I'm still with the stationary wave and its vertex normals...
After many failed attempts I think I'm finally on the right track.
To get decent shading and texturing of the wave surface involves producing its mesh vertex normals, tangents and binormals. This is not too bad in the case of wave meshes which have been produced via a function (e.g Gerstner or Sum of Sines), but in my case the surfing wave has been produced by procedural curves whose shapes are controlled by user constants, giving rise to both convex and concave sections. I have had to take each and every triangle face comprising the wave mesh and calculate its vertex normals, tangents and binormals. This calculation is performed in the CPU...but the problem I had was in transferring the results to the vertex buffer to feed the GPU wave shader every frame.... 1024 x 64 vertices was just too slow!
I then hit upon the idea of building three RenderTextures... one for Position, one for Normals and one for Tangents....each RenderTexture holding the X,Y,Z values encoded into the texture's R,G,B channels. These RenderTextures are read and decoded by my wave shader, and the whole operation is a good deal faster.
Here's a few pics of my textured wave... still very experimental at this stage. The three RenderTextures are shown.
I need to add some translucancy to the wave and really have no idea... so if anyone can advise in that regard?