Open Inventor Release 2024.2.0
 
Loading...
Searching...
No Matches
Release notes Open Inventor 2024.2 RC

Release candidate version published in July 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 rendering of the volume rendering have been significantly improved when blending several dataset with an SoVolumeGroup. This visualization now benefits from the quality settings offered by the ray-casting approach, combined with performance close to that of Open Inventor 9.

Rendering improvement of segmented dataset

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.

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 linear and cubic smoothing modes. However, with the introduction of version 2024.2, the rendering quality has been significantly improved (right column).

CONTINUOUS DISCRETE (new in 2024.2)
NEAREST
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 is also possible for SoOrthoSlice, SoObliqueSlice and SoVolumeSkin. The same benefits described for the volume rendering apply now for slice and skin rendering.

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

Several limitations of SoOverlayGroup have been removed. Those limitations were described in the API doc of SoOverlayGroup in Open Inventor 2024.1

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 has been deprecated as of 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 change. So 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, 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 2 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 has been improved: 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 from any issue 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 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 the jdk version 11.0.17 or more.

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 platform 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 become 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 the 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 the form to send your questions.

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