I'm currently working on a water rendering project with XNA (DirectX9) and I spend a lot of time on a problem that I don't understand.
In my project, I render a terrain and an horizontal plane that represent the water. I'm currently trying to create the refractive texture that I will apply to this plane. To do that, I used a render target in which I render the part of the terrain that is under the water plane (clipping => into my HLSL file, during pixel shader operation). I transform this render target into a texture that I apply directly on the water plane.
The result that I would like to have is exactly the same than if I didn't draw the water plane, I just want to see the terrain that is under the water (no light beam deviation for the moment). But for now, I have a very strange result. I record some video to show you, it's better than any explanations: http://www.youtube.com/watch?v=XGesGvEnAEg
Here is the code of the HLSL file of refraction: https://gist.github.com/Noxalus/8213296
Do you know from where the problem come from?
Thanks in advance for your help!