Click or drag to resize
SoPreferences Class

Manages Open Inventor configuration parameters.

Inheritance Hierarchy
SystemObject
  OIV.InventorSoNetBase
    OIV.InventorSoPreferences

Namespace: OIV.Inventor
Assembly: OIV.Inventor.Base (in OIV.Inventor.Base.dll) Version: 2024.2.0.0 (2024.2.0)
Syntax
public sealed class SoPreferences : SoNetBase

The SoPreferences type exposes the following members.

Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodStatic memberGetBool

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a boolean.

Public methodStatic memberGetColor

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an OIV.Inventor.SbColor.

Public methodStatic memberGetDouble

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a double.

Public methodStatic memberGetFloat

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a float.

Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodStatic memberGetInt

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an int.

Public methodStatic memberGetLong

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as a long.

Public methodStatic memberGetString

Returns the value of the specified environment variable in the Open Inventor environment.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberGetValue

Returns the value of the specified environment variable in the Open Inventor environment.

Public methodStatic memberGetVec2s

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an OIV.Inventor.SbVec2s.

Public methodStatic memberGetVec3f

Returns the value of the specified environment variable in the Open Inventor environment, interpreted as an OIV.Inventor.SbVec3f.

Public methodStatic memberReadFile

Reads environment name-value pairs from the specified configuration file and adds them to the current Open Inventor environment.

Public methodStatic memberSetBool

Sets a variable that has a boolean value in the Open Inventor environment.

Public methodStatic memberSetColor

Sets a variable that has an OIV.Inventor.SbColor value in the Open Inventor environment.

Public methodStatic memberSetDouble

Sets a variable that has a double value in the Open Inventor environment.

Public methodStatic memberSetFloat

Sets a variable that has a float value in the Open Inventor environment.

Public methodStatic memberSetInt

Sets a variable that has an int value in the Open Inventor environment.

Public methodStatic memberSetLong

Sets a variable that has a long value in the Open Inventor environment.

Public methodStatic memberSetString

Sets a variable that has an String value in the Open Inventor environment.

Public methodStatic memberSetValue(String)
Calls SetValue(name, (cli.array<System.String^>^)nullptr).
Public methodStatic memberSetValue(String, String)

Sets a variable in the Open Inventor environment.

Public methodStatic memberSetValue(String, String)

Sets a variable in the Open Inventor environment.

Public methodStatic memberSetVec2s

Sets a variable that has an OIV.Inventor.SbVec2s value in the Open Inventor environment.

Public methodStatic memberSetVec3f

Sets a variable that has an OIV.Inventor.SbVec3f value in the Open Inventor environment.

Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

Open Inventor maintains a configuration database that stores information about the Open Inventor "environment". The Open Inventor environment contains configuration parameters and their values.

Setting configuration parameters There are several ways that configuration parameter values are set into the Inventor configuration database:

Configuration files: When Open Inventor is initialized, two configuration files are automatically read (if available):

  • A system configuration file $OIVHOME/oiv.cfg or the file pointed to by the OIV_CONFIG_FILE environment variable, and

  • a local configuration file named oiv.cfg located in the application's current working directory.

The configuration parameters specified in the configuration files are set into Open Inventor's configuration database.

You can request that additional configuration files be read using OIV.Inventor.SoPreferences.ReadFile(System.String).

The configuration file format is simple. You specify environment name-value pairs, one per line. The file format is shown below.

Using OIV.Inventor.SoPreferences methods: OIV.Inventor.SoPreferences.SetValue(System.String, System.String) sets a configuration parameter in the Open Inventor configuration database. As this value is set in memory, it is local to the application process and can only be retrieved using OIV.Inventor.SoPreferences.GetValue(System.String). There are convenience methods available for setting specific values of a specific data type, e.g., OIV.Inventor.SoPreferences.SetFloat(System.String, System.Single).

Using system environment variables: If a particular configuration parameter has not already been set via a config file or OIV.Inventor.SoPreferences.SetValue(System.String, System.String), then Open Inventor will check the system environment. System environment variables are set using platform-dependent commands (e.g., set, setenv).

Querying configuration parameters To query a specific configuration parameter, use the method OIV.Inventor.SoPreferences.GetValue(System.String) which returns the value of the specified configuration parameter in the Open Inventor configuration database.

OIV.Inventor.SoPreferences also provides convenience methods for querying specific data types and providing a default value, e.g.,

int numFiles = SoPreferences.getInt( "NUM_FILES", 1 );
requests the value of an integer-valued configuration parameter and returns the default value 1 if this parameter has not been specified. Corresponding "set" methods are also provided.

Other The OIV.Inventor.SoPreferences configuration mechanism is not restricted to Open Inventor parameters. Applications are welcome to use it for their own parameters if appropriate.

To request configuration debugging information, use environment variable OIV_DEBUG_CONFIG.

CONFIGURATION FILE FORMAT White space (blank, tab) is ignored, except that there must be at least one space or tab separating the name from its value.

System environment variables may be used in a configuration file. Environment variable names begin with a $ and end at the next nonalphanumeric character. They are replaced by their corresponding value.

   # comment

  # NAME1, NAME2, and NAME3 are defined and associated
  # with value1, value2, and value3 respectively.
  NAME1     value1
  NAME2     value2    # comment
  +NAME3    value3

  # NAME4 and NAME5 are defined and no values are associated
  # with these NAMEs.
  NAME4
  +NAME5    # comment

  # If NAME6 is defined in the system environment or in one
  # of the previously loaded config files, it is now undefined.
  -NAME6    # comment

ALPHABETICAL LIST OF ENVIRONMENT VARIABLES In addition to the environment variables in this alphabetic list, there are also special-purpose debug environment variables that may helpful in certain circumstances. They are listed separately below.

DIALOGVIZ_SKINDIALOGVIZ_SKINS_DIRIV_ALLOW_LOCATE_HIGHLIGHTIV_NO_TEXTURE_OBJECTIV_OCTREE_MAX_DEPTHIV_TIMER_RESOLUTIONIVTUNE_SHOW_INTERNAL_CHILDRENIVVR_40_COMPATIVVR_DEBUGIVVR_DELAY_RENDERIVVR_GPU_PICKINGIVVR_MAX_NUM_LOADERSIVVR_NUM_LOADERSIVVR_SEGY_DUMPIVVR_SEGY_FLOATISIEEEIVVR_SEGY_SWAPBYTESIVVR_TF_TEX_UNITIVVR_USE_TEX3DIVVR_FIRST_RESERVED_TEXTURE_UNITIVVR_ALPHA_THRESHOLD_INTERACTIVEIVVR_ALPHA_THRESHOLD_STILLLDM_USE_IN_MEM_COMPRESSIONMESHVIZ_OCTREE_CACHE_CELLBBOXMESHVIZ_OCTREE_MAX_DEPTHMESHVIZ_OCTREE_MAX_CELL_PER_TILEMESHVIZ_POLYGON_OFFSETMESHVIZ_TESSELLATION_MAX_DEPTHOIV_3DDATA_CREASE_ANGLEOIV_3DDATA_CROSS_SECTION_METHODOIV_3DDATA_USE_TRIANGLE_STRIP_SETOIV_ALPHA_TESTOIV_AMBIENT_COLOROIV_AMBIENT_INTENSITYOIV_ANTIALIASING_DEFAULT_MODEOIV_AUTO_CLIPPINGOIV_AUTO_CLIP_TOLERANCEOIV_AUTO_INTERACTIVE_MODEOIV_BACKGROUND_COLOROIV_BUFFER_OBJECT_CACHE_SIZEOIV_CAMERA_TYPEOIV_CGM_HARDCOPY_BUFSIZEOIV_COLORWHEEL_DBUFOIV_COMPAT_24OIV_COMPAT_30OIV_COMPAT_CGM_HARDCOPY_400OIV_COMPAT_HPGL_HARDCOPY_370OIV_COMPAT_CONTEXT_80OIV_COMPLEXITYOIV_COMPLEXITY_TYPEOIV_CONFIG_FILEOIV_CREASE_ANGLE_FIXOIV_CURSOR_STYLEOIV_DATABASE_CHECKOIV_DEBUG_CONFIGOIV_DEBUG_PIXEL_FORMATOIV_DEFAULT_ACTION_USE_ALTERNATEREPOIV_DECIMATION_GOAL_FPSOIV_DECIMATION_GOAL_NUM_OF_TRIANGLESOIV_DECIMATION_PERCENTAGEOIV_DISABLE_DRAGGER_CTRL_KEYOIV_DISABLED_GL_EXTENSION_LISTOIV_DRAW_OCTREEOIV_ENABLE_INMEMORY_TEXT_FILEOIV_ENABLE_MESA_RENDERINGOIV_ENABLE_PNG_BACKGROUNDOIV_ENVIRONMENT_ATTENUATIONOIV_EXTRUSION_EPSILONOIV_FACE_TYPEOIV_FILE_SEARCH_PATHSOIV_FOG_COLOROIV_FOG_TYPEOIV_FOG_VISIBILITYOIV_FONT_NAMEOIV_FONT_PATHOIV_FONT_RENDERSTYLEOIV_FONT_SIZEOIV_FORCE_PIXEL_FORMATOIV_FORCE_TEX_COORD_SENDINGOIV_FORCE_USE_VBOOIV_FREETYPE_NAMEOIV_FULL_RENDER_WHEN_STILLOIV_FULL_SCENE_ANTIALIASINGOIV_FULL_SCENE_ANTIALIASING_FILTEROIV_GL_SMOOTHINGOIV_GLSL_DEBUGOIV_HC_BLACK_AND_WHITEOIV_HCGDI_APPCONTROLOIV_HCGDI_EDGE_WIDTHOIV_HCGDI_POLYGON_COMPATOIVHOMEOIVARCHOIV_INTERACTIVE_DRAW_STYLEOIV_INTERSECT_EPSILONOIV_IVTUNE_CONFIGURATION_FILEOIV_IVTUNE_SHORTCUTOIV_LD_LIBRARY_PATHOIV_LIBJPEG_NAMEOIV_LIBPROJ4_NAMEOIV_LICENSE_DEBUGOIV_LICENSE_FILEOIV_LINE_WIDTHOIV_LOWRESHIGHPERCENTOIV_LOWRESLOWPERCENTOIV_LOWRESRENDEROIV_MATERIALS_PATHOIV_MAX_ANNO_RENDER2D_SIZEOIV_MAX_FONT_CACHESOIV_MAX_SHADOWMAP_SIZEOIV_MAX_VARIANCE_SHADOWMAP_SIZEOIV_MAX_TEXTURED_FONT_RESOIV_MIN_TEXTURED_FONT_RESOIV_MIN_VERTEX_VAVBO_NOCACHEOIV_MIN_VERTEX_VBOOIV_MOUSE_WHEEL_ENABLEOIV_MULTITEXTURINGOIV_NO_FBOOIV_NO_FLEXNETOIV_NO_IVTUNEOIV_NO_SHADER_LAYERS_BLENDOIV_NORMGEN_COMPATOIV_NORMGEN_TOLERANCEOIV_NUM_RENDER_PASSESOIV_NUM_SORTED_LAYERS_PASSESOIV_NURBS_FIX_TRIM_CONNECTIONSOIV_NURBS_FORCE_GLU_CONVEXISATIONOIV_NURBS_CHECK_RATIONAL_TRIM_OUTSIDE_DOMAINOIV_OIT_DEFAULT_MODEOIV_OLD_ERROR_HANDLEROIV_PBUFFER_DEBUGOIV_PBUFFER_ENABLEOIV_PERFCOUNTER_ENABLEOIV_PFD_SUPPORT_COMPOSITIONOIV_PFD_SUPPORT_GDIOIV_PICK_GENERATE_ALL_PROPERTIESOIV_PLUGINS_DIRECTORYOIV_POINT_SET_USE_VERTEX_ORDERINGOIV_POLYGON_OFFSETOIV_POLYGON_OFFSET_FACTOROIV_POLYGON_OFFSET_STYLESOIV_POLYGON_OFFSET_UNITSOIV_QT_TIMER_THREADOIV_REMOTERENDEROIV_REMOTERENDER_BUFFEROIV_REMOTERENDER_DEBUGOIV_REMOTERENDER_DISPLAYOIV_REMOTERENDER_RGB_BGROIV_REPORT_ZERO_VECTORSOIV_REQUIRE_STENCILOIV_SEEK_TIMEOIV_SEEK_MODIFY_ORTHOGRAPHIC_CAMERA_ORIENTATIONOIV_SEPARATE_SPECULAR_SUPPORTOIV_SET_RAY_PRECISIONOIV_SHADER_CHECK_INTERVALOIV_SHADOW_TEXTURE_UNIT0OIV_SHADOW_TEXTURE_UNIT1OIV_SHAPE_TYPEOIV_SHARE_LISTSOIV_STEREO_ACTIVEOIV_STEREO_BALANCEOIV_STEREO_BALANCE_NEAR_FRACOIV_STEREO_GREENSHIFTOIV_STEREO_OFFSETOIV_STEREO_TESTPATTERNOIV_STEREO_TYPEOIV_STILL_DRAW_STYLEOIV_STREAM_BUFFERS_NUMBEROIV_STREAM_BUFFERS_SIZEOIV_STROKE_FONT_PATHOIV_SYNC_QTWIDGET_FIRSTRENDEROIV_TEXT_ACCUMULATIONOIV_TEXT_ALIASING_FACTOROIV_TEXT_ALIGNMENTHOIV_TEXT_ALIGNMENTVOIV_TEXT_BACKFRAMELINE_WIDTHOIV_TEXT_MARGINOIV_TEXT_ORIENTATIONOIV_TEXTURE_BORDER_CLAMP_ENABLEOIV_TEXTURE_QUALITYOIV_TRACKER_DIRECT_MODEOIV_TRANSPARENCY_TYPEOIV_USE_GLOBALFIELD_TIMEOIV_USE_HEADLIGHTOIV_USE_NPOTOIV_USE_OIVSOIV_USE_OOBOIV_USER_LIBSOIV_VERTEX_ATTRIBSOIV_VERTEX_ORDERINGOIV_VIEWER_ANIMATIONOIV_VIEWER_DECORATIONOIV_VIEWER_POPUP_MENUOIV_VIEWER_SIZEOIV_VIEWER_SHOW_RECORD_ENTRYOIV_VIEWER_SHOW_FSAA_ENTRYOIV_VIEWER_SHOW_STEREO_ENTRYOIV_WHEEL_DELTAOIV_WINDING_TYPEOIV_ZERO_AREA_CHECKOIV_ZLIB_NAMESO_DRAGGER_DIRVOLUMEVIZ_CENTERED_DICOMVOLUMEVIZ_DICOM_FILE_CACHE_CAPACITYVOLUMEVIZ_DICOM_FRAME_CACHE_SIZE

