Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
Release notes Open Inventor 2024.2

Minor version published in September 2024.

Enhancements and new features included in this version:

Other changes:


Open Inventor 2024.2 includes all fixes available in Open Inventor 2024.1


VolumeViz

Performance improvement of SoVolumeGroup

The volume rendering has been improved when blending several dataset with a SoVolumeGroup. The SoVolumeRenderingQuality and SoVolumeRenderingPhysicalQuality now define settings that are used for the volume rendering of multiple datasets within a SoVolumeGroup. Additionally, the improved performances in blending multiple datasets within a SoVolumeGroup enable an interactive framerate.

Improved rendering of segmented datasets

The rendering quality of a segmented dataset can be significantly improved if the rendered SoDataSet object contains discrete values. Prior to this new version, when a segmented dataset (a label image made of discrete values) was rendered using smoothing effects, unexpected rainbow artifacts could appear at the boundary between two different labels in the dataset. Now, if the dataset is specified as discrete, these artifacts do not exist, and the result is still smooth.

The following images highlight an enhanced rendering quality on a discrete dataset example. In previous versions (left column), the presence of unexpected rainbow artifacts was noticeable in the linear and cubic smoothing modes. However, in version 2024.2, the rendering quality has been significantly improved (right column).

CONTINUOUS DISCRETE (new in 2024.2)
LINEAR
CUBIC

To specify a discrete dataset, a new field called SoDataSet::valueInterpretation is introduced in Open Inventor 2024.2. It can have two possible values: DISCRETE or CONTINUOUS, as defined in the new enum SoDataSet::ValueInterpretation.

Slice rendering with a single resolution

Open Inventor 2023.1 introduced the capability to render a dataset using a single resolution adapted to screen resolution and hardware settings. It was limited to SoVolumeRender. As of version 2024.2, it is now possible for SoOrthoSlice, SoObliqueSlice and SoVolumeSkin as well. The same benefits described for the volume rendering now apply for slice and skin rendering as well.

There is no new API: as for SoVolumeRender, the single resolution mode must be activated with the class SoLDMResourceParameters. The field fixedResolution must be TRUE and the field resolution must be set to -1.

The VolRend example has been updated with a new checkout button in the UI called "Best Equal Resolution" which activates the single resolution mode for the volume rendering, and the visible slices and skin.

Core

Point sets picking improved

Picking of point sets has been improved. Picking a point set is now more accurate and faster, especially for large point sets. When the SoPickStyle::method is set to GPU or AUTO, various parts of the picking process are performed on the GPU for point sets. This allows for efficient and precise retrieval of the picked points, especially when a shader is used to modify the appearance of each point. It is now possible to draw small spheres, circles, or any type of sprite on each point and maintain accurate picking capability.

The example PointCloud has been updated to showcase this improvement. When running this example, it is now possible to pick any pixel on a circle to select the underlying point. In CPU mode, only the center of each circle must be precisely picked to select a point.

The source code of this example is here:

  • C++: $OIVHOME/examples/source/Inventor/Features/PointCloud
  • .NET: $OIVNETHOME/examples/source/Inventor/PointCloud
  • Java: $OIVJHOME/examples/inventor/advanced/pointcloud

Improvement of SoOverlayGroup

The limitations of the class SoOverlayGroup related to picking and to transparency have been removed. Only minor limitations remain when using highlighting actions. They are described in the API documentation of the class SoOverlayGroup.

New internal library to read images

The internal library "image access" used by Open Inventor to read image files has been replaced. Some legacy image format readers (that have been deprecated since version 2023.2) are no longer supported. The corresponding API classes are removed but there is no other public API changed. See the Compatibility notes for detail. Unless your application uses some deprecated reader, it should compile without any issue.

However, the internal library change has a probable impact on the way you distribute your application because several third party libraries have changed. You will probably have to update the libraries (.dll or .so) of Open Inventor that you embed and distribute with your application. In Java there is no new jar, and in .NET there is no new assembly, but you need to update the native libraries you distribute with your application.

As of Open Inventor 2024.2:

  • the library fei_imageAccess is no longer a third party.
  • the libraries iolink and ioformat are new third parties.
  • the libraries ioformat-[filetype] in a folder ioplugins are new third parties (one library per file type).

More detail here about the list of files that your application may need to redistribute.

