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)


enum  VisualFeedbackParam {
  DRAW_TILES = SoLDMGlobalResourceParameters::DRAW_TILES,
  DRAW_SLICES_TEX = SoLDMGlobalResourceParameters::DRAW_SLICES_TEX,
  DRAW_TOPOLOGY = SoLDMGlobalResourceParameters::DRAW_TOPOLOGY,
  USE_FAKE_DATA = SoLDMGlobalResourceParameters::USE_FAKE_DATA
static SoDEPRECATED void setVisualFeedbackParam (VisualFeedbackParam param, SbBool state)
static SoDEPRECATED SbBool getVisualFeedbackParam (VisualFeedbackParam param)
static SoDEPRECATED void setViewCulling (SbBool state)
static SoDEPRECATED SbBool getViewCulling ()
static SoDEPRECATED void setScreenResolutionCulling (SbBool flag)
static SoDEPRECATED SbBool getScreenResolutionCulling ()
static SoDEPRECATED void setIgnoreFullyTransparentTiles (SbBool state)
static SoDEPRECATED SbBool getIgnoreFullyTransparentTiles ()
static SoDEPRECATED void setViewpointRefinement (SbBool state)
static SoDEPRECATED SbBool getViewpointRefinement ()
static SoDEPRECATED void setSliceEqualResolution (SbBool state, SbBool forceRedraw=TRUE)
static SoDEPRECATED SbBool getSliceEqualResolution ()
static SoDEPRECATED void setMoveLowResolution (SbBool state)
static SoDEPRECATED SbBool getMoveLowResolution ()
static SoDEPRECATED void setLoadNotificationRate (int)
static SoDEPRECATED int getLoadNotificationRate ()
static SoDEPRECATED void setLoadCB (SoLDMLoadCB *func, void *userData=NULL)
static SoDEPRECATED void setMonitoringCB (SoLDMMonitoringCB *func, int memAmount, void *userData=NULL)
static SoDEPRECATED void setMaxMainMemory (int maxMainMemory)
static SoDEPRECATED int getMaxMainMemory ()
static SoDEPRECATED void setMaxTexMemory (int maxTexMemory)
static SoDEPRECATED int getMaxTexMemory ()
static SoDEPRECATED void setTex3LoadRate (int loadRate)
static SoDEPRECATED int getTex3LoadRate ()
static SoDEPRECATED void setNumIO (unsigned int numIO)
static SoDEPRECATED unsigned int getNumIO ()
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, SegY2D, VViz-template-SG, HorizonGpuCompose, VolumeGeometry, VolumeSkin, VolRend

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


Deprecated since Open Inventor 7000
No longer used. Use SoLDMGlobalResourceParameters::VisualFeedbackParam enum.

Draw the tiles of SoVolumeRender or SoVolumeSkin primitives.

They are drawn by default.


Use texturing for SoOrthoSlice, SoObliqueSlice, and SoVolumeSkin primitives.

They are used by default.


Show tiles loaded in main memory.

This implies showing the multiresolution topology. The tile outlines of tiles of full resolution are drawn with a brighter yellow. The topology is not drawn by default.


Draw tile outlines for all primitives.

The tile outline of tiles of full resolution are drawn with a brighter gray for the volume, and a brighter green for the slices. Outlines are not drawn by default.


Show tiles visited by the Tile Visitor.

They are not shown by default.

For the default LDM implementation, displays an octree representation showing traversal of the octree. Red dots are tiles that have been valuated. Blue indicates the minimum and maximum resolution thresholds. Yellow shows the octree itself.


Show tiles loaded (in red) and unloaded (in blue) in texture memory.

They are not shown by default.


Use fake data instead of the real data during loading into main memory.

The fake data is programmatically generated and is designed to illustrate features of Large Data Management. Fake data is not used by default.


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 SoDEPRECATED SbBool SoVolumeRendering::getIgnoreFullyTransparentTiles (  )  [static]
static SoDEPRECATED int SoVolumeRendering::getLoadNotificationRate (  )  [static]
static SoDEPRECATED int SoVolumeRendering::getMaxMainMemory (  )  [static]
static SoDEPRECATED int SoVolumeRendering::getMaxTexMemory (  )  [static]
static SoDEPRECATED SbBool SoVolumeRendering::getMoveLowResolution (  )  [static]
static SoDEPRECATED unsigned int SoVolumeRendering::getNumIO (  )  [static]
static SbBool SoVolumeRendering::getReadAlternateRep (  )  [static]

Returns the readAlternateRep flag.

static SoDEPRECATED SbBool SoVolumeRendering::getScreenResolutionCulling (  )  [static]
static SoDEPRECATED SbBool SoVolumeRendering::getSliceEqualResolution (  )  [static]
static SoDEPRECATED int SoVolumeRendering::getTex3LoadRate (  )  [static]
static SoDEPRECATED SbBool SoVolumeRendering::getViewCulling (  )  [static]
static SoDEPRECATED SbBool SoVolumeRendering::getViewpointRefinement (  )  [static]
static SoDEPRECATED SbBool SoVolumeRendering::getVisualFeedbackParam ( VisualFeedbackParam  param  )  [static]
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 SoDEPRECATED void SoVolumeRendering::setIgnoreFullyTransparentTiles ( SbBool  state  )  [static]
static SoDEPRECATED void SoVolumeRendering::setLoadCB ( SoLDMLoadCB func,
void *  userData = NULL 
) [static]
static SoDEPRECATED void SoVolumeRendering::setLoadNotificationRate ( int   )  [static]
static SoDEPRECATED void SoVolumeRendering::setMaxMainMemory ( int  maxMainMemory  )  [static]
static SoDEPRECATED void SoVolumeRendering::setMaxTexMemory ( int  maxTexMemory  )  [static]
static SoDEPRECATED void SoVolumeRendering::setMonitoringCB ( SoLDMMonitoringCB func,
int  memAmount,
void *  userData = NULL 
) [static]
static SoDEPRECATED void SoVolumeRendering::setMoveLowResolution ( SbBool  state  )  [static]
static SoDEPRECATED void SoVolumeRendering::setNumIO ( unsigned int  numIO  )  [static]
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 SoDEPRECATED void SoVolumeRendering::setScreenResolutionCulling ( SbBool  flag  )  [static]
static SoDEPRECATED void SoVolumeRendering::setSliceEqualResolution ( SbBool  state,
SbBool  forceRedraw = TRUE 
) [static]
static SoDEPRECATED void SoVolumeRendering::setTex3LoadRate ( int  loadRate  )  [static]
static SoDEPRECATED void SoVolumeRendering::setViewCulling ( SbBool  state  )  [static]

Deprecated since Open Inventor 7000
Use SoLDMGlobalResourceParameters::setViewCulling( SbBool state ) instead.
static SoDEPRECATED void SoVolumeRendering::setViewpointRefinement ( SbBool  state  )  [static]
static SoDEPRECATED void SoVolumeRendering::setVisualFeedbackParam ( VisualFeedbackParam  param,
SbBool  state 
) [static]
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 1 Nov 2022
Copyright © Thermo Fisher Scientific All rights reserved.