Release Notes


Open Inventor 9.2 (October 2012) 

Older release notes

The following document contains the release notes for the latest minor release (9.2).

The current service release is 9.2.4. See the bugs fixed section for a complete
lists of issues resolved per version



See below the complete list of enhancements and new features included in Open Inventor 9.2.

Make sure to read the Compatibility Notes as well. They contain informations about important changes in this release.
Finally, check the System Requirements topic for important informations about Open Inventor platform support changes in this release.

Visual Studio 2012 for the Windows x64 platform is now supported

With Open Inventor 9.2, you can build your C++ or .NET (framework 4.5) application with Visual Studio 2012 on the Windows x64 platform.
(Note: Visual Studio 2012 requires Windows 7).

Note: the Visual Studio 2012 .NET edition will be available few weeks after C++.

New product life cycle section in the developer zone 

In the online documentation, you will find a new "Product life cycle" section in the "What's New" menu.  The purpose of this section is to inform you about the compatibility and support rules that are applied during the life cycle of a version of Open Inventor. You will also find an updated list of major planned events which may affect your application in the near future. We encourage you to regularly look at this list and also to give us your feedback.

New .NET installer

Open Inventor .NET is now delivered with a new installer, offering a better user experience and also allowing users to select which part of the distribution they wish to install on their system. 

Documentation delivery

Since Open Inventor 8.5, the Open Inventor Developer Zone contains the full set of Open Inventor documentation including the User's Guide (Open Inventor Mentor volumes 1 and 2) and Reference Manuals for each version of the API. Note that the API reference manuals are also provided as HTML or native CHM files on Windows. The entire Open Inventor Developer Zone content can be downloaded as a separate package for off-line browsing (off-line browsing does not allow advanced search).

Open Inventor

Improved SoText2 performance

This version continues the major performance improvement for SoText2 nodes that started in Open Inventor 9.1. The performance of SoText2 is now independent of the alignment mode used. Furthermore the length of the string displayed by an SoText2 node no longer has a significant impact on performance.  Text displayed by SoText2 is inherently screen aligned and has a fixed size in screen units, making it very useful for annotating axes and callouts.

License query API 

The new SoLicenceInfo class allows you to programmatically get information about the Open Inventor licenses available on your system. You can also register a callback to customize the behavior of your application when a license is missing or will expire. The new example ...\src\Inventor\examples\Features\LicensesExaminer demonstrates how to use the class.

Automatic setting of interactive mode 

Previously interactive mode was activated by the two mechanisms below (or by explicitly setting interactive mode using an SoInteractiveComplexity node):

  • Using the mouse to move the camera in a viewer (pan, zoom, rotate, ...)
  • Using the mouse to move a dragger in the scene

Open Inventor 9.2 introduces a new method setAutoInteractiveMode() in class SoSceneManager.  In autoInteractive mode Open Inventor automatically switches to interactive mode when any scene graph notification occurs, then automatically returns to "still" mode if there no addition notification since the last render traversal. AutoInteractive mode includes the previous behaviors (with a small but important difference noted below), but also includes all other scene graph modifications, for example:

  • Moving a slider in an interface that is linked to any field (e.g. SoDataRange::min)
  • Moving an object in the scene (e.g. modifying SoTransform::translation)

The new mechanism is much more generic. Since it doesn’t rely only on the viewer and dragger classes to activate interactive mode, a custom viewer or even a renderArea can benefit from this mode.

NOTE: When autoInteractive mode is off (default), Open Inventor switches to interactive mode when the mouse button is pressed to begin moving the camera (or a dragger) and continues in interactive mode until the mouse button is released.  When autoInteractive mode is on, Open Inventor does not switch to interactive mode until the mouse button is pressed AND the mouse is moved.  In addition, if you stop moving the mouse, Open Inventor will revert to "still" mode until the mouse moves again.

Vertical synchronization control

Vertical synchronization (VSync) is an option on most systems, wherein the graphics card is prevented from doing anything visible to the display memory until the monitor finishes its current refresh cycle.  This feature prevents visual artifacts commonly called "tearing", however the frame rate of the rendering engine cannot exceed the monitor's refresh rate. Disabling VSync allows the graphics card to render as fast as possible and can be useful for benchmarking. A new method setVSyncEnabled() has been added to the class SoGLContext to control vertical synchronization directly from the application. The default state can normally be set through the graphics card's control panel or configuration file.


New deferred lighting

Deferred lighting computes lighting based on the "surface" defined by the first non-transparent voxel instead of the gradient computed at every voxel.

Deferred lighting is particularly valuable in scenarios using SoUniformGridClipping or SoVolumeClippingGroup and when the volume does not contain well-defined surface like iso-surface or CAD data. Deferred lighting may also achieve better results with a noisy volume (for example seismic data).

You can activate deferred lighting through the field deferredLighting in SoVolumeRenderingQuality. We recommend activating ambientOcclusion in combination with deferred lighting to get the highest quality.

Deferred lighting is demonstrated in the example VolumeViz\examples\deferredLighting.

Note: Only one light (the first light in the scene) is considered and only the first boundary found is lighted when you are looking at a semi-transparent volume.  Improvements will be done in future releases.

(Right image: data courtesy of North Star Imaging, Inc. )

Automatic number of slices definition

Since Open Inventor 9.2, if you set the values of the fields numSlicesControl and numSlices of the class SoVolumeRender to AUTOMATIC and 0 respectively the number of slices will be computed based on the dimensions of the volume data, the SoComplexity and the viewing direction. If the viewing direction is updated the number of slices will be automatically adjusted.

Note: Remove numSlices changes from SoInteractiveComplexity::fieldSettings and add to SoInteractiveComplexity::fieldSettings “SoComplexity value 0.2 1.0”

Performance Improvement

  • VolumeMask editing
  • VolumeGroup rendering
  • Interactivity

Outline visibility threshold in voxelized rendering

When voxelizedRendering and voxelOutline are set to TRUE in the SoVolumeRenderingQuality node, the new field voxelOutlineThreshold specifies the minimum size of a voxel, in screen pixels, for which the voxel outline will be visible. Default is 2, meaning that outline is visible only if a single voxel is bigger than 2 screen pixels.

MeshViz XLM (C++ API only)

Memory exception handling

When a C++ exception occurs during any extraction operation, this exception is now caught by MeshViz which prevents the application from crashing. For instance if an application tries to visualize an isosurface on a computer that has not enough memory, MeshViz catches a bad_alloc C++ exception, posts an OpenInventor error message (using SoMemoryError::post method), and clears everything allocated by the isosurface extractor kernel. Thus the application behaves like if no isosurface visualization had been initiated.

Note that MeshViz does not catch errors like “Access violation” or “division by zero”.

API Specific

.NET API Specific

MultiTouch event support for WPF render area

SoWpfRenderArea now handles touch events and sends SoTouchEvent to the Open Inventor scene graph. That allows you to easily create a modern touch application which benefits from the high quality 3D visualization provided by Open Inventor.