First things first, great art afecelis.
Well both methods have advantages, the afecelis method has theses
postives:
-low requirements
-easy and unobtrusive to simple rendering sequences like irrlicht's
-no rendertargets (but new internal targets such as p buferrs and fbo's are quickly approaching "normal" performance
-vertex transform costs are out of question if instancing is used(i think its directx only) this means the gpu only needs to draw both the reflected and normal scenes and very little transforms (less than transforming both scenes)
negatives:
-you are practically rendering twice the surfaces with twice the textures being rasterd= twice the fillrate etc....
-you rendered the scene twice but with no effects on the floor!, only non shader effects can be used to make the floor have other properties than reflection
- this isnt really a negative but just make sure even dynamic objects are copied so you can get dynamic reflections
the render target method:
postives:
-you can have the render target at a lower resoltion, so yes you are rendering the scene twice like the above method but you are rendering maybe 1.5x pixels rather than 2x pixels.
-applying shader effects is easy and a good oppurtinity to show some eye candy.
negatives:
-rendertargets are slow
-hard to implement
-requires shaders
-rendering sequences are getting complex
-im not sure you can do instancing in across two rendertargets (framebuffer and texture target).
I think its obvious which method to use now
![Wink :wink:](./images/smilies/icon_wink.gif)
but if you want fancy floors with fancy reflection distrorting shaders then us method 2.