This mode is mostly used for immersive environments and for applications using VR techniques, like head tracking, wand navigation, etc. In addition to fields describing the layout (display, name, position, and size, which are common to SoFlatScreen SoFlatScreen SoFlatScreen and SoScreen SoScreen SoScreen ), SoScreen SoScreen SoScreen has three fields for setting the coordinates of a “projection wall”. This wall is used in addition to the camera (or head) position to compute the OpenGL view frustum. An SoTracker SoTracker SoTracker node is used to set default parameters. The main difference between SoScreen SoScreen SoScreen and SoFlatScreen SoFlatScreen SoFlatScreen is how the view volume is computed
.
Figure 3.18, “ Illustration of the view volumes with three SoScreens” illustrates how ScaleViz computes the view volumes for the camera when the application provides a configuration file describing three SoScreen SoScreen SoScreen s. The view volumes are computed differently than in a regular viewer. A new parameter has been added to the equation, the SoScreen SoScreen SoScreen wall coordinates. With SoScreen SoScreen SoScreen , there is an additional constraint on the shape of the viewing frustum. The SoScreen SoScreen SoScreen is always inscribed within the frustum. In other words, the viewing frustum is computed with the camera position and the position of the SoScreen SoScreen SoScreen . This figure illustrates a CAVE -like setup. When head tracking is enabled, the camera position varies but the wall coordinates remain constant. You can think of SoScreen SoScreen SoScreen s as windows on the virtual world.
The right side of the Figure 3.19, “ View volumes with two SoFlatScreens (right) compared wth standard view volume (left)” illustrates how ScaleViz computes the view volumes for the camera when the application has provided a configuration file describing two SoFlatScreen SoFlatScreen SoFlatScreen s. The camera first computes the virtual view volume (it sums the sizes of the two SoFlatScreen SoFlatScreen SoFlatScreen s). Then the camera narrows the virtual view volume according to the SoFlatScreen SoFlatScreen SoFlatScreen s. For instance, in this illustration, the configuration file has defined tw o SoFlatScreen SoFlatScreen SoFlatScreen s with view keywords LEFT and RIGHT respectively. ScaleViz will compute how to divide the frustum based on the total number of SoFlatScreen SoFlatScreen SoFlatScreen s and their view keywords. Because the two SoFlatScreen SoFlatScreen SoFlatScreen s have the same size, and their view is LEFT and RIGHT, the virtual view volume will be divided vertically by 2. (If the views were TOP and BOTTOM, the virtual view volume would have been divided horizontally by two.)