Reference: Viewpoints & windows

Stereoscopic rendering

HMDs versus external displays

Head mounted displays (HMDs) are a special class of displays because the relation between the eyes and the display surface to not change as the user moves. When this relation does change, as with external displays, care must be taken to correctly adjust the projection to compensate for this relation. In other words, to render to an external display correctly, not only does a 3D scene need to be perspectively projected onto a planar surface, but the projective "distortion" applied must correct for the angle and distance from which the device is being viewed.

Inter-pupilary distance (binocular parallax)

To accurately recreate a visual scene as if you were viewing a real scene, you must set the inter-pupilary distance (IPD) Vizard uses to separate the left and right eye perspectives in units applicable to your model. By convention, Vizard uses meters as the distance unit, so your IPD ought to be in meters, or something close to 0.06 for an average human.

 

It is sometimes desirable to set the IPD value to some factor of the typical range of units of interest in your application's scene. For example, you might use the radius of the volume defined by the scene graph and then multiply by some scale factor less than 1.0. In some applications, the volume defined by the scene graph may be very large compared to the size of typical objects in the scene. For example, consider a driving simulation over a very large terrain containing trees and buildings that are considerably smaller in extent than the terrain. In this case, it may be preferable to scale the viewpoint parallax relative to the extents of just a portion of the scene

graph. By increasing the parallax value, you can achieve an enhanced stereo effect (sometimes called “hyper-stereo”). However, as parallax increases, it may become difficult for your eyes to fuse the stereo pair of images into a single 3D image.

Screen distance

Screen distance has no effect on the scene that is drawn unless asymmetric viewing has been activated by calling viz.go(viz.STEREO). Keep in mind that viz.go(viz.STEREO | viz.HMD) does not activate asymmetric viewing as typical HMDs use separate monitors for each eye and thereby require symmetric viewing.

 

Otherwise, for stereoscopic viewing (e.g., 3D monitor & shutter glasses), screen distance is important. WorldViz suggests that you correctly set your screen distance to your monitor (see <window>.screenDistance), the vertical field-of-view of your monitor (see viz.fov), and the user's ipd (see viz.ipd) when creating compelling and accurate 3D visualizations.

 

When asymmetric viewing is enabled, the scene is drawn from the same view position, view direction, and view angle as when asymmetric viewing is off. However, with asymmetric viewing, the rendered scene is horizontally skewed to compensate for a user's off-axis viewing. When done correctly, the user should not notice the shear. As the screen distance decreases, the amount of skew increases.

Fusion / Fusion Distance

Fusion is a method to enhance stereoscopic effects. For the walking, driving and flight simulation this distance is typically kept constant, but for the trackball and terrain manipulators in which the user is zooming in at out and needing god's eye and ant's eye views, you can use the distance between the eye point and point of rotation as the fusion distance. This keeps the point of interest glued to the display when you have an external display surface.  But when the goal is to produce an accurate stereoscopic rendering this enhancement is not normally desired as it breaks accuracy.

 

In geometrical terms, fusion distance is the distance from the eyes where the lines of sight for each eye converge. At this distance objects in the scene will appear to be on the surface of the display ("in the glass''). Objects farther than the fusion distance from the viewer will appear to be "behind the glass'' while objects in front will appear to float in front of the display. The latter illusion is harder to maintain, since real objects visible to the viewer beyond the edge of the display tend to destroy the illusion.

 

In Vizard, you can either specify fusion in distance units (e.g., distance from viewer to the display surface in units corresponding to the simulated model), or a dimensionless proportion. If you select to use fusion in distance mode, the ratio of fusion distance to screen distance is used as a scale factor to multiply the inter-pupillary distance. If fusion distance is used in proportional mode, you specify the ratio directly without worrying about what the screen distance is.

See also

In this section:

Viewpoint and window basics

Perspective rendering

Orthographic lenses

Viewpoint basics

Window basics

Viewpoints & windows command tables

Other sections:

Action Basics

Animation path basics

Application window basics