Compatibility Notes


Open Inventor 9.5 (November 2014)

Older compatibility notes

Please at least glance through these compatibility notes so that you are not surprised by any differences in behavior between this release and the previous release.

Technical overview

You should completely recompile existing applications after installing a new version of Open Inventor.
New versions of Open Inventor are source code compatible (unless noted in this document), but not binary compatible.

Important note regarding Intel Graphics plateforms

We have detected an issue on Ivy Bridge GPU (HD graphics, HD2500, HD4000) that prevents the OIV shader cache mechanism from working as expected. In order to be able to run OIV correctly on these plateforms user must set OIV_SHADER_DISK_CACHE envvar to 0 in order to get OIV working. Newer Intel platforms such as HD 4600 are not concerned by this issue. 

New APIs

This section lists all the new APIs introduced into Open Inventor 9.5 Beta1. New methods, fields and classes are listed to give a quick access to new material available in this new release.

Open Inventor

New Classes

  • SoCameraInteractor
  • SoSTLInputReader, SoSTLWriteAction, SoSTLFileFormat
  • SoCADFileFormat, SoCADInputReader, SoCADInputReaderParameters
  • SoAlgebraicCone, SoAlgebraicCylinder, SoAlgebraicShape, SoAlgebraicSphere
  • SoMultipleInstance, SoMultipleInstanceElement 
  • SoMultipleInstanceBase, SoMFInstanceParameter, SoInstanceParameter
  • SoSystemTimer, SoSystemTimerTask, SoEventBuilder, SoRenderAreaCore

New Methods

  • SoDB.h : static void setSystemTimer(SoSystemTimer* timer)
  • SoPath.h : int getInstanceIndexFromTail(int i) const
  • SoRasterImageRW.h : virtual SbBool readRegion(SbRasterImage* rasterImage, size_t imageIndex, const SbBox2i32& region)
  • SoTIFFImageRW.h : virtual SbBool read(SbRasterImage* rasterImage, SbBool infoOnly = FALSE)
  • SoTIFFImageRW.h : virtual SbBool read(SbRasterImage* rasterImage, size_t imageIndex, SbBool infoOnly = FALSE)
  • SoTIFFImageRW.h : virtual SbBool readRegion(SbRasterImage* rasterImage, const SbBox2i32& region)
  • SoSceneManager.h : void setStillSuperSampling (float quality, float delay)

New Enums

  • SoColormap.h : Interpolation

New Fields

  • SoColorMap.h : SoSFEnum interpolation


New Classes

  • SoSliceDetail, SoFenceSliceDetail, SoVRTiffFileReader

New Methods

  • SoVRDicomeFileReader.h : SbBool setFilenameList(const SbString& format, const int startIndex = 0, const int endIndex = INT_MAX, const int indexStep = 1)
  • SoVRDicomeFileReader.h : SbBool setDirectory(const SbString& folder)


Compatibility Issues

In this chapter are listed all the modifications that could impact application built with previous version of Open Inventor:

  • some of these updates will require to update the code of the application
  • some may change the default behavior of an existing application

In both cases we recommend to consult the documentation to be sure to get needed informations on how to bypass these compatibility issues. 

Open Inventor

New flexible RenderArea

The examples and source code have been reorganized, below some details:

  • C++ API example: QtViewer renamed as QtRenderAreaGuiIntegration and moved to src/Inventor/gui/Qt/QtRenderAreaGuiIntegration

Reader plugin renaming

Reader plugins have been renamed to ease redistribution. The naming convention, which used to follow the pattern "Iv<xxx>reader.dll", has been changed and now uses the pattern "<name>.dll", where name represents the plug-in name (dxf, stl, flt etc.). Open Inventor 9.5 beta provides the following reader plugins:


Note that despite this renaming, previous plugins, with the old name, can still be loaded in Open Inventor 9.5.

New anti-aliasing and new transparency

As described in release notes, Open Inventor 9.5 beta1 introduces new algorithms for anti-aliasing and transparency. Both can introduce changes in the default behavior and may lead to minor rendering differences compared to previous version. If needed, previous behaviors can be restored by using the following environment variables with associated values: 

  • OIV_OIT_DEFAULT_MODE  ABUFFER: set the default mode for transparency to use A-buffer based algorithms (Open Inventor 9.4 behavior). 
  • OIV_ANTIALIASING_DEFAULT_MODE FXAA: set the detault mode for anti-aliasing to FXAA (Open Inventor 9.4 behavior)


