next up previous contents
Next: 4.8 Picking and Highlighting Up: 4 Geometry and Transformations Previous: 4.6 Preventing Clipping of   Contents

4.7 Distortion Correction

A workstation user with a single monitor and a monoptic visual will usually sit in a location relative to his or her screen that closely approximates the single symmetric frustum typically supplied to OpenGL as the view model.

In visual simulation applications with curved screens (``domes''), virtual reality ``caves'' and the like, and any situation where the projection unit, projection surface, and viewing parameters don't correspond to a symmetric static frustum, some correction will be required to make the visible image seem accurate and visibly consistent.


% latex2html id marker 2764
\fbox{\begin{tabular}{c}
\vrule width 0pt height 0.1...
...}}{\small Figure \thefigure . A Complex Display Configuration}\\
\end{tabular}}

Visual inaccuracy is caused by the difference between the observer's view of the surface and the video projector's view of the surface, and is exacerbated by a non-planar screen surface, such as a spherical shell.

If the display surface has no skew component to it, like an ordinary computer monitor or a video projector which is aligned perpendicular to the screen, but the observer's view direction is not perpendicular to the screen, use an asymmetric frustum. This can be accomplished by providing appropriate $left$, $right$, $top$, and $bottom$ parameters to glFrustum() that form a near plane which is not centered on the $z$ axis.

If the display surface is askew, as it is if the projector is located above the observer as in a movie theatre, the perspective distortion in the projection must be corrected. This can be accomplished by rendering the scene using an asymmetric frustum as above, storing the rendered scene as a texture, and then drawing a quad textured scene with a projective texture matrix corresponding to the off-center video projector frustum.


% latex2html id marker 2780
\fbox{\begin{tabular}{c}
\vrule width 0pt height 0.1...
...figure . A Configuration with Off-Center Projector and Viewer}\\
\end{tabular}}

Finally, if the display surface itself is non-planar, like the spherical and cylindrical screens used in some flight simulators, a combination of the above technique and image warping is required to produce an accurate image.


% latex2html id marker 2788
\fbox{\begin{tabular}{c}
\vrule width 0pt height 0.1...
...gure \thefigure . Distortion Correction Using Texture Mapping}\\
\end{tabular}}

You may have to render a larger image than will finally be viewed so that the warped image does not contain any blank areas.

For further information on imagewarping and dewarping, see Section 6.18.


next up previous contents
Next: 4.8 Picking and Highlighting Up: 4 Geometry and Transformations Previous: 4.6 Preventing Clipping of   Contents
2001-01-10