@Emre: do you know how Crysis is doing this? I just used the distance between the water surface and the terrain for my demo, but this gives some hard edges. I also thought about using a heightmap of the terrain to avoid that, but this would be less dynamic and would not work if I add some other models...