API evolution since the last version

  • The method RenderArea::dispose() has been renamed RenderArea::closeConnectionsAndDispose().
  • A RenderArea and a Connection pointer have been added in each mouse/keyboard/touch event callback of the RenderAreaListener class. These pointers allow you to get the source of the received events.
  • The methods RenderAreaSettings::setMaxSendingFPS and RenderAreaSettings::getMaxSendingFPS have been moved into the class ConnectionSettings. The received maximum number of frames per second can now be different for each client.
  • RemoteViz uses a different notification mode than the Open Inventor default setting (notification occurs whenever there is a change to the Open Inventor scene graph) to avoid unnecessary notifications and continuous sending of images from server to clients. If you do not want to use the notification mode of RemoteViz or need to enable multi-notification, set the environnement variable OIV_ENABLE_SAMEVALUE_NOTIFICATION to 1.


In Open Inventor 9.4 ImageViz was in beta version. Some renaming has been done for consistency reasons or from user feedback.

From now on, no renaming will be done in future minor or patch versions, compatibility will be assured.

Operator renaming

Following engines have been renamed:

  • SoInvertProcessing has been renamed SoInvertImageProcessing
  • SoSkeletonProcessing has been renamed SoSkeletonProcessing2d
  • SoLocalEqualizationProcessing has been renamed SoAdaptiveHistogramEqualizationProcessing  
  • SoRandomImageProcessing has been renamed SoRandomImageGeneration
  • SoCrossCorrelationProcessing has been renamed SoAutoCorrelationProcessing

Operator fields renaming

To be consistent with other field names in ImageViz, following operator fields have been renamed:

Engine name Old field name New field name
SoLabelFilteringAnalysisQuantification ImgOutLab  outLabelImage
SoLabelFilteringAnalysisQuantification inObjectImage inLabelImage
SoLabelAnalysisQuantification inObjectImage  inLabelImage
SoLabelFilteringProcessing inObjectImage  inLabelImage
SoColorGetPlaneProcessing2d outImageGray outGrayImage
SoMeasureImageProcessing ImgLab inLabelImage
SoMeasureImageProcessing ImgIn inIntensityImage
SoMeasureImageProcessing MMsrAll measure
SoMeasureImageProcessing ImgOut outIntensityImage
SoTimeMapProcessing ImgBin inBinaryImage
SoTimeMapProcessing ImgIn inIntensityImage
SoTimeMapProcessing ImgOut outMeasureImage
SoGetObliquePlaneFromVolumeProcessing3d ImgIn3D inImage
SoGetObliquePlaneFromVolumeProcessing3d FRotAglXoY angleTheta
SoGetObliquePlaneFromVolumeProcessing3d FRotAglXoZ anglePhi

Enumeration renaming

Following enumeration names for operator fields have been renamed:

Engine name Field name Old enumerator New enumerator
SoSeparateObjectsProcessing separationMode SPLIT SEPARATED_OBJECTS
SoSeparateObjectsProcessing separationMode LINE WATERSHED_RIDGES
SoSeparateObjectsProcessing separationMode SPLIT_BASINS SEPARATED_BASINS
SoSeparateObjectsProcessing separationMode CONNECTED_OBJECT CONTIGUOUS_OBJECTS
SoSeparateObjectsProcessing separationMode CONNECTED_BASINS CONTIGUOUS_BASINS
SoHExtremaWatershedProcessing separationMode LINE WATERSHED_RIDGES
SoHExtremaWatershedProcessing separationMode BASINS SEPARATED_BASINS
SoHExtremaWatershedProcessing separationMode BASINS2 CONTIGUOUS_BASINS
SoHExtremaWatershedProcessing separationMode SPLIT SEPARATED_OBJECTS
SoMarkerBasedWatershedProcessing outputMode CATCHMENT SEPARATED_BASINS
SoMarkerBasedWatershedProcessing outputMode WATERSHED WATERSHED_RIDGES

Renaming of SoDataMeasurePredefined enumerators

Since the old names were ambiguous, the following enumerations have been renamed:



Please note that even though there will be no further development for deprecated elements, support is still available according to the product life cycle policy described here.

Legacy extension

With the introduction of Open Inventor 9.5 several extensions have been set to deprecated

  • DirectViz
  • SolidViz
  • TerrainViz


IVF application classes are deprecated. The examples have been removed and the example of custom viewers can be found in section MFC examples user interface of the Reference Manual.


All SoVRML nodes located in directory $OIVHOME/include/Inventor/VRMLnodes are now deprecated

Fields, methods and Enum 

  • field shaderType and associated enum ShaderType in classe SoUniformShaderParameter are deprecated. CG and ARB will not be supported anymore from OIV10.
  • Enum value SoSceneManager::AntialiasingMode ACCUM_BUFFERS is now deprecated and must be replaced by SUPERSAMPLING.

MeshViz XLM Demos location

The Library MeshVizImplement is now deprecated. Examples of mesh interface implementation are now provided in MeshViz XLM demos. In order to keep the reference manual as clear as possible (and avoid poluting the hierarchy of mesh interface in the Inheritance diagram section), all those class have been removed from the C++ version.