Welcome to the final release of Open Inventor 7.2 and its extensions:
DirectViz 7.2 HardCopy 7.2 Open Inventor 7.2 MeshViz 7.2 ReservoirViz 7.2 ScaleViz 7.2 VolumeViz 7.2
Highlights of Open Inventor 7.2 include:
- DirectViz has been significantly enhanced
- Miscellaneous Open Inventor enhancements
- IVF (the Open Inventor extension library for Microsoft MFC) now supports Unicode
Please read this entire section for new features and improvements that may benefit your applications. For this release, most of the significant enhancements were made to Open Inventor and DirectViz.
We are pleased to announce that the new Open Inventor User's Forum is now open at
http://www.openinventor.netThe Open Inventor forum is your place. It's the ideal space where the Open Inventor community's discussion can take place. Sharing experiences and information from user to user can be the best way to take full advantage of Open Inventor in your application. The Mercury Visualization Sciences Team is actively participating in the forum.
See you soon in the Open Inventor forum!
Error detection for memory allocations is significantly improved.
All memory allocations inside Open Inventor are now checked for success
and errors are reported through the (existing) SoMemoryError class.
Reporting of memory allocation errors is significantly more robust.
The SoMemoryError class now safely handles error reports, for example
without attempting additional memory allocations that might cause a crash.
The new environment variables OIV_DELAYED_SORTED_LAYERS_TEXTURE_UNIT and
OIV_SORTED_LAYERS_TEXTURE_UNIT allow you to specify the texture units used by
Open Inventor when the transparency mode is set to SORTED_LAYERS_BLEND or
DELAYED_SORTED_LAYERS_BLEND (see SoTransparencyType).
If these variables are not defined, Open Inventor will still use:
The new field SoShaderProgram::vertexProgramTwoSide specifies whether vertex shaders will operate in two-sided color mode.
In order to support ScaleViz Large Flatscreen mode a number of new functions
were added to the Open Inventor API to set and get viewport coordinates using
floating point values. This is necessary to keep precision when a desktop
is magnified on a wall of screens, in correlation with a tracker device calibrated for this wall.
File conversion from Catia format is now 50x faster.
Generated scene graph is 4x smaller in term of memory consumption.
Rendering quality has been improved by using Material lighting.
Note: Support is limited to Microsoft Visual Studio 8 (32bit and 64bit).
There have been important changes in the platform support between Open Inventor 6.1 and 7.0. Here are key points to be aware of:
For additional platform support details, see the System Requirements topic.
No new feature was added. See the fixed bugs section.
Welcome to the final release of Open Inventor 7.1 and its extensions:
DirectViz 7.1 FXViz 7.1 HardCopy 7.1 Open Inventor 7.1 MeshViz 7.1 ReservoirViz 7.1 ScaleViz 7.1 VolumeViz 7.1
Highlights of Open Inventor 7.1 include:
- VolumeViz has been significantly enhanced
- HardCopy now supports export to 3D-PDF and U3D formats
- Miscellaneous Open Inventor enhancements
Please read this entire section for new features and improvements that may benefit your applications. For this release, most of the significant enhancements were made to Open Inventor, VolumeViz and HardCopy.
See $OIVHOME/src/Inventor/examples/Features/MarkerSet
New SoProjection and SoGeoProjection property nodes define a projection that will be applied to all subsequent shapes in the scene graph. For example
this can be used for cartographic projections such as Lambert, Mercator, etc. where
you have geometry defined in latitude/longitude coordinates. The specified
projection converts these coordinates into the usual XYZ world coordinate system.
This is a very powerful capability because many projections are too complex to express
in a 3D transformation matrix. Projection can even be applied to volume data
(see SoVolumeRender for details). SoProjection provides general support for
projections defined by subclasses of SbProjection. This can include custom
projections implemented by application developers. SoGeoProjection provides convenient support specifically for cartographic
projections, using the popular open library PROJ4. SoGeoProjection currently
supports geodetic (lat/lon) and geocentric coordinates (xyz) with multiple ellipsoids
and projections (see SbProj4Projection for details).
SbProjection is the base class for projection definitions. SbSphericalProjection
provides a basic spherical projecion. SbProj4Projection provides
cartographic projections implemented in the PROJ4 library. These subclasses
implement the algorithm to compute projected points. Applications can implement
subclasses of SbProjection as needed.
See $OIVHOME/src/Inventor/examples/Features/Projection
There have been important changes in the platform support between Open Inventor 6.1 and 7.0. Here are key points to be aware of:
For additional platform support details, see the System Requirements topic.
No new feature was added. See the fixed bugs section.
Welcome to the final release of Open Inventor 7.0 and its extensions:
DirectViz 7.0 HardCopy 7.0 Open Inventor 7.0 MeshViz 7.0 ReservoirViz 7.0 (New!) ScaleViz 7.0 VolumeViz 7.0 You may recognize some of the new features described below that were "previewed" in patch releases of Open Inventor 6.0. It would still be a good idea to read about them in case there have been changes since their initial implementation.
Highlights of Open Inventor 7.0 include:
- ReservoirViz, a new extension for very large, 3D structured meshes
- VolumeViz significantly enhanced
- ScaleViz cluster rendering significantly enhanced
- Miscellaneous Open Inventor enhancements
Please read this entire section for new features and improvements that may benefit your applications. For this release, most of the significant enhancements were made to ScaleViz and VolumeViz. ReservoirViz, an extension for displaying very large structured 3D meshes was added. See their release notes for details.
- Support for Geometry Shaders
Geometry shaders define a new type of shader available to be run on the GPU. Geometry shaders are able to generate new vertices and new geometry on the GPU. The new node SoGeometryShader, derived from SoShaderObject, enables you to specify a geometry shader.
See $OIVHOME/src/Inventor/examples/Features/Shaders/GeometryShader.
- Textures: New Compressed Formats
Nodes derived from SoTexture now support the following new formats that provide compression for single component (e.g., color index) textures:
- COMPRESSED_LUMINANCE_LATC1,
- COMPRESSED_SIGNED_LUMINANCE_LATC1,
- COMPRESSED_LUMINANCE_ALPHA_LATC2,
- COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2,
- COMPRESSED_RED_RGTC1,
- COMPRESSED_SIGNED_RED_RGTC1,
- COMPRESSED_RED_GREEN_RGTC2,
- COMPRESSED_SIGNED_RED_GREEN_RGTC2
These new block-based texture compression formats can be used for unsigned and signed luminance and luminance-alpha textures and for unsigned and signed red and red-green textures.
- New Classes SoGLRenderToBuffer and SoFrameBufferObject
The class SoGLRenderToBuffer allows generalizing render to buffer with OpenGL pbuffer or OpenGL framebuffer objects. The class SoFrameBufferObject implements the interface of SoGLRenderToBuffer and allows convenient use of a Frame Buffer Object (FBO) in an Open Inventor application. FBOs are very useful for integrating GPU computing (GPGPU).
- OpenGL Framebuffer Objects Provide Speed and Reduced Memory Usage
The "depth peeling" transparency (SORTED_LAYERS_BLEND in the class SoGLRenderAction) and the rendering to a floating point buffer (SoWinGLWidget, SoWinRenderArea, SoSceneManager, and SetFloatingColorBuffer) which are rendering techniques that use offscreen rendering, now use OpenGL Frame Buffer Objects (if available) instead of PBuffers. The main advantages of a framebuffer object in comparison to a Pbuffer are reduced memory consumption and improved performance.
The new environment variable OIV_NO_FBO enables you to disallow use of OpenGL framebuffer objects.
- Improved Memory Cleanup at Program Exit
Until version 6.1, an application using Open Inventor and tracking memory leaks using commercial products, detected a large number of memory leaks within Open Inventor even if SoDB::finish() was called at the end of the application. These memory leaks were not "real" leaks in so far as the memory did not increase while the application was running. However, they distracted from any "real" leaks. The finish methods have been improved so these reports will no longer appear.
- New Method SoRayPickAction.SetRay()
The new method SoRayPickAction.SetRay() allows you to specify the value of view angle. It provides precise control of the pick aperture used for ray picking.
You can also set this value using the new environment variable OIV_SET_RAY_PRECISION and the older setRay() method. See SoPreferences for details.
- Other Miscellaneous Additions
- SoSFImage now allows storage of images larger than 32767 (MAX_SHORT) on a side. Previously it did not. For compatibility, functions taking SbVec2s as argument have been kept. (Enhancement request #1747)
- New SCALEVIZ_DISABLE_GUI, OIV_NO_FLEXNET, and OIV_NO_FBO environment variable. See SoPreferences for details.
- New SoSFFieldContainer field class which is a single field which contains an SoFieldContainer.
- New SoMFFieldContainer field class which is a multiple field which contains multiple SoFieldContainer objects.
- New SoSFMemObj field class which is a single field which contains an SoMemoryObject.
- New SoListSensor sensor class which allows detection of changes on SbPList and derived classes.
- New SbThreadSignal class which manages thread events.
- New Method in SoIvTune. A new method was added which allows IvTune to be started programmatically to display a specified scene graph:
static void setInstance(int argc, char ** argv, SoNode * root, bool createViewer = false);
The existing setInstance methods allowed IvTune to be started to display the scene graph associated with a specified viewer.
There have been important changes in the platform support between Open Inventor 6.1 and 7.0. Here are key points to be aware of:
For additional platform support details, see the System Requirements topic.