DIALOGVIZ_SKIN Affects DialogViz. Specifies the skin that will be used for DialogViz 3D component rendering. Default value is "default". The value should be the name of the directory containing the skin components. The skin examples available with Open Inventor are "default", "texture", and "transparent". See also DIALOGVIZ_SKINS_DIR.

DIALOGVIZ_SKINS_DIR Affects DialogViz. Specifies the path to the directory containing DialogViz skin directories. By default, the skin directory is $OIVHOME/data/DialogViz/Skins/. See also DIALOGVIZ_SKIN.

IV_ALLOW_LOCATE_HIGHLIGHT Affects OIV.Inventor.Nodes.SoLocateHighlight and OIV.Inventor.Draggers.SoTransformerDragger. Default is false. If false, locate highlighting (mouse-over feedback) is disabled unless the application explicitly sets each OIV.Inventor.Nodes.SoLocateHighlight node's 'mode' field to AUTO. If true, an OIV.Inventor.Nodes.SoLocateHighlight node's mode field is automatically set to AUTO. Effectively locate highlighting for the OIV.Inventor.Draggers.SoTransformerDragger can only be enabled by setting this variable to true.

IV_NO_TEXTURE_OBJECT Tells Open Inventor not to use OpenGL 1.1 texture objects. If some textures are missing or otherwise displayed incorrectly, try setting this variable.

IV_OCTREE_MAX_DEPTH Affects SoOctreeOrdering. Specifies the maximum depth used during octree ordering. Default: 8

IV_TIMER_RESOLUTION [Windows only] Specifies how often Open Inventor's internal clock ticks. Effectively it sets the minimum time between render traversals when animating (including spin animation and animation performed by engines). Make sure the value is less than the time it takes to render one frame of your scene. Default: 10 ms.

IVTUNE_SHOW_INTERNAL_CHILDREN IvTune should allow user to expand hidden children, for example in draggers and manipulators. Default: false.

IVVR_40_COMPAT Forces VolumeViz 4.0 compatible behavior. For example, paging mode is the default, slices are not affected by scene graph lights, etc.

IVVR_DEBUG Set to 1 to enable debug trace output for VolumeViz.

IVVR_DELAY_RENDER Sets the VolumeViz delayedRendering flag. When this flag is true (1), VolumeViz drawing nodes (e.g. OIV.VolumeViz.Nodes.SoOrthoSlice) are considered "transparent" objects by Open Inventor. They may be delayed (until after all opaque objects) and/or sorted according to the current transparency type (see OIV.Inventor.Actions.SoGLRenderAction). This may result in a more correct image if there is opaque geometry intersecting the volume. However delayed/sorted rendering may slightly decrease performance. For compatibility with earlier versions of VolumeViz the default is false. This flag may also be set using OIV.VolumeViz.Nodes.SoVolumeRendering.SetDelayedRendering(System.Boolean).

IVVR_GPU_PICKING When this flag is true (1), OIV.VolumeViz.Nodes.SoVolumeRender (VolumeViz) will use the GPU to compute the picked voxel color. Default is true.

Affects OIV.VolumeViz.Readers.SoVRSegyFileReader. Although in most cases the SEGY reader can automatically detect when the number of traces per line in a SEGY file is not uniform, in some cases it cannot. You can set this environment variable to request the use of a more sophisticated file parsing algorithm. However, be aware that the initialization for file reading will take longer when this environment variable is set.

Affects OIV.VolumeViz.Readers.SoVRSegyFileReader. Although in most cases the SEGY reader can automatically detect when the length of traces in a SEGY data file is not uniform, in some cases it cannot. You can set this environment variable to request the use of a more sophisticated file parsing algorithm. However, be aware that the initialization for file reading will take significantly longer when this environment variable is set.

IVVR_MAX_NUM_LOADERS Affects OIV.VolumeViz.Nodes.SoVolumeRender. Specifies the maximum number of loading threads to be used in VolumeViz LDM mode.

IVVR_NUM_LOADERS Affects OIV.VolumeViz.Nodes.SoVolumeRender. Specifies the initial number of loading threads to be used in VolumeViz LDM mode. Default is 4. This value can be set programmatically using SoVolumeRendering.setNumIO().

IVVR_SEGY_DUMP Affects OIV.VolumeViz.Readers.SoVRSegyFileReader. Requests that the file and trace headers be written to a file while processing the SEGY data file. The output file is named ivvrSegyDump.txt in the current working directory. This information may be helpful if the SEGY reader fails to read the file correctly.

IVVR_SEGY_FLOATISIEEE Affects OIV.VolumeViz.Readers.SoVRSegyFileReader. If true (1), indicates that floats are written in IEEE floating point format. Normally the SEGY reader is able to detect this, but if necessary you can set this environment variable.

IVVR_SEGY_SWAPBYTES Affects OIV.VolumeViz.Readers.SoVRSegyFileReader. Set to 1 to force byte swapping, 0 to force no byte swapping. Normally the SEGY reader is able to detect if byte swapping is needed, but if necessary you can set this environment variable.

IVVR_TF_TEX_UNIT Affects OIV.LDM.Nodes.SoTransferFunction Allows you to specify the OpenGL texture unit to be used for storing VolumeViz transfer functions. The default is unit 0.

IVVR_USE_TEX3D Controls when VolumeViz will use OpenGL 3D texturing. All boards that report OpenGL version 1.2 or higher are required to support 3D texturing and will render the correct image. However on some boards (e.g. GeForce2) this support is not hardware accelerated and may be very slow. By default VolumeViz tries to detect this situation and automatically disable use of 3D textures, but there are cases where it is desirable to use 3D textures even if they are slow. In these cases set IVVR_USE_TEX3D to 1. Valid values are:

  • 0 = Never : Do not use 3D textures (even when available)

  • 1 = Always : Use 3D textures if supported in hardware or software

  • -1 = WhenFast : Use 3D textures only if supported in hardware (DEFAULT)

