ScaleViz Release Notes

ScaleViz 7.2 (October 2008)

Distributed RayPick action precision

ScRayPickAction now supports setting the pick input point (viewport coordinate) using float values. This may be necessary to keep precision when a desktop is magnified on a wall of screens. See :

ScaleViz 7.1.1 (June 2008)

No new features were added. See the fixed bugs section.

ScaleViz 7.1 (April 2008)

No new features were added. See the fixed bugs section.

ScaleViz 7.0.1 (February 2008)

No new features were added. See the fixed bugs section.

ScaleViz 7.0 (December 2007)

ScaleViz Runtime Connection/Disconnection

An Open Inventor application using ScaleViz can now dynamically connect to a render cluster, then later disconnect from the cluster and continue to work with the application locally.

Dynamic Load Balancing for Tile Compositing

ScaleViz can now dynamically change the extent of the screen tiles to better balance the rendering tasks between render nodes and improve performance.

Local Compositing

ScaleViz can now mix local and remote rendering. This provides support for custom nodes that cannot be distributed and for cases where data should be kept local.

New Automatic Distribution of Scene Graph for Depth Compositing

The new SoDistributionAction class allows you to choose between two different ways of automatically distributing the scene graph:

Improved Custom Node Support

Performance Optimization Options for Tile and Depth Compositing

Support for Selected Actions on the Cluster Side

Some actions can be performed on the cluster side. For example, GetBoundingBoxAction, GetPrimitiveCountAction, and RayPickAction. These classes are ScGetBoundingBoxAction, ScGetPrimitiveCountAction, and ScRayPickAction.

Support for Passive Left/Right Stereo

Passive stereo is supported for tile display and immersive configurations by using the new cameraMode field of the SoFlatScreen and SoScreen configuration nodes.

New SoDMXScreen Node Simplifies DMX External Tool Usage

SCALEVIZ_USER_LIBS Replaced by OIV_USER_LIBS

SCALEVIZ_USER_LIBS is no longer used, but replaced by OIV_USER_LIBS. This environment variable is used to specify which libraries to search for custom nodes.

New Communication Node (SoClusterGateway)

There is a new communication node (SoClusterGateway) to manage the connection between the remote application (external network) and cluster nodes (internal network). This allows access to a remote cluster through a non-Graphic Master node.

ScaleViz Configuration File Changes

Support for Fast Editing, Full-Scene Antialiasing

Fast editing and full-scene antialiasing, Open Inventor core features, are now supported when using ScaleViz rendering.

ScaleViz 6.1 (March 2007)

The cluster rendering capabilities of ScaleViz have been greatly expanded in ScaleViz 6.1.

There has been no change to the multipipe rendering capabilities of ScaleViz.

Here are highlights of the new cluster rendering features:

Each of these items is described in further detail below. For complete details, see the reference manual and/or the updated User's Guide (UsersGuide.pdf).

Tile Compositing with SoTileComposer Nodes

Tile compositing allows you to divide the application viewers viewport into several "tiles" that will be rendered independently by different render nodes, then composited into a single image on a single display.

This configuration improves performance (fill rate) for volume rendering because each render node renders only its tile (subregion) of the viewport. It also improves image quality (level of detail) for VolumeViz LDM-based applications because each render node uses all of its system memory and GPU texture memory.

To specify the render node and the size and position of the tile associated with each render node, you will use a ScaleViz configuration file and SoTileComposer nodes (one per render node). The SoTileComposer node has a hostname field for specifying the computer to use, as well as tileSize and tileOrigin fields for specifying the size and position of each tile.

Depth Compositing with SoDepthComposer Nodes

Depth compositing allows you to divide the application viewer's scene graph into several parts ("subgraphs") that will be rendered independently by different rendering nodes, then composited into a single image on a single display based on the depth value of each pixel.

This configuration improves performance for scene graphs with very large geometry, i.e., having large numbers of triangles.

In order to use depth compositing, you must associate the subgraphs of your scene with specific render nodes.

For example, if you have 4 render nodes in the cluster, it would make sense to assign parts of your scene graph to the 4 render nodes such that the rendering load is roughly balanced between the nodes.

Render units 1-N are associated with SoDepthComposer nodes in the order in which they appear in the ScaleViz config file. That is, the first SoDepthComposer node in the file corresponds to render unit 1, and so on.

