DirectViz is a ray-tracing extension for Open Inventor. More...


class  SoDirectVizManager
  DirectViz Manages ray-traced rendering. More...
class  SoDirectVizCameraShader
  DirectViz DirectViz Camera shader.
Action not implemented for this node. More...
class  SoDirectVizEnvironmentShader
  DirectViz DirectViz Environment shader. More...
class  SoDirectVizGeneralShader
  DirectViz DirectViz general surface shader class. More...
class  SoDirectVizShader
  DirectViz DirectViz shader node base class. More...

Detailed Description

DirectViz is a ray-tracing extension for Open Inventor.

DEPRECATED: DirectViz is deprecated and no longer supported since OIV 9.5.

NOTE: The classes in this extension do not exist in Open Inventor 10.0 and later.

DirectViz allows Open Inventor applications to render 3D scenes with very high realism and scalability by using the Real-Time Ray-tracing engine OpenRTRT(tm), an alternative to OpenGL.

Ray tracing is a rendering technique that uses principles of optics to model the path taken by light by following rays of light as they interact with surfaces.

NOTE: DirectViz is a separately licensed extension. You must have a DirectViz license string in addition to your Open Inventor license string. One of its fields specifies the maximum number of ray-tracing clients in cluster mode. If this field is set to zero, DirectViz runs in stand-alone mode and the rendering cannot be distributed on a cluster. You may also need to install a license for OpenRTRT. Please check your license document.

DirectViz features

When using ray-tracing mode, OpenGL rendering is replaced, and OpenGL calls will have no effect.

Please see the Open Inventor Toolkit User's Guide for an introduction to DirectViz ray-tracing.

Classes related to DirectViz


DirectViz performance depends on the number of processed rays. It depends on the resolution of the rendered frame because a primary ray is cast for each pixel (or more with oversampling). It also depends on the "optical complexity" of the scene, for instance the number of transparent objects, reflections, and refractions (casting secondary rays), as well as the number of light sources (to be checked by illumination and shadow rays). Therefore performance may change depending on the part of the scene that is visible in the rendered image.

DirectViz geometry objects and caching

DirectViz internal "geometry objects" - storing acceleration structures for ray-tracing - are quite similar to OpenGL display lists. SoDirectVizManager provides two ways of managing DirectViz objects:

An optimal scene graph organization would group static parts of the scene graph under SoSeparator nodes with directVizCaching set to ON, and dynamic parts under SoSeparator nodes with directVizCaching set to OFF.

Avoid putting dynamic parts of a scene graph under a SoSeparator with the directVizCaching field set to ON (for instance draggers) as the performance could be very poor.

Cluster mode

The cluster mode can only be set before the application has started. It is enabled with the DIRECTVIZ_CLUSTER environment variable (see SoPreferences). If its value is different from 0, it specifies the number of OpenRTRT clients. DirectViz uses port 9001 for communication in cluster mode.

See the Open Inventor Toolkit User's Guide for information about cluster mode DirectViz.


The following Open Inventor features are not supported in this DirectViz release, i.e., ignored or not rendered as they would be with OpenGL:

Open Inventor Toolkit reference manual, generated on 22 Sep 2021
Copyright © Thermo Fisher Scientific All rights reserved.