The last parameter in the constructor decides between precalc (false) and not (true). Default in the example is false. I don't get that part with shore and surface...if it moves on the shore, the surface moves. Just execute the example and you'll see. Maybe your lighting is done in a way, that it's just not noticable? Try to render wireframe mode and see how that looks like. You should see the movement.
Apart from that, consider to increase Config.glDynamicBatchSize (to 2000 or 4000 or...). It might help speed wise. I've modified the source code in my post too.