On some boards, e.g. ATI, WhenFast is the same as Always because we can't reliably detect how 3D textures are implemented.

LDM_USE_IN_MEM_COMPRESSION Deprecated boolean variable: Use instead the field OIV.LDM.Nodes.SoLDMResourceParameters.tileCachePolicy.

  • LDM_USE_IN_MEM_COMPRESSION = 0 corresponds to SoLDMResourceParameters.TileCachePolicy.ALL

  • LDM_USE_IN_MEM_COMPRESSION = 1 corresponds to SoLDMResourceParameters.TileCachePolicy.NONE

IVVR_FIRST_RESERVED_TEXTURE_UNIT Specifies the range of reserved texture units in VolumeViz for various nodes :

If IVVR_FIRST_RESERVED_TEXTURE_UNIT is not set, its default value is OIV.Inventor.Nodes.SoFragmentShader.GetMaxTextureImageUnit()-SoShaderProgram.getNumReservedTextures(). Note the value returned by OIV.Inventor.Nodes.SoShaderProgram.GetNumReservedTextures() may change between versions and must not be assumed constant. Also note the maximum number of texture units depends on the graphics hardware.

IVVR_ALPHA_THRESHOLD_INTERACTIVE Used by OIV.VolumeViz.Nodes.SoVolumeRender raycasting algorithm. Specifies the cumulative alpha opacity) value at which which the ray stops traversing the volume when INTERACTIVE (for example the user is moving the camera). This value should be >= 0.95 to avoid artifacts and must be < 1. A low value increases rendering speed, especially with very transparent volumes but may create artifacts. See also IVVR_ALPHA_THRESHOLD_STILL. Added in version 9.1. Default is 0.95.

IVVR_ALPHA_THRESHOLD_STILL Same as IVVR_ALPHA_THRESHOLD_INTERACTIVE but in STILL mode. Default is 0.99.

MESHVIZ_OCTREE_CACHE_CELLBBOX Affects MeshViz. Specifies if the cell boundingboxes must be cached when building the octree associated to a mesh. This speeds up the search for cells in the octree when using MoMeshPointProbe, MoMeshGridPlaneSlice and MoMeshStreamline nodes, or pointprobes, gridplaneslice and streamline extractors for all kind of meshes (MiPointProbeUnstructured, MiGridPlaneSliceExtractUnstructured, MiStreamlineExtractUnstructured) except regular and rectilinear that do not use octrees. The default value is 0 (not cached).

MESHVIZ_OCTREE_MAX_CELL_PER_TILE Affects MeshViz. Specifies the maximum number of cells that can be contained in a tile of the octree built when using MoMeshPointProbe, MoMeshGridPlaneSlice and MoMeshStreamline nodes, or pointprobes, gridplaneslice and streamline extractors for all kind of meshes (MiPointProbeUnstructured, MiGridPlaneSliceExtractUnstructured, MiStreamlineExtractUnstructured) except regular and rectilinear that do not use octrees. The default value is 40.

MESHVIZ_OCTREE_MAX_DEPTH Affects MeshViz. Specifies the maximum depth allowed to build the octree associated to a mesh when using MoMeshPointProbe, MoMeshGridPlaneSlice and MoMeshStreamline nodes, or pointprobes, gridplaneslice and streamline extractors for all kind of meshes (MiPointProbeUnstructured, MiGridPlaneSliceExtractUnstructured, MiStreamlineExtractUnstructured) except regular and rectilinear that do not use octrees. The default value is 6.

MESHVIZ_POLYGON_OFFSET Affects MoMeshRepresentation. Specifies if surface representations must be automaticallty offset with a OIV.Inventor.Nodes.SoPolygonOffset node, to allow line representations on top without artifacts. However OIV.Inventor.Nodes.SoPolygonOffset can introduce other artifacts on surfaces when the two-sided lighting mode is active. The default value is true (1).

MESHVIZ_TESSELLATION_MAX_DEPTH Affects MeshViz. Specifies the maximum depth allowed while tessellating a non-linear cell using the provided implementations of the MiTessellator interface for extractions from quadratic meshes. This parameter makes the tessellation stop once the specified depth has been reached. This prevents from spending too much time in this process. However, the tolerance given by MiEdgeErrorMetric might be not achieved if the maximum depth is low. The default value is 10 which leads to a maximum of 2^10 = 1024 resulting edges per tessellated edge.

OIV_3DDATA_CREASE_ANGLE Default value of the field OIV.MeshViz.Data.PoMesh.creaseAngle. Default is 0.0. Set the value to 0.8 for compatibility with MeshViz 5.0 and earlier.

OIV_3DDATA_CROSS_SECTION_METHOD Affects OIV.MeshViz.Data.PoMeshCrossSection. Specifies the method used for computing a OIV.MeshViz.Data.PoMeshCrossSection.

  • INTERSECTION - The cross section is computed like an isosurface.

  • ISOSURFACE - The cross section is computed by doing classic intersections.

Use OIV.MeshViz.Data.PoMeshCrossSection.SetCrossSectionMethod(OIV.MeshViz.Data.PoMeshCrossSection.CrossSectionMethods) to specify the cross section computation method programmatically.

OIV_3DDATA_USE_TRIANGLE_STRIP_SET Affects OIV.MeshViz.Data.PoMeshLevelSurf, OIV.MeshViz.Data.PoMeshCrossSection. Specifies the Open Inventor primitive used to draw an isosurface.

  • true (1) - a triangle strip set is used

  • false (0) - an indexed face set is used

OIV.MeshViz.Data.PoMeshCrossSection uses this variable only when the cross section method is ISOSURFACE (see OIV_3DDATA_CROSS_SECTION_METHOD).

OIV_ALPHA_TEST Affects OIV.Inventor.Actions.SoGLRenderAction. Enables or disables the OpenGL alpha test for rendering. Default is 0 (alpha test is disabled).

OIV_AMBIENT_COLOR Affects OIV.Inventor.Nodes.SoEnvironment. Specifies the default color of ambient lighting. The value is specified as three floats (0.0 to 1.0) representing the RGB values of the color. The value can be set programmatically using the OIV.Inventor.Nodes.SoEnvironment.ambientColor field.

OIV_AMBIENT_INTENSITY Affects OIV.Inventor.Nodes.SoEnvironment. Specifies the default intensity of ambient lighting. The value can be set programmatically using the OIV.Inventor.Nodes.SoEnvironment.ambientIntensity field.

OIV_ANTIALIASING_DEFAULT_MODE Force a different antialiasing method when the default mode (AUTO) is used. Default is SMAA. The preference value can be SMAA, FXAA, FSAA or SUPERSAMPLING.

OIV_AUTO_CLIPPING Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies the default auto clipping flag (0=off, 1=on). The auto clipping flag can be set programmatically using the setAutoClipping method of the viewers classes above.

OIV_AUTO_CLIP_TOLERANCE Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies the default auto clip tolerance (a float). The tolerance can be set programmatically using the setAutoClipTolerance method of the viewers classes above.

OIV_AUTO_INTERACTIVE_MODE Affects OIV.Inventor.SoSceneManager and therefore the viewer classes, e.g. OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies the default autoInteractiveMode flag (0=off, 1=on). Default is false. By default only viewer and dragger interaction will switch the rendered scene in interactive complexity mode. When this option is enabled the sceneManager, based on any notification, will make this decision. It is particularly useful for scenes that have a very long rendering time in STILL mode compared to INTERACTIVE mode (often the case with VolumeViz nodes). An application that automatically triggers animation based on a script (camera path) might prefer to disable this mode in order to keep good rendering quality. This mode can also be set :

OIV_BACKGROUND_COLOR Affects OIV.Inventor.SoSceneManager, OIV.Inventor.Win.SoWinRenderArea, SoXtRenderArea, SoQtRenderArea, OIV.Inventor.MPEG.SoMPEGRenderer, SoXtMPRenderArea, SoWinMPRenderArea, OIV.Inventor.SoOffscreenRenderArea. Specifies the default background color. The value is specified as three floats (0.0 to 1.0) representing the RGB values of the color. The background color can be set programmatically using the setBackgroundColor method of the classes above.

OIV_BUFFER_OBJECT_CACHE_SIZE Deprecated variable (even if it still impacts the LDM tile cache). Default size is 50.

OIV_CAMERA_TYPE Affects SoQtViewer, OIV.Inventor.Win.Viewers.SoWinViewer, SoXtViewer. Specifies what kind of camera the viewer should create if none is provided. By default, a Perspective camera is created. To request an Orthographic camera, specify "o", "O", or "0".

OIV_CGM_HARDCOPY_BUFSIZE Affects OIV.HardCopy.SoVectorizeCGMAction. Specifies the buffer size in bytes for storing CGM calls before writing them to the disk. The default buffer size is 1048576 bytes (1 megabyte). If set to 1, no buffering is done.

OIV_COLORWHEEL_DBUF [Windows only] Some displays do not correctly handle the interaction between the hardware cursor and OpenGL drawing in the front buffer. By default the color wheel is single buffered and uses a save/restore scheme when the user drags the "marker". If this produces visual artifacts, try setting this environment variable to force double-buffered rendering.

OIV_COMPAT_24 [Windows only] If this variable is set to any value, then the Open Inventor 2.4 pixel format selection code is used. Stereo is not possible.

OIV_COMPAT_30 If set to 1, the Open Inventor 3.0 code for handling 2- and 4-component texture images will be used. The 3.0 behavior could reduce performance or produce unexpected results for images that are actually opaque, so it is unlikely you will ever need to set this variable.

OIV_COMPAT_CGM_HARDCOPY_400 Affects OIV.HardCopy.SoVectorizeCGMAction. If set to 1, CGM writing onto disk is not buffered (the buffering is only done by stream data writing of the operating system). This value takes precedence over OIV_CGM_HARDCOPY_BUFSIZE.

OIV_COMPAT_HPGL_HARDCOPY_370 Affects OIV.HardCopy.SoVectorizeHPGLAction. If set to 1, reproduces the (incorrect) HardCopy 3.7 line pattern printing behavior. It is unlikely you will ever need to set this variable.

OIV_COMPAT_CONTEXT_80 Affects the state of the compatibility mode for the contexts. If set to 0 (default) the actual implementation of OIV.Inventor.Devices.SoGLContext will be used to manage the OpenGL contexts. If set to 1 OIV.Inventor.Devices.SoGLContext will call the OpenGL makeCurrent function each time the bind() function is called. The unbind() function won't do anything; this mode provides a way to have a valid context outside any traversal. It's useful when third party APIs do direct OpenGL calls. If set to 2 the getCurrent() function will check the actual OpenGL state instead of using the OIV.Inventor.Devices.SoGLContext managment functions. This will prevent issues related to third party code which could call OpenGL makeCurrent() function instead of using SoGLContexts.

