Each room can have one reflecting plane. The room is then mirrored on that plane in a rendertarget and the not usable part is cut off with a clipping plane.
In the main render buffer a stencil value is set on the areas where the mirror-polygons are. Last step is to copy the rendertarget back to main buffer on places where stenicl value is set, with a reflection factor from 0% - 100%. This can be set in our modeler(Lightwave) in the reflection channel of the surfaces.
I made a quality switch for the rendertarget from 0-4, where 0 renders the mirror with full resolution and all lights and pixelshader effects, 1 full resolution without extra lighting, 2 half resolution, ...
Video shows both water pools from Aquapark with reflecting water and you can hear some MUSIC we plan to use in RageHard[smile]
Video : Water reflection(26MB)
- Dan