I actually managed to modify your existing VertexColorsIBLDiffuse shader to add the vertex animation. The animation logic in the vert function is taken from this post. It looks decent, though I feel there is probably other logic out there that might produce better waves, and I'm not sure how it compares to the SurfaceNoise script since I never tried it. It works for my purpose though, and should be more performant since it's a shader. Also, the lighting seems to be okay for me, but I may be missing something, and obviously this isn't using reflection or transparency, so there is still some investigation you'll have to do! But hopefully this is helpful. Cheers!