OIV_COMPLEXITY Affects OIV.Inventor.Nodes.SoComplexity. Specifies the default complexity (0.0 to 1.0). The complexity can be set programmatically using the OIV.Inventor.Nodes.SoComplexity.value field.

OIV_COMPLEXITY_TYPE Affects OIV.Inventor.Nodes.SoComplexity. Specifies the default complexity type. Valid values are OBJECT_SPACE, SCREEN_SPACE, BOUNDING_BOX. The complexity type can be set programmatically using the OIV.Inventor.Nodes.SoComplexity.type field.

OIV_CONFIG_FILE Specifies the full path of the configuration file.

OIV_CREASE_ANGLE_FIX When set, forces FLAT shaded rendering when creaseAngle = 0. Strictly speaking this is the correct behavior (see OIV.Inventor.Nodes.SoShapeHints), however it is incompatible with the historical behavior of Open Inventor and may change the appearance of geometry in existing applications. Applied only to OIV.Inventor.Nodes.SoIndexedTriangleStripSet and OIV.Inventor.Nodes.SoTriangleStripSet nodes.

OIV_CURSOR_STYLE [Windows only] Specifies the cursor style.

  • 0 Classic

  • 1 XOR

  • 2 Shadow

The cursor can also be controlled programmatically. See OIV.Inventor.Win.Viewers.SoWinViewer.

OIV_DATABASE_CHECK If set, OpenInventor will perform advanced checks on database objects during intialization and running steps. This variable only applies to debug compilation mode (_DEBUG preprocessor option). NOTE: This variable is all the most useful for users that develop their own Openinventor nodes. User must be aware that even if helpful, this variable leads to a larger memory usage.

OIV_DEBUG_CONFIG If set, requests that configuration debug output be generated. NOTE: This configuration parameter must be set in the system environment, not in a configuration file.

OIV_DEBUG_PIXEL_FORMAT [Windows only] If this variable is set to 1, Open Inventor programs will write a file (named pixel.txt) that indicates which pixel format was chosen.

OIV_DEFAULT_ACTION_USE_ALTERNATEREP If this variable is set to 1, then all action will ask for a potential alternal representation to traversed node. Default is false.

OIV_DECIMATION_GOAL_FPS Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoXtViewer, SoQtViewer. Specifies the default goal number of frames per second. The value can be set programmatically using the setGoalFramesPerSecond method of the classes above.

OIV_DECIMATION_GOAL_NUM_OF_TRIANGLES Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoXtViewer, SoQtViewer. Specifies the default goal number of triangles. The value can be set programmatically using the setGoalNumberOfTriangles method of the classes above.

OIV_DECIMATION_PERCENTAGE Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoXtViewer, SoQtViewer. Specifies the default decimation percentage. The value can be set programmatically using the setFixedPercentage method of the classes above.

OIV_DISABLE_DRAGGER_CTRL_KEY Affects OIV.Inventor.Draggers.SoDragPointDragger, OIV.Inventor.Draggers.SoHandleBoxDragger, OIV.Inventor.Draggers.SoTrackballDragger, OIV.Inventor.Draggers.SoTransformerDragger, OIV.Inventor.Manips.SoHandleBoxManip, OIV.Inventor.Manips.SoTrackballManip, OIV.Inventor.Manips.SoTransformerManip. If set to 1, when the CTRL key is pressed over the dragger, nothing happens. Otherwise, the CTRL key has its usual behavior, which varies from dragger to dragger.

OIV_DISABLED_GL_EXTENSION_LIST This variable contains a comma separated list of OpenGL extension names to disable explicitly in software. This is useful when encountering a GPU driver bug, or to check performance impact with or wihout a specific extension. See OIV.Inventor.Devices.SoGLExtension or www.opengl.org for a list of extension names.

OIV_DRAW_OCTREE Affects SoOctreeOrdering. If this environment variable is set and your application uses an SoOctreeOrdering node, an outline of the octree quadrants will be drawn. This is a debugging aid to allow you to see how your scene is distributed throughout the octree.

OIV_ENABLE_MESA_RENDERING Must be set to true when using Open Inventor on a computer configured with Mesa rendering capabilities. In this configuration, the rendering is performed with CPU capabilities. Note that in a headless environment, the Open Inventor desktop version must be used for CPU rendering capabilities (i.e. not the headless version). You should also set four environment variables :

  • MESA_GL_VERSION_OVERRIDE=4.6

  • MESA_GLSL_VERSION_OVERRIDE=460

  • LIBGL_ALWAYS_SOFTWARE=true

  • GALLIUM_DRIVER=llvmpipe

OIV_ENABLE_PNG_BACKGROUND Affects OIV.Inventor.Image.SoPNGImageRW (and texture nodes that load PNG files). Enables the merge of the background into the displayed image. The background replaces transparent parts of the image.

OIV_ENABLE_INMEMORY_TEXT_FILE Affects SoInput.readTextFile. If true (the default) SoInput.readTextFile will first check if the requested file has been cached in memory using the SoInput.addInMemoryTextFilefilename call. If false, the file will be read from disk and must be accessible.

OIV_ENVIRONMENT_ATTENUATION Affects OIV.Inventor.Nodes.SoEnvironment. Specifies the default squared, linear, and constant light attenuation coefficients (in that order) with respect to distance of light from surface (for Phong lighting). The values are specified as three floats. The background color can be set programmatically using the OIV.Inventor.Nodes.SoEnvironment.attenuation field.

OIV_EXTRUSION_EPSILON Affects OIV.Inventor.Nodes.SoExtrusion. If your extrusion appears to twist unexpectedly, try setting this value to a slightly smaller number. The default value is .998.

OIV_FACE_TYPE Affects OIV.Inventor.Nodes.SoShapeHints. Specifies the default face type. Valid values are UNKNOWN, CONVEX. The face type can be set programmatically using the OIV.Inventor.Nodes.SoShapeHints.faceType field.

OIV_FILE_SEARCH_PATHS Semi-colon separated path list used to initialize the directory list in OIV.Inventor.SoInput. Most Open Inventor classes that take a file name (for textures, shaders, etc) will search the directories in this list to find the file. Exception: OIV.LDM.Nodes.SoDataSet, OIV.VolumeViz.Nodes.SoVolumeData and derived classes.

OIV_FOG_COLOR Affects OIV.Inventor.Nodes.SoEnvironment. Specifies the default fog color. The value is specified as three floats (0.0 to 1.0) representing the RGB values of the color. The value can be set programmatically using the OIV.Inventor.Nodes.SoEnvironment.fogColor field.

OIV_FOG_TYPE Affects OIV.Inventor.Nodes.SoEnvironment. Specifies the default fog type. Valid values are: NONE, HAZE, FOG, SMOKE. The value can be set programmatically using the OIV.Inventor.Nodes.SoEnvironment.fogType field.

OIV_FOG_VISIBILITY Affects OIV.Inventor.Nodes.SoEnvironment. Specifies the default distance at which fog totally obscures objects. The value can be set programmatically using the OIV.Inventor.Nodes.SoEnvironment.fogVisibility field.

OIV_FONT_NAME Affects OIV.Inventor.Nodes.SoFont. Specifies the default font name. The value can be set programmatically using the OIV.Inventor.Nodes.SoFont.name field.

OIV_FONT_PATH Contains a colon-separated or semicolon-separated list of directories to search for font definition files. NOTE: This item cannot be set via OIV.Inventor.SoPreferences or a configuration file. It must be set in the environment (e.g., using setenv). See OIV.Inventor.Nodes.SoFont for more information.

OIV_FONT_SIZE Affects OIV.Inventor.Nodes.SoFont. Specifies the default font size. The value can be set programmatically using the OIV.Inventor.Nodes.SoFont.size field.

OIV_FONT_RENDERSTYLE Affects OIV.Inventor.Nodes.SoFont. Specifies the default font render style. Valid values are POLYGON, TEXTURE, POLYGON_AND_OUTLINE. The value can be set programmatically using the OIV.Inventor.Nodes.SoFont.renderStyle field.

OIV_FORCE_PIXEL_FORMAT [Windows only] If this environment variable is set to a positive integer, Open Inventor will try to use it as the pixel format. You can list the available pixel formats with the "oglinfo" utility that is provided with the Open Inventor for Windows SDK. To request a pixel format programmatically, use the setPixelFormat method of OIV.Inventor.Win.SoWinGLWidget.

The following special values are provided for your convenience:

  • -1 Choose a pixel format without hardware acceleration (if any). This is convenient for helping to determine if a problem is due to hardware acceleration, i.e., if the problem lies in the OpenGL driver or the board hardware.

  • -2 Choose the "minimal" pixel format. By default Open Inventor will choose the pixel format with the most capabilities, including stencil buffer, accumulation buffer, etc. On low-end boards it may be possible to get better performance using the pixel format with the least capabilities. Acceleration is still selected.

  • -3 Choose the "minimal" pixel format without hardware acceleration.

OIV_FORCE_TEX_COORD_SENDING Affects shapes derived from OIV.Inventor.Nodes.SoVertexShape, and only affects user-specified texture coordinates. If set to 1 (true), forces the sending of texture coordinates to the OpenGL pipeline without having a texture bound to the corresponding texture unit. This is useful when working with programmable shaders. Default is 0 (false). The value can be set programmatically using the OIV.Inventor.Nodes.SoTextureCoordinate2.forceSending field or the OIV.Inventor.Nodes.SoTextureCoordinate3.forceSending field.

OIV_FORCE_USE_VBO Affects the OIV.Inventor.Nodes.SoShapeHints.useVBO default value. Since Open Inventor 8.1 the default value for OIV.Inventor.Nodes.SoShapeHints.useVBO is true (1), using this variable, you can force back it to false (0). Despite the name, this environment variable just sets the default value for the useVBO field of OIV.Inventor.Nodes.SoShapeHints nodes created by the application. The default is true. Setting the variable to true or false does not guarantee VBOs will (or will not) be used, because the application might set the useVBO field on some instances of OIV.Inventor.Nodes.SoShapeHints.

