I am implementing a water simulation program using OpenGL. However I could not decide which technique to use for reflection and refraction. The water is wavy and there are dynamic objects around the water.
First, I considered dynamic environment mapping. However, it seems that it is not quite suitable for small environment, because the close objects are not reflected correctly.
Second, I considered SSR technique, but it does not reflect non visible objects and because realism is more important than performance for this project I gave up on SSR.
Is there any other good algorithms to do reflection and refraction?