The new image libraries benefit the DICOM reader of Open Inventor. The output of the method SoVRDicomData::getDicomInfo(...) differs from previous version but it is more accurate and readable.

  • Float values display: the output for tables of float values has been improved so that trailing zeroes no longer appear. For instance, a value previously returned as 1.5000|0.0000 is now returned as 1.5|0.
  • Date and hour outputs: in previous versions, date or hours were interpreted. The new reader ensures that the dates and hours data are returned as-is without interpretation.

Signature of .NET and Java libraries

As of 2024.2, all libraries of Open Inventor are digitally signed on Windows using a certificate from Thermo Fisher Scientific. The signatures have several advantages such as:

  • they prevent unauthorized changes to any component of Open Inventor including its third-parties.
  • they prevent any issues with antivirus tools.

In .NET: Open Inventor assemblies, Open Inventor C++ dlls and all third-parties dlls are signed. In Java: Open Inventor jars, Open Inventor native C++ dlls and all third-parties dlls are signed.

Note
Open Inventor C++ libraries and their third-parties are already signed on Windows since 2019.

Compatibility notes

ImageViz API removal

Some enum values have changed, linked to the ImageViz API removal (see after).

  • The enum value ImageViz is removed from the enum SbProduct in the class SoLicensedProduct.
  • The enum value IMAGEVIZ is removed from the enum Extensions in the class ServiceSettings (RemoteViz API). The other values in these enums haved changed but that should not impact the compilation of your code.

Internal image reader change

Following the change of the internal image reader library the following classes are no longer provided as of Open Inventor 2024.2:

C++ API

  • SoPGXImageRW in include file <Inventor/image/SoPGXImageRW.h>
  • SoPNMImageRW in include file <Inventor/image/SoPNMImageRW.h>
  • SoSUNImageRW in include file <Inventor/image/SoSUNImageRW.h>
  • SoJp3dDataCompressor in include file <LDM/compressors/SoJp3dDataCompressor.h>

C# API

  • OIV.Inventor.Image.SoPGXImageRW
  • OIV.Inventor.Image.SoPNMImageRW
  • OIV.Inventor.Image.SoSUNImageRW
  • OIV.LDM.Compressors.SoJp3dDataCompressor

Java API

  • com.openinventor.inventor.image.SoPGXImageRW
  • com.openinventor.inventor.image.SoPNMImageRW
  • com.openinventor.inventor.image.SoSUNImageRW
  • com.openinventor.ldm.compressors.SoJp3dDataCompressor

change of the minimal jdk version required

Following the signature of all Open Inventor libraries, running an application using Open Inventor Java requires jdk version 11.0.17 or higher.

Life cycle events

Removed ImageViz extension

The extension ImageViz is removed as of Open Inventor 2024.2. The API, libraries and documentation of ImageViz are no longer provided. Therefore, the documentation Files to distribute has been updated.

ImageViz is replaced by the new ImageDev toolkit, which offers the same functionality with the added benefit of a simpler API. More details are available here: developer.imageviz.com and imagedev-software-development-toolkit

Dropped platforms

No platforms dropped in this version.

However we plan to migrate Open Inventor C++ from Qt5 to Qt6. That will have an impact on the existing platforms. Thus, platforms using Qt5 are now deprecated (but still fully supported in 2024.2) and Open Inventor 2025.1 on Ubuntu 20.04 will be the last and only version based on Qt5.

Thus in 2025, we plan to drop:

  • Open Inventor C++ on VS2017
  • Open Inventor C++ on VS2022 with Qt5 (replaced by Qt6)
  • Open Inventor C++ and Java on RHEL
  • Open Inventor C++ and Java on Ubuntu 20.04 (replaced by Ubuntu 22.04 or 24.04)

Future platforms

In 2025 we plan to support these new platforms:

  • Open Inventor C++ on VS2022 with Qt6 only
  • Open Inventor .NET Framework 4.7 or 4.8 with VS2022 only
  • Open Inventor C++ and Java on Ubuntu 22.04 or 24.04
  • Open Inventor Java on jdk 17 or jdk 21.

New way to contact customer support

Please use the VDS Customer Support portal at https://www.thermofisher.com/software-em-3d-vis/customersupport to contact us for technical or license issues/questions. After signing in (providing your license, contract, or activation number), please click on My Support then press the button + Create and fill out the form to send your questions.

You can find the Customer Support portal tutorial at https://www.thermofisher.com/software-em-3d-vis/customerportal/wp-content/uploads/Customer-Support-Tutorial.pdf