Yes.. This is a great shader. Thanks for making the code available!

Matt: Maybe you can get some ideas from this place:
http://www.gamedev.net/community/forums/topic.asp?topic_id=253039

This Yann L. guy, says:
Quote:

Assuming your water plane is at y = 0, and y is the up axis, then the easiest method is to simply multiply the view matrix with a mirror matrix like this one:

1 0 0 0
0 -1 0 0
0 0 1 0
0 0 0 1


That will flip the geometry (or the camera, it's the same, just seen from a different coordinate frame) around the Y axis.

If your plane is not exactly at y=0, then you need to adjust the translation part accordingly.






I have never worked on implementing it, however.