OIV_FREETYPE_NAME Affects SoDynamicLibManager. Allows you to use your own Freetype dynamic library. Do not add the suffix. Do not add the "lib" prefix on UNIX systems. Do not add the final "D" used in the debug name. Default is "fei_freetype".

OIV_FULL_RENDER_WHEN_STILL Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies if the viewer will be default render at full resolution when it sits still for a certain period of time. (0=no, 1=yes). This flag can be set programmatically using the enableFullRenderingWhenStill method of the viewers classes above.

OIV_FULL_SCENE_ANTIALIASING Affects OIV.Inventor.Nodes.SoFullSceneAntialiasing. Specifies whether full scene antialiasing (if already enabled) will be applied to subsequent shapes (0=no, 1=yes). The value can be set programmatically using the OIV.Inventor.Nodes.SoFullSceneAntialiasing.on field. See OIV.Inventor.Nodes.SoFullSceneAntialiasing for information on enabling full scene antialiasing.

OIV_FULL_SCENE_ANTIALIASING_FILTER Affects OIV.Inventor.Nodes.SoFullSceneAntialiasing. Specifies which kinds of primitives should be antialiased when full scene antialiasing is enabled. Valid values are ALL or any combination of LINES, POINTS, POLYGONS, and TEXT. The value can be set programmatically using the OIV.Inventor.Nodes.SoFullSceneAntialiasing.filter field. See OIV.Inventor.Nodes.SoFullSceneAntialiasing for complete details.

OIV_GL_SMOOTHING Affects OIV.Inventor.Actions.SoGLRenderAction. Specifies the default smoothing flag (0=no smooth, 1=smooth). The smoothing flag can be set programmatically using OIV.Inventor.Actions.SoGLRenderAction.SetSmoothing(System.Boolean).

OIV_SET_RAY_PRECISION Affects OIV.Inventor.Actions.SoRayPickAction when defining a ray using the setRay method Specify (in radius) the value of fovy angle defined by the ray. If not set, the default value is set to 0.0003F

OIV_GLSL_DEBUG Affects OIV.Inventor.Nodes.SoShaderObject (and derived classes). Enables display of output generated by the GLSL compiler of the graphics display driver. If not set to true (1), no trace output is generated.

OIV_HC_BLACK_AND_WHITE Affects subclasses of OIV.HardCopy.SoVectorizeAction (HardCopy extension). Force all non-white colors to full black. This is useful because selecting "black & white" in the printer setup dialog normally produces gray scale rendering and some colors may be difficult to see. This option is applied after color translation (e.g. REVERSE_ONLY_BLACK_AND_WHITE).

OIV_HCGDI_APPCONTROL Affects OIV.HardCopy.SoVectorizeGDIAction (HardCopy extension). When this variable is non-zero, the application is responsible for calling StartDoc, StartPage, EndPage and EndDoc to manage the printer. There are two modes, depending on the value of OIV_HCGDI_APPCONTROL:

  • 1 : This is the most flexible mode. The application is responsible for setting the map mode, logical to device mapping, etc. (in addition to managing the printer). This mode is normally used in an MFC application.

  • 2 : This is the most convenient mode if you only need to manage the printer. OIV.HardCopy.SoVectorizeGDIAction will set up the mapping as usual. This mode is only available in Open Inventor 7.2 and higher.

OIV_HCGDI_EDGE_WIDTH Affects OIV.HardCopy.SoVectorizeGDIAction (HardCopy extension). Default is to draw a minimum width line for polygon edges. In most cases this is enough to prevent small triangles from disappearing. If > 0, this value is a scale factor applied to the "nominalWidth" (effectively same as OIV.Inventor.Nodes.SoDrawStyle.lineWidth). This value is fetched in the constructor so it must be set before creating an OIV.HardCopy.SoVectorizeGDIAction.

OIV_HCGDI_POLYGON_COMPAT Affects OIV.HardCopy.SoVectorizeGDIAction (HardCopy extension). Before Open Inventor 8.5.1.2 the action only used a "brush" (no pen) to render GDI polygons. In this case GDI only draws the "interior" of the polygon, so very small polygons could disappear completely because GDI determined that no part of the interior was visible. Although it's unlikely to be needed, this variable allows returning to the pre-8.5.1.2 behavior.

OIVHOME Specifies the path of the Open Inventor installation directory. Open Inventor may search for the stroke font files as well as pattern files in subdirectories of OIVHOME.

OIVARCH Specifies the directory that contains all architecture dependent files. In a standard installation this directory is under the $OIVHOME directory and has subdirectories such as "bin" and "lib". For example: arch-Windows-x86_64-msvc9-Debug contains files for a 64-bit Windows debug build using Visual Studio 2008 (VC++ 9). Open Inventor uses this environment variable for:

  • Finding license files (in $OIVHOME/$OIVARCH/License)

  • Finding libraries to load dynamicly at runtime (in $OIVHOME/$OIVARCH/bin or lib)

  • Finding programs to launch dynamicly (in $OIVHOME/$OIVARCH/bin)

OIV_INTERACTIVE_DRAW_STYLE Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies the default interactive draw style. Valid values are: VIEW_AS_IS, VIEW_HIDDEN_LINE, VIEW_NO_TEXTURE, VIEW_LOW_COMPLEXITY, VIEW_LINE, VIEW_POINT, VIEW_BBOX, VIEW_LOW_RES_LINE, VIEW_LOW_RES_POINT, VIEW_SAME_AS_STILL. The interactive draw style can be set programmatically using the setDrawStyle method of the viewers classes above.

OIV_INTERSECT_EPSILON Specifies the epsilon value against which the area of a triangle is checked to eliminate triangles with no area when picking. It allows you to pick objects that have very small coordinate values. Set the value to approximately 10 raised to three times the exponent of the object coordinates. Example: For objects with coordinates of approximately 10E-7, a value of 10E-21 would allow the objects to be picked.

OIV_IVTUNE_CONFIGURATION_FILE Specifies the path where IvTune will look for the configuration file to load. Default is "$OIVHOME/data/IvTune/IvtConfiguration.xml"

OIV_IVTUNE_SHORTCUT Controls the keyboard shortcut used for activating IvTune. The shortcut is composed of [SHIFT] followed by a second key. Use this environment variable to specify the value of the second key, chosen from the OIV.Inventor.Events.SoKeyboardEvent.Keys enum. You can also set IvTune activation shortcut programmatically using the SoIvTune.setShortCutValue() method. Default is 0xFFC9 [F12], which corresponds to a shortcut of [SHIFT] + [F12].

OIV_LD_LIBRARY_PATH Affects SoDynamicLibManager. Specifies a single path in which to search for a dynamic library to be loaded. Other paths may be searched as well. See SoDynamicLibManager for details.

OIV_LIBJPEG_NAME Affects SoDynamicLibManager. Allows you to use your own libJpeg dynamic library. Do not add the suffix. Do not add the "lib" prefix on UNIX systems. Do not add the final "D" used in the debug name. Default is "fei_libjpeg".

OIV_LIBPROJ4_NAME Affects SoDynamicLibManager. Allows you to use your own libProj4 dynamic library. Do not add the suffix. Do not add the "lib" prefix on UNIX systems. Do not add the final "D" used in the debug name. Default is "fei_proj4".

OIV_LICENSE_DEBUG Specifies the name of the file to which license debug information will be written. If not set, license debug info is not generated.

OIV_LICENSE_FILE Specifies the full path of the file containing the VSG license strings for Open Inventor and its extensions. Open Inventor searches for a valid password in the following locations: internal unlock string (see OIV.Inventor.Lock.SoLockManager), the system registry (Windows only, see Ladmin.htm), OIV_LICENSE_FILE, $OIVHOME/license/password.dat, and password.dat in the current directory.

OIV_LINE_WIDTH If defined, forces Open Inventor to use line width 1. no matter what line width the program requests. (This was used to improve performance on a system that had notoriously slow wide lines.)

OIV_LOWRESHIGHPERCENT Affects Remote Rendering. This variable specifies the rendered image size as a percentage of the actual window size in the normal case. The default is 1.0 (full size).

OIV_LOWRESLOWPERCENT Affects Remote Rendering. This variable specifies the rendered image size as a percentage of the actual window size when the Open Inventor viewer is in "Move as Low-Res" mode. The default is 0.7 (70 percent).

OIV_LOWRESRENDER Affects Remote Rendering. If this variable is defined and the target display (local machine) supports OpenGL, then low resolution rendering is enabled. No change to the application is required.

OIV_MATERIALS_PATH [UNIX only] Affects SoMaterialEditor. Specifies the path where the material palette will look for materials.

OIV_MAX_ANNO_RENDER2D_SIZE Affects OIV.Inventor.Nodes.SoAnnoText3. Specifies the maximum font size (in pixels) used in font size computed when SoAnnoText3.renderPrintType field is equal to RENDER2D_PRINT_RASTER. The default maximum value is 1000. If you notice a performance issue when rendering and zooming a scene graph containing many OIV.Inventor.Nodes.SoAnnoText3 nodes, setting this value to a smaller number, such as 64, may improve performance.

OIV_MAX_FONT_CACHES Specifies the maximum number of caches that can be used during text computation. Default value is 20; See OIV.Inventor.Nodes.SoFont for details.

OIV_MAX_SHADOWMAP_SIZE Specifies the maximum size of the shadowmap used for shadows in OIV.Inventor.Nodes.SoShadowGroup. This is used to prevent huge textures allocation on some hardware which can take a couple of minutes. Default value is 4096; See So for details.

OIV_MAX_VARIANCE_SHADOWMAP_SIZE Specifies the maximum size of the variance shadowmap used for shadows in OIV.Inventor.Nodes.SoShadowGroup. This allows to use a different texture size when variance shadows are used. Default value is 4096; See So for details.

OIV_MAX_TEXTURED_FONT_RES Specifies the maximum resolution used when generating textured glyph during text computation. (OIV.Inventor.Nodes.SoFont.renderStyle field must be set to TEXTURE.) The amount of memory used in textured text depends on this value. Default value is 600.

OIV_MIN_TEXTURED_FONT_RES Specifies the minimum resolution used when generating textured glyph during text computation. (OIV.Inventor.Nodes.SoFont.renderStyle field must be set to TEXTURE.) The amount of memory used in textured text depends on this value. Default value is 300.

