Option three: Create a copy of each material/ shader that has an object which penetrates the water surface. Then add something like clip(inPos.y-waterheight_var); in your pixel shader of said materials and preferably only use those materials in the reflection view (ENABLE_TREE and similar flags plus material events and render_view).
"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual