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.