Submitted by , posted on 16 October 2002

Image Description, by

The above image is one of several 3D reflection techniques that i have been implementing in my free time. I called the technique used to generate the above images Virtual Camera Position (VCP). Its a multi-pass rendering technique with the 1st pass rendering the reflection to a render target (e.g. texture surface) from the "Virtual Camera Position" behind the mirroring plane. The reflections generated depends largely on the calculations of the projection and view matrices from the VCP to the mirror vertices. The VCP reflections if done properly is very accurate and almost pixel perfect. Well, not pixel perfect all the time, the texture that holds the reflections have limited resolutions. When you get really close to the mirror, the image quality degrades. The top image showed a perfect reflection of the floor texture since the bottom edge of the mirror is touching the floor. The bottom image shows a reflection from a position near the floor that revealed objects at the top of the scene behind the camera.

Another plus for VCP is that there is absolutely no limitation on where you can place the mirror in a scene. Objects can be placed anywhere in the scene (behind or infront of the mirror) and the mirror's reflection can be guaranteed to be correct. The planar mirror could be of any orientation as well. Moving, rotating or dynamically resizable mirror is also possible! You can find a paper i wrote on this implementation here The discussion on this paper centers on the sample implementation which generated the above images. The sample application is done in DirectX 8.1 and the scene is done by me using MilkShape3D and some free textures. Please forgive me that the scene sucks! Its programmer art ;-). Yen Kwoon, Hun

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.