In your scene graph, you will use the new renderUnitId field of SoSeparator (or SoVRMLGroup) to specify the render unit to be used for rendering a particular subgraph.

By default, the value of renderUnitId is -1, which means that the subgraph is not distributed to any node. In other words, in order to use depth compositing, you must modify renderUnitId from the default, otherwise nothing will be rendered.

Immersive Configuration Supported with SoTracker Nodes

It is now possible to use an immersive configuration, including head tracking, with cluster rendering. Use the hostname field of SoScreen in a configuration file to specify the render node to be used for each screen.

Previously, it was only possible to set up an immersive environment when using multipipe rendering.

Remote Access with Image Compression

Previously ScaleViz render nodes were limited to displaying their image on a directly attached device (screen or projector). Now the rendered image can be composited with images from other render nodes and displayed in the Open Inventor viewer window on the application node, which may be physically remote from the render cluster.

Depending on the network connection between the render machines and the display machines, it may be appropriate to use more (or less) frame compression as well as more (or less) lossy filtering. It is now possible for you to control these parameters via the ScaleViz configuration file (using SoMasterConfig) or using the new Remote Parameters dialog. SoMasterConfig has the following new fields:

The new Remote Parameters dialog is accessed via a keyboard shortcut, SHIFT+F9 by default. This shortcut can be changed by using configuration parameter OIV_REMOTEDIALOG_SHORTCUT. In addition to allowing you to configure the network profile, lossy mode, and lossy quality, the dialog also displays the frame rate and the bandwith in Mbits/sec.

NOTE:

This is not the same "remote rendering" in Open Inventor that is (still) supported via the following environment variables: OIV_LOWRESRENDER, OIV_LOWRESHIGHPERCENT, OIV_LOWRESLOWPERCENT.

Using classic remote rendering the user logs in and the application runs on a remote (server) machine. Using ScaleViz 6.1 the user logs in and the application runs on the local machine. In both cases rendering is done on the remote machine/cluster. Classic remote rendering does not support cluster rendering and requires a third party tool such as VNC to display the application's user interface. ScaleViz 6.1 is self contained.

Auto-Configuration Support

To simplify the specification of ScaleViz configuration files, you can provide a ScaleViz resource file that describes the available cluster resources. The config file can be very simple and ScaleViz will do automatic configuration based on the available resources. For complete details, see the chapter on ScaleViz in the User's Guide.

ScaleViz 6.0 (March 2006)

ScaleViz is a new extension that adds support for cluster rendering to Open Inventor and incorporates the capabilities of the previous MultiPipe extension (multi-pipe rendering and immersive VR).

Cluster Rendering

ScaleViz allows Open Inventor applications to render using a graphics cluster, that is, using a group of computers connected via a network, where each computer controls one or more screens of a multi-screen display system. ScaleViz synchronizes the different nodes and ensures that the same scene is rendered simultaneously on all of the screens.

Cluster rendering can be used, for example, to display a scene graph very large, at very high resolution, on a "wall" consisting of a grid of screens, with each screen connected to a computer doing its portion of the rendering.

In ScaleViz, the scene graph is distributed. The application runs on the master node and the Open Inventor scene graph is automatically copied to each of the rendering nodes. Each render node is in charge of rendering its portion of the total image, using its local copy of the scene graph. Once the scene graph has been copied, only changes, e.g., new field values, need to be sent to the render nodes.

Each render node runs a small Open Inventor application called the OIRU (Open Inventor Render Unit). At application startup, ScaleViz starts the OIRU on each of the render nodes.

It is very simple to make (most) existing Open Inventor applications ready for graphics cluster rendering. The main task is to supply a ScaleViz configuration file containing information about the graphics cluster. The configuration file specifies the computers in the cluster, the portion of the view volume they are responsible for rendering, and where on each screen the graphics should be rendered. Cluster rendering is only enabled if the configuration file contains an SoMasterConfig node.

See the User's Guide for complete details, including limitations of this release of cluster rendering.

NOTE: Like other extensions, ScaleViz requires a separate license. One of its fields specifies the maximum number of render nodes allowed. If its value is zero, multipipe rendering and immersive VR is allowed, but not cluster rendering.