SoVolumeRendering Class Reference

VolumeViz Initializes the VolumeViz module database. More...

#include <VolumeViz/nodes/SoVolumeRendering.h>

Inheritance diagram for SoVolumeRendering:
SoVolumeData SoHeightFieldGeometry SoHeightFieldProperty SoHeightFieldPropertyMask SoVolumeMask

List of all members.

Public Types

enum  HW_Feature {
  HW_3DTEXMAP = SoHardwareQuery::HW_3DTEXMAP,
enum  HW_SupportStatus {
  NO = SoHardwareQuery::NO,

Static Public Member Functions

static void init ()
static void finish ()
static bool isInitialized ()
static void setWriteAlternateRep (SbBool flag)
static SbBool getWriteAlternateRep ()
static void setReadAlternateRep (SbBool flag)
static SbBool getReadAlternateRep ()
static HW_SupportStatus isSupported (HW_Feature feature)


static SoDEPRECATED void setDelayedRendering (SbBool flag)
static SoDEPRECATED SbBool getDelayedRendering ()

Detailed Description

VolumeViz Initializes the VolumeViz module database.

This abstract class is the base class for all volume rendering modules. It is used only for initializing the VolumeViz extension and setting some global parameters.

The init() method must be called before creating any VolumeViz nodes. The finish() method should be called when the application is shutting down.



SoVolumeData, SoTransferFunction, SoVolumeRender, SoOrthoSlice, SoObliqueSlice, SoROI, SoVolumeReader, SoLDMGlobalResourceParameters

See related examples:

Medical2DTransferFunction, TransferFunction2D, HorizonGpuCompose, SegY2D, VolRend, VolumeGeometry, VolumeSkin, VVIZ-Template-SG

Member Enumeration Documentation

Hardware Features Mode.


The system supports OpenGL 3D texture mapping.

On some boards, this query may return TRUE even if your board does not support accelerated 3D textures. In this case performance may be slow, and you may prefer to use 2D textures instead. Note: The inability to determine if 3D textures are accelerated is a limitation of OpenGL, not Open Inventor.


The system supports the OpenGL paletted texture extension and/or the texture color table extension.


The system supports the OpenGL texture compression extension.

Hardware Features support status.


Not supported.




unknown status

Member Function Documentation

static void SoVolumeRendering::finish (  )  [static]

Shuts down the VolumeViz module, which includes freeing any internal static memory that it allocated.

Finish methods must be called in the reverse order of the init method calls:

static SoDEPRECATED SbBool SoVolumeRendering::getDelayedRendering (  )  [static]

Returns the delayedRendering flag.


Deprecated since Open Inventor 9000
No longer used.
static SbBool SoVolumeRendering::getReadAlternateRep (  )  [static]

Returns the readAlternateRep flag.

static SbBool SoVolumeRendering::getWriteAlternateRep (  )  [static]

Returns the writeAlternateRep flag.

static void SoVolumeRendering::init (  )  [static]

Initializes the VolumeViz module database.

This must be called before the construction of any VolumeViz nodes.

Generally this method should be called immediately after initializing Open Inventor. In other words just after SoXt::init(), SoWin::init(), etc.

Starting with Open Inventor version 8.5, this method must called before any instances of SoSceneManager are created. When using the Open Inventor viewer classes, an SoSceneManager is created automatically when the viewer is created. So this method should be called before creating the viewer.

static bool SoVolumeRendering::isInitialized (  )  [static]

Returns TRUE if module is currently initialized.

static HW_SupportStatus SoVolumeRendering::isSupported ( HW_Feature  feature  )  [static]

Returns information about hardware support for various volume rendering features.

This query is only valid after SoVolumeRendering::init has been called. Otherwise the return value will be UNKNOWN.

When using a debug build of Open Inventor, some "no context available" warning messages may be generated. You can ignore them or see SoGLExtension for an example of using SoGLContext to avoid them.

static SoDEPRECATED void SoVolumeRendering::setDelayedRendering ( SbBool  flag  )  [static]

Sets the delayedRendering flag.

Default is FALSE.
When this flag is TRUE , VolumeViz drawing nodes (e.g., SoOrthoSlice) are rendered in a delayed pass (until after all opaque objects) and/or sorted according to the current transparency type (see SoGLRenderAction). This may result in a more correct image if there is opaque geometry intersecting the volume. However delayed/sorted rendering may slightly decrease performance. This flag may also be set using the IVVR_DELAY_RENDER environment variable.


Deprecated since Open Inventor 9000
This is now automaticaly done only if necessary.
static void SoVolumeRendering::setReadAlternateRep ( SbBool  flag  )  [static]

Sets the readAlternateRep flag.

When this flag is TRUE while reading an Open Inventor file, any alternateRep subgraphs attached to VolumeViz nodes are read and added to the scene graph. Otherwise, alternateRep subgraphs are discarded and the alternateRep field is set to NULL. The default is FALSE.

static void SoVolumeRendering::setWriteAlternateRep ( SbBool  flag  )  [static]

Sets the writeAlternateRep flag.

When this flag is TRUE during an SoWriteAction traversal, some VolumeViz nodes will write an alternateRep subgraph containing only standard Open Inventor nodes that can be rendered even without VolumeViz. For example, SoOrthoSlice will write an SoTexture2 node and an SoFaceSet node. The default is FALSE.

The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 15 Mar 2023
Copyright © Thermo Fisher Scientific All rights reserved.