To apply my effect, I should draw only several specific objects into a RenderTexture, with their material, and then use the RenderTexture as a texture for an another object. I think Graphics.DrawMesh() and Graphics.SetRenderTarget() would be helpful.
In other words: I want to create a refractive water, which will refract only specified GameObjects, not layers. How can I do this?