OIV_MIN_VERTEX_VAVBO_NOCACHE Shapes using VBO or VA will deactivate caching if they contain at least OIV_MIN_VERTEX_VAVBO_NOCACHE vertices. Default value is 10000. In general, render caches (display lists) improve rendering performance for small(ish) shapes because the graphics driver will automatically optimize the geometry. And render caches are valuable because they reduce CPU overhead by avoiding traversal of the cached sub-scene graph. However if a large shape can be rendered using vertex arrays or VBOs, then the render performance probably will not be improved by including the shape in a render cache. (The reduced CPU overhead advantage of the render cache might still be useful in some cases. This environment variable basically allows you to specify the threshold number of vertices that defines a "large shape". If a render cache is already open (being built) when the shape is traversed, and the number of vertices is less than this value, then the shape will not use VA/VBO. Conversely, if no render cache is being built when the shape is traversed, and the number of vertices is greater than or equal to this value, then the shape will be rendered using VA/VBO (if possible) and render caching will not be allowed for the current OIV.Inventor.Nodes.SoSeparator. The default value is 10000 vertices. The application should be aware that Separators containing large shapes may not build a render cache and arrange the scene graph so that other shapes can be render cached. See OIV.Inventor.Nodes.SoVertexShape. NOTE: This variable must be set before Open Inventor is initialized.

OIV_MIN_VERTEX_VBO Shapes should use Vertex Buffer Object (VBO) if they contain at least OIV_MIN_VERTEX_VBO vertices. Default value is 0. For small shapes (i.e. a small number of vertices) it might be more efficient to use vertex arrays but not VBOs. This environment variable allows you to specify the minimum number of vertices that a shape must have in order to render using VBOs. The default is 0, meaning that all shapes are allowed to use VBOs. You can also disable VBOs for a specific shape, or group of shapes, using the OIV.Inventor.Nodes.SoShapeHints useVBO field. See OIV.Inventor.Nodes.SoVertexShape. NOTE: This variable must be set before Open Inventor is initialized.

OIV_MOUSE_WHEEL_ENABLE Affects OIV.Inventor.Win.SoWin, SoQt. Allows you to use the mouse wheel to zoom or dolly the camera when using the Open Inventor viewers (examiner, walk, etc.). The mouse wheel has the same kind of camera movement as the right thumbwheel dolly or zoom depending on the viewer type and camera type. Default is true (1). The value can be set programmatically using the enableMouseWheelDolly method of OIV.Inventor.Win.Viewers.SoWinViewer or SoQtViewer.

OIV_MULTITEXTURING Enables/disables multitexturing support.

  • 0 multitexturing support disabled

  • 1 multitexturing support enabled

If OIV_MULTITEXTURING is not defined, multitexturing support is enabled (if your graphics board supports it). Setting this variable to 0 is equivalent to maxTextureUnit equal 1. See OIV.Inventor.Nodes.SoTextureUnit for details.

OIV_NO_FBO Set to 1 to disallow use of OpenGL Frame Buffer Object. Default is 0.

OIV_NO_FLEXNET Set to 1 to disallow FLEXnet licensing checking. Default is 0.

OIV_NO_IVTUNE Affects IvTune activation. If set to 1, disallows interactive activation of an IvTune window from an Open Inventor application. You can also allow/disallow IvTune activation programmatically using the OIV.Inventor.SoDB.SetIvTuneAllowed(System.Boolean) method. Default is 0.

OIV_NO_SHADER_LAYERS_BLEND Disable the use of fragment shaders when using transparency type OIV.Inventor.Actions.SoGLRenderAction.TransparencyTypes.SORTED_PIXEL.

OIV_NORMGEN_COMPAT If set, Open Inventor will use the pre-version 3.1 algorithm for computing normals. This algorithm has very bad performance when the geometry bounding box is asymmetrical. It is not likely you will ever need to set this variable.

OIV_NORMGEN_TOLERANCE Sets the "tolerance factor" used to test for coincident vertices when computing vertex normal vectors for a geometric primitive. A larger value for OIV_NORMGEN_TOLERANCE results in fewer vertices being considered coincident. This can significantly reduce the time required to compute normal vectors for large geometry, for example MeshViz meshes. The default value is 1000000.

OIV_NUM_RENDER_PASSES Affects OIV.Inventor.Actions.SoGLRenderAction. Specifies the default number of render passes. Must be an integer greater than 1. The number of passes can be set programmatically using SoGLRenderAction.numPasses.

OIV_NUM_SORTED_LAYERS_PASSES Affects OIV.Inventor.Actions.SoGLRenderAction. When SORTED_PIXEL transparency is used, this variable specifies either:

  • the default number of render passes in the case of software implementation (depth peeling)

  • the number of render layers in the case of hardware implementation (single-pass k-buffer algorithm)

Must be an integer greater than 1. The value can be set programmatically using OIV.Inventor.Actions.SoGLRenderAction.SetSortedLayersNumPasses(System.Int32).

OIV_NURBS_FIX_TRIM_CONNECTIONS In some cases, trimming curves are not properly connected in a trimming loop. This may result in bad tesselations of NURBS surfaces when using the CONSTANT tessellationType of the NurbsProperty node (the default mode). When this mode is activated, the NURBS tesselation algorithm tries to reconnect trimming curves. Set to 0 to disable this mode. Default is 1.

OIV_NURBS_FORCE_GLU_CONVEXISATION When set to 1, always use the GLU polygon tesselation instead of the internal one. Before version 7.2, the default behavior was to use the internal tesselation. Sometimes, the result produced by this internal tesselation was wrong when using the CONSTANT tessellationType of the NurbsProperty node (the default mode). Set to 0 to revert to the internal tesselation mode. Default is 1.

OIV_NURBS_CHECK_RATIONAL_TRIM_OUTSIDE_DOMAIN When set to 0, do not try to limit the values of homogeneous trimming curves coordinates to the boundaries of the NURBS domain. Sometimes, trimming curve points can be defined outside the domain but their tesselated counterparts may lie inside the domain for "heavy" weights. Notice that this test is always performed for non rational coordinates since it is invalid to define trimming curves lying outside the domain. Default is 1: the test is performed.

OIV_OIT_DEFAULT_MODE Select a specific method used to perform Order Independent Transparency The preference value can be AUTO (default), ABUFFER, KBUFFER, DUALPASS_KBUFFER or DEPTH_PEELING.

  • AUTO will try to select the best method based on hardware support and memory needed

  • KBUFFER is single pass but has a memory overhead and needs a proprietary extension from Nvidia

  • DUALPASS_KBUFFER is dual pass and needs OpenGL 4.2 hardware

  • DEPTH_PEELING is the slowest but runs on essentially all hardware

  • ABUFFER is fast but has a memory overhead and can exhibit rendering artifacts so it is not recommended

If your hardware doesn't support the selected method, it will fall back to a less advanced one.

OIV_OLD_ERROR_HANDLER Due to a Windows programming limitation, the error console (OIV.Inventor.Win.SoConsole) is not useable in multi-threaded applications. This environment variable allows you to use the older (Open Inventor 3.1 and earlier) error message handler instead.

OIV_PBUFFER_DEBUG Affects SoPBuffer. Set to 1 to enable debug trace output for Pbuffers.

See also OIV_PBUFFER_ENABLE.

OIV_PBUFFER_ENABLE Affects SoPBuffer. Set to zero to disallow use of Pbuffers.

Note: If Pbuffers are disallowed, OpenGL does rendering in software. This gives low performance and OpenGL extensions will often not be available. In general the image may not match the on-screen image simply because a different renderer is being used. However, the lack of OpenGL extensions can cause the offscreen image to differ signficantly. Following are some of the features that depend on OpenGL extensions: Open Inventor correct transparency, VolumeViz 3D textures and shadowing.

OIV_PERFCOUNTER_ENABLE Enable or not the SoPerfCounterManager performance counters manager. By default it is disabled.

OIV_PFD_SUPPORT_COMPOSITION Specifies if the composition with Aero (Windows Vista and 7) is on or off (0= force off, 1= force on). By default OpenInventor will try to use composition. Note that if you turn it on, PFD_SUPPORT_GDI is unset which will prevent using GDI on the OpenGL render area. Also if you force the composition to off and the device doesn't provide any pixel format with GDI support, OpenInventor will post an error. Note also that it has no effect on SoQt viewers.

OIV_PFD_SUPPORT_GDI Specifies if the GDI support with Aero (Windows Vista and 7) is on or off (0= force off, 1= force on). By default OpenInventor will try to use composition. (See OIV_PFD_SUPPORT_COMPOSITION) GDI support and composition support are exclusive. OIV_PFD_SUPPORT_GDI is preponderant on OIV_PFD_SUPPORT_COMPOSITION, meaning that if both are defined, GDI support is choosen first.

OIV_PICK_GENERATE_ALL_PROPERTIES Affects OIV.Inventor.Actions.SoRayPickAction. Set this variable to true to enable computation of all properties (normal vector, texture coordinates, etc) during pick traversal. Default is false.

OIV_PLUGINS_DIRECTORY Specifies an additional directory to search for Open Inventor plugins. See OIV.Inventor.SoDB.AddPlugin(System.String). Default additional directory is empty.

OIV_POINT_SET_USE_VERTEX_ORDERING Affects OIV.Inventor.Nodes.SoPointSet. Specifies if point sets use the vertex ordering on the state. Valid values are 0 (false) or 1 (true). Default is false.

OIV_POLYGON_OFFSET Affects OIV.Inventor.Nodes.SoPolygonOffset. Specifies if the polygon offset computation is on by default (0=no, 1=yes) The value can be set programmatically using the OIV.Inventor.Nodes.SoPolygonOffset.on field.

OIV_POLYGON_OFFSET_FACTOR Affects OIV.Inventor.Nodes.SoPolygonOffset. Specifies the default polygon offset factor. The value can be set programmatically using the OIV.Inventor.Nodes.SoPolygonOffset.factor field.

OIV_POLYGON_OFFSET_STYLES Affects OIV.Inventor.Nodes.SoPolygonOffset. Specifies the default polygon offset styles. Valid values are FILLED, LINES, POINTS. The value can be set programmatically using the OIV.Inventor.Nodes.SoPolygonOffset.styles field.

OIV_POLYGON_OFFSET_UNITS Affects OIV.Inventor.Nodes.SoPolygonOffset. Specifies the default polygon offset units. The value can be set programmatically using the OIV.Inventor.Nodes.SoPolygonOffset.units field.

OIV_QT_TIMER_THREAD Affects SoQt viewers. If set to 1, specifies that a separate thread should be used to signal the delay sensor timeout.

When mouse events are continuously caught by the event delegate, the Qt viewers may not update the scene as often as necessary. Because of the way that Qt's QTimer class works, the timeout for processing the delay queue does not always occur, and the scene is not updated. If the OIV_QT_TIMER_THREAD is set to 1, a separate thread is used to signal the delay sensor timeout. To avoid possible compatibility problems, the default is to use the existing QTimer mechanism for processing the delay queue timeout.

OIV_REMOTERENDER

  • ON - Always use remote rendering

  • OFF - Never use remote rendering

  • AUTO (default) - Use if remote display does not have GLX

See also OIV_REMOTERENDER_BUFFER, OIV_REMOTERENDER_DISPLAY, OIV_LOWRESRENDER, OIV_LOWRESHIGHPERCENT.

OIV_REMOTERENDER_BUFFER

  • PBUFFER - Use an OpenGL Pbuffer for rendering (Default). Allows accelerated off-screen rendering. If not available, use a Pixmap.

  • PIXMAP - Use a Pixmap for rendering. (Was the default value prior to version 3.1)

  • SCREEN - Use an on-screen window for rendering. Generally provides best performance, but user must have exclusive use of screen to avoid the window being overlapped by other windows.

OIV_REMOTERENDER_DEBUG Debug info is enabled when set to "1".

OIV_REMOTERENDER_DISPLAY Set this to the local X display string. The default is ":0.0". Set to ":0.1" to use the second pipe and so on (if any).

OIV_REMOTERENDER_RGB_BGR This variable allows to get the right colors with TightVNC.

OIV_REPORT_ZERO_VECTORS Applies only to the Open Inventor debug libraries. If set to 0, disables reporting of zero length vectors, specifically direction vectors computed by certain interactive features, e.g., draggers.

OIV_REQUIRE_STENCIL <int> Provides a strong hint that an OpenGL stencil buffer is required for correct rendering. The integer value is the requested stencil buffer depth (default is 1). On Windows, a pixel format that has a stencil buffer will be chosen even if it is not accelerated.

OIV_SEEK_TIME Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies the default seek time (seconds). The seek time can be set programmatically using the setSeekTime method of the viewers classes above.

OIV_SEEK_MODIFY_ORTHOGRAPHIC_CAMERA_ORIENTATION Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies if the seek modifies the orientation of orthographic cameras.

  • true : Compatibility behavior, the seek can modify camera orientation

  • false : Seek with a blocked camera orientation but with a zoom Default value : true

OIV_SEPARATE_SPECULAR_SUPPORT Enables the use of the GL_EXT_separate_specular extension in OpenInventor. The default value is false

OIV_SHADER_CHECK_INTERVAL Affects OIV.Inventor.Nodes.SoShaderObject. Specifies how frequently the shader source file is checked for a change (in seconds). This allows you to edit a shader without needing to restart your application after each shader modification.

OIV_SHADOW_TEXTURE_UNIT0 OIV.Inventor.Nodes.SoShadowGroup reserves texture unit OIV_SHADOW_TEXTURE_UNIT0 and OIV_SHADOW_TEXTURE_UNIT1 for its rendering. If these values are not set, texture units 1 and 2 are used. These values can't be greater than 3.

OIV_SHADOW_TEXTURE_UNIT1 OIV.Inventor.Nodes.SoShadowGroup reserves texture unit OIV_SHADOW_TEXTURE_UNIT0 and OIV_SHADOW_TEXTURE_UNIT1 for its rendering. If these values are not set, texture units 1 and 2 are used. These values can't be greater than 3.

OIV_SHAPE_TYPE Affects OIV.Inventor.Nodes.SoShapeHints. Specifies the default shape type. Valid values are UNKNOWN, SOLID. The shape type can be set programmatically using the OIV.Inventor.Nodes.SoShapeHints.shapeType field.

OIV_SHARE_LISTS Specifies what kind of OpenGL display list sharing is allowed.

  • 0 Disable display list sharing (same behavior as v2.6 and older)

  • 1 Conservative sharing (not available on Unix) Only add context to a share group containing contexts with the same pixel format. This is the "official" limitation per the Microsoft documentation, but is very limiting.

  • 2 Aggressive sharing (default) Add context to the first share group that OpenGL says we can share with. This may allow us to share between contexts with different pixel formats, which is valuable for single vs. double buffered, stereo vs mono, etc.

OIV_SORTED_LAYERS_TEXTURE_UNIT If set, the SORTED_PIXEL transparency type will use this texture unit internally instead of OIV.Inventor.Nodes.SoFragmentShader.GetMaxTextureImageUnit()-1.

OIV_STEREO_ACTIVE Affects SoQtViewer, OIV.Inventor.Components.Stereo.SoStereoViewer, SoWinMPRenderArea, OIV.Inventor.Win.Viewers.SoWinViewer, SoXtMPRenderArea, SoXtViewer. Specifies the default stereo viewing status. Valid values are 0 or 1 (inactive or active). The value can be set programmatically using the setStereoActive method of the classes above.

OIV_STEREO_BALANCE Affects SoQtViewer, OIV.Inventor.Components.Stereo.SoStereoViewer, SoWinMPRenderArea, OIV.Inventor.Win.Viewers.SoWinViewer, SoXtMPRenderArea, SoXtViewer. Specifies the default stereo balance (the position of the zero parallax plane). The value is specified as a float. The value can be set programmatically using the setStereoBalance method of the classes above.

OIV_STEREO_BALANCE_NEAR_FRAC Affects SoQtViewer, OIV.Inventor.Components.Stereo.SoStereoViewer, SoWinMPRenderArea, OIV.Inventor.Win.Viewers.SoWinViewer, SoXtMPRenderArea, SoXtViewer. Specifies whether the default stereo balance (the position of the zero parallax plane) is defined as a fraction of the camera near distance, or not. The value is specified as a boolean. The value can be set programmatically using the setStereoBalance method of the classes above.

OIV_STEREO_GREENSHIFT Affects OIV.Inventor.Components.Stereo.SoInterlacedStereo. Enables the "green shift" operation. This is an image post-processing operation required for stereo on a Sharp 3D LCD display. It is only meaningful when the stereo format is vertical interlaced (fast or best).

OIV_STEREO_OFFSET Affects SoQtViewer, OIV.Inventor.Components.Stereo.SoStereoViewer, SoWinMPRenderArea, OIV.Inventor.Win.Viewers.SoWinViewer, SoXtMPRenderArea, SoXtViewer. Specifies the default stereo offset. The value is specified as a float. The value can be set programmatically using the setStereoOffset method of the classes above.

OIV_STEREO_TESTPATTERN Affects SoQtViewer, OIV.Inventor.Components.Stereo.SoStereoViewer, SoWinMPRenderArea, OIV.Inventor.Win.Viewers.SoWinViewer, SoXtMPRenderArea, SoXtViewer. When stereo is enabled, displays a stereo text pattern on top of the scene (it's probably best not to have anything else in the scene). It displays a blue rectangle which should be visible only to the left eye and a red rectangle which should be visible only to the right eye. This allows you to confirm the display is actually doing stereo and that the left/right eye images are displayed in the correct order. The default value is false.

OIV_STEREO_TYPE Affects SoQtViewer, OIV.Inventor.Components.Stereo.SoStereoViewer, SoWinMPRenderArea, OIV.Inventor.Win.Viewers.SoWinViewer, SoXtMPRenderArea, SoXtViewer. Specifies the default stereo viewer type. Valid values are ANAGLYPH_RED_CYAN, ANAGLYPH_GREEN_MAGENTA, ANAGLYPH_BLUE_YELLOW, HALF_SCREEN_OVERUNDER_FILL, HALF_SCREEN_OVERUNDER, HALF_SCREEN_SIDEBYSIDE_FILL, HALF_SCREEN_SIDEBYSIDE, INTERLACED_HORIZONTAL_BEST, INTERLACED_VERTICAL_BEST, INTERLACED_HORIZONTAL_FAST, INTERLACED_VERTICAL_FAST, RAW. The value can be set programmatically using the setStereoViewType method of the classes above.

OIV_STILL_DRAW_STYLE Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies the default still draw style. Valid values are: VIEW_AS_IS, VIEW_HIDDEN_LINE, VIEW_NO_TEXTURE, VIEW_LOW_COMPLEXITY, VIEW_LINE, VIEW_POINT, VIEW_BBOX, VIEW_LOW_RES_LINE, VIEW_LOW_RES_POINT. The still draw style can be set programmatically using the setDrawStyle method of the viewers classes above.

OIV_STROKE_FONT_PATH Specifies the path of the directory containing the VSG stroke font data files. See OIV.Inventor.Nodes.SoFont for information on the stroke font files.

OIV_SYNC_QTWIDGET_FIRSTRENDER Affects SoQtViewer. Works only with Qt Legacy Viewers (SoQtGLWidget, SoQtViewer, SoQtRenderArea ...). In case of multiple Qt viewers, this preference synchronizes the first OpenGL render allowing to display them all at the same time. Default is false.

OIV_TEXT_ACCUMULATION Enables or disables 'accumulation rendering' mode for OIV.Inventor.Nodes.SoText3 nodes. Default is false. See OIV.Inventor.Nodes.SoTextProperty enableTextAccumulation field.

OIV_TEXT_ALIASING_FACTOR Sets the default aliasing factor for textured text rendering. See OIV.Inventor.Nodes.SoTextProperty for information on text rendering options.

OIV_TEXT_ALIGNMENTH Sets the default text horizontal alignment. See OIV.Inventor.Nodes.SoTextProperty for information on text rendering options.

OIV_TEXT_ALIGNMENTV Sets the default text vertical alignment. See OIV.Inventor.Nodes.SoTextProperty for information on text rendering options.

OIV_TEXT_BACKFRAMELINE_WIDTH Sets the default backFrame line width. See OIV.Inventor.Nodes.SoTextProperty for information on text rendering options.

OIV_TEXT_MARGIN Sets the default text margin. See OIV.Inventor.Nodes.SoTextProperty for information on text rendering options.

OIV_TEXT_ORIENTATION Sets the default text orientation. See OIV.Inventor.Nodes.SoTextProperty for information on text rendering options.

OIV_STREAM_BUFFERS_NUMBER Specifies the number of buffers used for the asynchronous file reading.

OIV_STREAM_BUFFERS_SIZE Specifies the size of the buffers used for the asynchronous file reading.

OIV_TEXTURE_BORDER_CLAMP_ENABLE Affects OIV.Inventor.Nodes.SoShadowGroup.

Some shadowing problems (performance issues or no computation of shadows) have been observed with some OpenGL drivers due to the Texture Border Clamp OpenGL extension. Set this environment variable to to 0 to disable use of this extension if necessary.

OIV_TEXTURE_QUALITY Affects OIV.Inventor.Nodes.SoComplexity. Specifies the default texture quality (0.0 to 1.0). The texture quality can be set programmatically using the OIV.Inventor.Nodes.SoComplexity.textureQuality field.

OIV_TRACKER_DIRECT_MODE Affects OIV.Inventor.Draggers.SoDragger. Specifies the tracker direct mode. Valid values are: NONE, MOVE, ROTATE, FREE, DEFAULT. The tracker direct mode can be set programmatically using OIV.Inventor.Draggers.SoDragger.SetTrackerDirectMode(OIV.Inventor.Draggers.SoDragger.TrackerDirectModes).

OIV_TRANSPARENCY_TYPE Affects OIV.Inventor.Actions.SoGLRenderAction. Specifies the default transparency type. Valid values are: NO_TRANSPARENCY, NO_SORT, OPAQUE_FIRST, SORTED_OBJECT or SORTED_PIXEL. The transparency type can be set programmatically using GLRenderAction.transparencyType, please refer to this class documentation for more information on these values. Default is NO_SORT.

OIV_USE_GLOBALFIELD_TIME Affects Open Inventor applications that use CAVELib. If set to 1, OIV.Inventor.SoDB.GetCurrentTime() will return the current time based on the global "realTime" field which the CAVELib application can set to Cave Time before each frame. Default is 0.

OIV_USE_HEADLIGHT Affects OIV.Inventor.Win.Viewers.SoWinViewer, SoQtViewer, SoXtViewer. Specifies if the headlight is on by default (0=no, 1=yes) The headlight state can be set programmatically using the setHeadlight method of the classes above.

OIV_USE_NPOT Affects OIV.Inventor.Nodes.SoExtTexture2, OIV.Inventor.Nodes.SoTexture2, OIV.Inventor.Nodes.SoTextureCubeMap (and derived classes) By default, if your graphics board supports the OpenGL extension ARB_texture_non_power_of_two, Open Inventor will pass non-power-of-two textures directly to OpenGL. To disable this behavior, set this configuration parameter to 0. In this case the image will be scaled up or down to the next power of 2. Default is 1.

OIV_USE_OIVS Uses either IvTune or Open Inventor Studio in OIV.IvTune.SoIvTune class. Specifies whether IvTune or Open Inventor Studio is launched by the hotkey (Shift-F12 by default) or with the () method: IvTune is launched if OIV_USE_OIVS is 0, otherwise Open Inventor Studio is launched. Default is 0.

OIV_USE_OOB Affects OIV.Inventor.Nodes.SoShape (and derived classes) By default, Open Inventor use Axis Aligned Bounding Box (AABB). set this configuration parameter to 1, Object Oriented Bounding (OOB) will be used whenever possible. Using OOB provides better selection mechanism for culling, picking and collision detection at the cost of higher CPU usage. Default is 0.

OIV_USER_LIBS Defines a semi-colon separated list of shared libraries (UNIX) or DLLs (Windows) that contain custom nodes to be loaded. Items in list can be full paths, relative paths, library name with or without extension. When using single library name, Open Inventor will search for them in various directories as described in SoDynamicLibManager.

OIV_VERTEX_ATTRIBS Affects OIV.Inventor.Nodes.SoVertexShaderParameter and its derived classes. If set to 0, vertex shader attributes are ignored. Default is 1.

OIV_VERTEX_ORDERING Affects OIV.Inventor.Nodes.SoShapeHints. Specifies the default vertex ordering. Valid values are UNKNOWN, CLOCKWISE, COUNTERCLOCKWISE. The vertex ordering can be set programmatically using the OIV.Inventor.Nodes.SoShapeHints.vertexOrdering field.

OIV_VIEWER_ANIMATION Affects OIV.Inventor.Win.Viewers.SoWinExaminerViewer, SoQtExaminerViewer, SoXtExaminerViewer. Specifies if animation is enabled by default (0=off, 1=on). The animation flag can be set programmatically using the setAnimationEnabled method of the viewers classes above.

OIV_VIEWER_DECORATION Affects OIV.Inventor.Win.Viewers.SoWinFullViewer, SoQtFullViewer, SoXtFullViewer. Specifies if decorations are on or off by default (0=off, 1=on). Decorations can be enabled/disabled programmatically using the setDecoration method of the viewers classes above.

OIV_VIEWER_POPUP_MENU Affects OIV.Inventor.Win.Viewers.SoWinFullViewer, SoQtFullViewer, SoXtFullViewer. Specifies if the popup menu is enabled by default (0=off, 1=on). The popup menu can be enabled/disabled programmatically using the setPopupMenuEnabled method of the viewers classes above.

OIV_VIEWER_SIZE Affects all SoXXXFullViewer (and derived) classes, including OIV.Inventor.Win.Viewers.SoWinFullViewer, SoQtFullViewer, SoXtFullViewer, SoXtMPFullViewer and SoWinMPFullViewer. Specifies the default size of the viewer window in pixels. Default since Open Inventor 8.1 is 800x600 (previously was 400x400).

OIV_VIEWER_SHOW_RECORD_ENTRY Affects OIV.Inventor.Win.Viewers.SoWinFullViewer, SoQtFullViewer, SoXtFullViewer. Specifies if the "Record" (MPEG) entry is available in the popup menu. This entry is available by default (0=off, 1=on).

OIV_VIEWER_SHOW_FSAA_ENTRY Affects OIV.Inventor.Win.Viewers.SoWinFullViewer, SoQtFullViewer, SoXtFullViewer. Specifies if the "Full Scene AntiAliasing" entry is available in the popup menu. This entry is available by default (0=off, 1=on).

OIV_VIEWER_SHOW_STEREO_ENTRY Affects OIV.Inventor.Win.Viewers.SoWinFullViewer, SoQtFullViewer, SoXtFullViewer. Specifies if the "Stereo" entry is available in the popup menu. This entry is available by default (0=off, 1=on).

OIV_WHEEL_DELTA Affects OIV.Inventor.Events.SoMouseWheelEvent. A mouse wheel has discrete, evenly spaced notches. When you rotate the wheel, a wheel message is sent as each notch is encountered. Most modern mouse wheels generate an event with a value of 120 per each notch of the wheel. You can use this environment variable to change this value.

OIV_WINDING_TYPE Affects OIV.Inventor.Nodes.SoShapeHints. Specifies the default winding type. Valid values are NONE, ODD, NON_ZERO, POSITIVE, NEGATIVE, ABS_GEQ_TWO. The winding type can be set programmatically using the OIV.Inventor.Nodes.SoShapeHints.windingType field.

OIV_ZERO_AREA_CHECK Set this to a small positive float value. During decimation, a triangle with an area less than the specified value will be discarded. If you notice missing triangles in decimated output, try setting the value to a smaller number. Default: 1E-5.

OIV_ZLIB_NAME Affects SoDynamicLibManager. Allows you to use your own zlib dynamic library. Do not add the suffix. Do not add the "lib" prefix on UNIX systems. Do not add the final "D" used in the debug name. Default is "fei_zlib".

Debug Environment Variables We recommend these flags only be used by expert Open Inventor users or at the request of VSG Customer Support.

IV_DEBUG_BUFLEN <num> Constructs an internal <num> length buffer to print into (See SoDebug.C)

IV_DEBUG_CACHES Prints interesting (!) stuff

IV_DEBUG_CACHELIST Ditto

IV_DEBUG_SENSORS Ditto (lots of!)

IV_DEBUG_TRANSFORM_MANIP_FIELDS Ditto

IV_DEBUG_KIT_PARTS Ditto

IV_DEBUG_FROMNAME Issues a message if the dynamic load of a node class fails.

IV_DEBUG_PICK_CULL For relevant grouping nodes, prints whether they were culled during picking.

IV_DEBUG_RENDER_CULL For relevant grouping nodes, prints whether they were culled during rendering.

IV_DEBUG_TEXCACHE Prints information about texture caching.

IV_DEBUG_WRITE_KIT_CHILDREN Forces a nodekit to be written out like an OIV.Inventor.Nodes.SoGroup node.

OIV_DEBUG_SHADOW Prints debug information about OIV.Inventor.Nodes.SoShadowGroup.

OIV_MP_DEBUG Prints debug information about the multi-pipe viewer.

OIV_MUTEX_TIMEOUT [_WIN32 only] Sets a timeout value in milliseconds for the Open Inventor mutex classes, e.g., SbThreadMutex. If the timeout is exceeded without acquiring the mutex or read/write lock, a message is printed. This can be useful if you suspect the application is deadlocked in an Open Inventor mutex. The default is no timeout in the release build and five seconds in the debug build. NOTE: This item cannot be set via OIV.Inventor.SoPreferences or a configuration file. It must be set in the environment (e.g., using set).

OIV_SYNCHRONIZE [UNIX only] If this variable is set to "1", then Open Inventor will call XSynchronize on each display connection that it uses. This can be helpful if your application is getting an X error (hint: set a breakpoint in the Xlib function _XError).

SO_DRAGGER_DIR Specifies the path to the directory containing dragger geometry files. By default, Open Inventor uses the dragger geometry files from $OIVHOME/data/draggerDefaults. See OIV.Inventor.Draggers.SoDragger.

VOLUMEVIZ_CENTERED_DICOM If this variable is set to true, the image position value in the DICOM file is ignored and the DICOM volume extent is centered on the origin. Medical applications normally set this variable to false. Default is true.

VOLUMEVIZ_DICOM_FILE_CACHE_CAPACITY The maximum number of dicom files that can be kept in cache when reading dicom data with an OIV.LDM.Nodes.SoDataSet node. Increasing the value of this preference can improve reading speed, but it must be kept lower than the maximum number of simultaneously open files descriptors of the system (On Windows, see the _setmaxstdio() function). Default is 64.

VOLUMEVIZ_DICOM_FRAME_CACHE_SIZE Specifies, in MB, the maximum size of the cache containing the DICOM file stack. The default value is -1, which specifies that the cache is unlimited.

See Also