It's easy and intuitive to imagine that a reflected scene is made up of ``virtual'' reflected objects. As shown in and Figure 55, the full scene can be thought of as a combination of the reflected scene painted ``behind'' the mirror object and the original scene.
The process of drawing a scene with a single reflector can be broken into two steps: creating virtual reflected objects from non-reflected objects, and then drawing the virtual objects within our original scene.
A reflected ``virtual'' object can be created by calculating a ``virtual'' vertex for every vertex in the original object. Several techniques of increasing sophistication for finding these vertices will be discussed, including the simple case of a planar reflector, curved surfaces with algebraic definitions such as spheres and cylinders, and arbitrary curved surfaces approximated by triangles. Beware that reflection will reverse vertex ordering for the faces in the object, so the face culling state for the reflection scene must be set to the reverse of the state for the original scene.
Once a reflected object's virtual vertices have been calculated, there are several techniques for rendering the reflected object within the scene. Clip planes may be used in restricted cases, the stencil buffer may be used as an arbitrary clipping region, or a texture map may be projected onto the reflector, using the reflector's edges to clip the reflected image. These techniques will be discussed in detail in the following sections.