2. Ideal Image Capture and Display

2.1. Ideal Monoscopic Effect

When computing an image from a 3D scene using a perspective matrix, a central projection is used to transform 3D points into 2D points. (See Figure 2-1.)

With a monoscopic effect, the projection plane can be placed at any distance from the center of the camera. The window content is rescaled to match the viewport size.

When a picture is displayed in a viewport, the ideal viewing position is at the point where the viewport has the same angular appearance as the window from the center of projection. The only degree of freedom for ideal display configuration is scale. Increasing the display size increases the ideal viewing position distance to the screen proportionally.

Figure 2-1. Top: Capture Configuration; Bottom: Ideal Display Configuration

Capture Configuration    Ideal Display Configuration tion    Ideal Display Configuration

 

The ideal viewing position is usually when the user is in front of the center of the screen, at a particular distance. This leads to the use of cameras that have a symmetric frustum, and where only field of view (FOV) is taken into account. However, it might be necessary to use an asymmetric frustum when the viewport does not cover the entire screen.

For the sake of simplicity, the following sections assume that the viewport covers the entire screen.

However, viewing a picture from a position that does not match the ideal viewing position does not break the comprehension of the picture. In fact, this effect can be used artistically. For instance, cinema frequently uses different fields of view to convey different impressions to the audience. Some special effects can be performed by changing the field of view dynamically. (A common example is the dolly zoom.)

2.2. Ideal Stereoscopic Effect

3D viewing is performed by displaying two images on the same screen. One image is seen by the left eye, and the other by the right eye.

You can achieve an ideal stereoscopic effect by displaying the images such that the ideal viewing positions in virtual space match the positions of the eyes of the user in the standard viewing position.

The standard viewing position of the user is in front of the center of the screen. In this configuration there is horizontal symmetry. The standard eye positions are then positioned on each side of the center line. (See Figure 2-2.)

Figure 2-2. Standard Viewing Configuration

Standard Viewing Configuration  Viewing Configuration

A stereoscopic camera comprises two base cameras that match the standard eye positions in virtual space.

An ideal stereoscopic camera is created by horizontally displacing two base cameras so that they match the eye positions and FOV of the user in the standard viewing position.

However, one degree of freedom remains. The virtual window can be placed at any distance from the center of the camera (see Figure 2-3). As the developer, you must determine the position of this window for stereoscopy. You must decide which plane in virtual space will be the plane of the screen, and which objects will appear on, behind, and in front of the screen. Changing the window depth (that is, its position) changes the apparent size of displayed objects.

Figure 2-3. Left: Base Camera Configuration; Center: Stereoscopic Camera Configuration Using Window 1; Right: Stereoscopic Camera Configuration Using Window 2

Base Camera Configuration     Stereoscopic Camera figuration     Stereoscopic Camera

The window can be set at any distance from the base camera. Consider window 1 and window 2 in Figure 2-3. In the stereoscopic camera configuration using window 1 (center), objects appear behind the screen. In the configuration using window 2 (right), objects appear in front of the screen.

As shown in Figure 2-3, the windows for both cameras must coincide. As a result, the camera viewing directions (the window plane normals) must be the same, and their frustums must be made asymmetrical to encompass the window.

The FOV on the screen is determined by the standard viewing distance, based on the size of the screen. For ideal stereoscopy, have the camera use this FOV.

 

2.3. Ideal Dynamic Base Camera

If you can detect the user position relative to the screen, you can compute an image whose ideal position matches the current viewing position. This method is called a dynamic perspective.

Figure 2-4. Dynamic Perspective

Dynamic Perspective ctive

 

Assume that you know the exact position of the user in the viewport frame of reference. To position the camera, you must define the window frame of reference in the virtual world. You can derive the window from the base camera that corresponds to the standard viewing position in real space.

You can position the window on any plane orthogonal to the viewing direction, at any positive distance. The window is the positional center of rotation, so the appearance of rendered objects changes depending on the distance from the camera to the window. To achieve an ideal dynamic camera, you must rotate the base camera, such as to the position of the dynamic camera in Figure 2-4. The same is true for a stereoscopic camera.

2.4. Ideal Dynamic Stereoscopic Camera

To develop a dynamic stereoscopic camera, define the position of the window in the virtual world, and use the positions of both user eyes to position cameras, as was the case for dynamic base cameras.

2.5. Using a Viewport Not Covering the Entire Screen

The operations described to this point assume that a picture is displayed on the entire screen. However, displaying a 3D picture in a sub-area needs special care.

The system can only know the relative position of the user to the screen. If the developer plans to display a 3D picture in a sub-area of the screen, the viewport and the position of the user relative to the viewport must be expressed to compute the correct camera position. To do so, the developer must specify the exact position of the viewport in the screen to the ideal dynamic stereo camera.

Figure 2-5. Dynamic Camera and Viewport

Dynamic Camera and Viewport nd Viewport


CONFIDENTIAL