I'm currently rendering reflections to my water by using projective texturing. To render the reflection map, I am reflecting the camera about the plane of the water and updating the view matrix accordingly. However, I'd prefer to do it while keeping the view matrix constant and not moving the camera about. Is there a way of doing this by reflecting the geometry? Simply multiplying the world matrix by a reflection matrix (calculated using D3DXMatrixReflect) doesn't seem to work. Here's the scene as rendered from the camera's point of view:
[attachment=16090:goodscene.jpg]
...and the associated reflection map created by moving the camera:
[attachment=16091:goodreflect.png]
Finally, here's the reflection map I get when I keep the camera in the same place but use D3DXMatrixReflect to reflect the geometry about the plane of the water:
[attachment=16092:badreflect.png]
To get this, I'm doing: world*reflection*view*projection, and as you can see, it comes out looking quite wrong! Is there something obvious that's going wrong?
Thanks.