next up previous contents
Next: 11.2.2.4 Cheap Per-pixel Lighting Up: 11.2.2 Dual-Paraboloid Environment Mapping Previous: 11.2.2.2 Using Dual-Paraboloid Maps

11.2.2.3 Advantages and Disadvantages

The main advantages of the dual-paraboloid map approach compared to the sphere map approach are better sampling of the texture environment, the elimination of sphere mapping's sparkle artifacts, and view-independence. The last advantage is important because it allows the viewer, environment mapped object, and the environment to move with respect to each other without having to continuously regenerate the dual-paraboloid map. The disadvantage of the dual-paraboloid map approach are that it requires two rendering passes or the use of multitexturing. Also constructing the dual-paraboloid map requires warping two textures instead of just one.

 

% latex2html id marker 12828
\fbox{\begin{tabular}{c}
\vrule width 0pt height 0....
... \thefigure . How Cube Map Faces Map to a Dual-Paraboloid Map}\\
\end{tabular}}

 

% latex2html id marker 12834
\fbox{\begin{tabular}{c}
\vrule width 0pt height 0....
...e Texture Warping Mesh for Constructing a Dual-Paraboloid Map}\\
\end{tabular}}

Even though they are view-independent, dynamic generation of dual-paraboloid maps is still necessary if you want the environment to be dynamic. The same texture warping approach that is used to construct sphere maps can be applied to generate dual-paraboloid maps though the mesh used is different. Figure 77 shows how cube map faces are arranged within the two dual-paraboloid map texture images, and Figure 78 shows what the texture warping mesh pattern looks like.

To help in the construction of the texture warping mesh, the dual-paraboloid mapping functions for converting a reflection vector $\vec{R}$ to the front and back 2D texture coordinates (s,t) are:

\begin{eqnarray*}\mbox{{\em front side:}} \\
s & = & \frac{R_x}{1-R_z} \\
t & ...
...\
s & = & -\frac{R_x}{1+R_z} \\
t & = & -\frac{R_y}{1+R_z} \\
\end{eqnarray*}


The reverse mapping is:

\begin{eqnarray*}\mbox{{\em front side:}} \\
R_x & = & \frac{2 s}{s^2 + t^2 + 1...
...s^2 + t^2 + 1} \\
R_z & = & \frac{1-s^2-t^2}{s^2 + t^2 + 1} \\
\end{eqnarray*}



next up previous contents
Next: 11.2.2.4 Cheap Per-pixel Lighting Up: 11.2.2 Dual-Paraboloid Environment Mapping Previous: 11.2.2.2 Using Dual-Paraboloid Maps
David Blythe
1999-08-06