SoVolumeRenderingPhysicalQuality Class Reference

VolumeViz Volume rendering physical quality property node More...

#include <VolumeViz/nodes/SoVolumeRenderingPhysicalQuality.h>

Inheritance diagram for SoVolumeRenderingPhysicalQuality:
SoNode SoFieldContainer SoBase SoRefCounter SoTypedObject

List of all members.

Public Types

enum  ShadowsStyle {
enum  ShadingStyle {
enum  EnvironmentMap {
enum  ToneMapping {
enum  PredefinedMaterial {

Public Member Functions

virtual SoType getTypeId () const
 SoVolumeRenderingPhysicalQuality ()

Static Public Member Functions

static SoType getClassTypeId ()

Public Attributes

SoSFEnum shadowsStyle
SoSFEnum shadingStyle
SoSFEnum predefinedMaterial
SoSFEnum environmentMap
SoSFEnum toneMapping
SoSFBool enableDepthOfField
SoSFFloat blurFactor

Detailed Description

VolumeViz Volume rendering physical quality property node

This node is intended to be used when one wants to achieve "out of the box" high quality volume rendering. It works the same way as a SoVolumeRenderingQuality node, in the sense that it causes subsequent SoVolumeRender nodes to be drawn with different rendering effects and/or levels of quality, the difference being that the SoVolumeRenderingQuality fields are not exposed in this node and are internally pre-selected to provide the highest possible quality:

The SoVolumeRenderingQuality fields that are internally activated are:

The presence of this node in the scenegraph also forces subsequent SoVolumeRender nodes to be drawn with SoVolumeRender::samplingAlignment set to SoVolumeRender::BOUNDARY_ALIGNED.

Note that, unlike SoVolumeRenderingQuality, this node does not support customization of VolumeViz shaders.

The fields exposed in this node provide control over effects that are not present in the SoVolumeRenderingQuality node. These effects include:

Physically Based Lighting

Ray-Traced Shadows

Depth of Field



SoVolumeRenderingQuality, SoShadowGroup

NOTE: node available since Open Inventor 9.8

Member Enumeration Documentation

List of available Environment Maps for Physically Based Lighting.


When this value is selected, image-based lighting is disabled.

List of available predefined materials.


ambient: (0.5, 0.5, 0.5) diffuse: (0.8, 0.8, 0.8) specular: (0.25, 0.25, 0.25) shininess: 0.4 Environment Map: GROVE Tone Mapping: PALE


ambient: (0.5, 0.5, 0.5) diffuse: (0.8, 0.8, 0.8) specular: (0.06, 0.06, 0.06) shininess: 0.7 Environment Map: STLAZARUS Tone Mapping: PALE


ambient: (0.5, 0.5, 0.5) diffuse: (1.0, 1.0, 1.0) specular: (0.25, 0.25, 0.25) shininess: 0.9 Environment Map: STPETER Tone Mapping: MEDIUM


When this value is selected, the applied material will get its properties from the current material on the state.

List of available shading styles.


Phong shading.

This is the regular lighting provided by the field SoVolumeRenderingQuality::deferredLighting.


Physically-Based shading.

This is the advanced lighting that provides:

  • A complex BRDF model
  • Image-based lighting
  • Tone mapping.

This shading style can be seen as an enhanced version of the regular deferred lighting. In particular, it shows the same behavior regarding the current SoMaterial on the state and has the same limitations. See SoVolumeRenderingQuality::deferredLighting for a detailed list of limitations.

List of available types of shadows.


The standard shadowmap-based shadows.

See SoShadowGroup.


Shadows using a ray-marching based algorithm.

This type provides high quality shadows, but can have a big impact on performance. It supports SoROI clipping, but does not support SoClipPlane, SoVolumeClippingGroup, SoUniformGridClipping or SoUniformGridProjectionClipping.

List of available Tone Mapping algorithms for Physically Based Lighting.


Pale Tone Mapping.


Medium Tone Mapping.


High-contrast Tone Mapping.

Constructor & Destructor Documentation

SoVolumeRenderingPhysicalQuality::SoVolumeRenderingPhysicalQuality (  ) 

Member Function Documentation

static SoType SoVolumeRenderingPhysicalQuality::getClassTypeId (  )  [static]

Returns the type identifier for this class.

Reimplemented from SoNode.

virtual SoType SoVolumeRenderingPhysicalQuality::getTypeId (  )  const [virtual]

Returns the type identifier for this specific instance.

Reimplemented from SoNode.

Member Data Documentation

This value controls the intensity of the blurring for the Depth Of Field effect.

The physical value associated with this parameter is the camera's lens aperture. Bigger values induce a shallower depth of field. Default is 0.01.

Enables a 'Depth of Field' effect on the volume.

This effect blurs everything outside of the depth of field area, but keeps everything inside sharp. This effect is particularly useful to highlight a specific zone of a volume.

The focal point is controlled by the field SoCamera::focalDistance of the current camera. Only VolumeRender nodes are affected by the blurring. The amount of blurring applied is controlled by the blurFactor field. Default is TRUE.

Specifies which Environment map is used.

This field is taken into account only if shadingStyle is set to PHYSICALLY_BASED and if predefinedMaterial is set to CUSTOM_MATERIAL. The available environment maps are HDR cubemap textures that will be used to display reflexions of the environment on the object. This behaviour can be disabled by selecting the NO_ENVIRONMENT field value. Use enum EnvironmentMap. Default is UFFIZI.

Specifies a material from a list of predefined ones.

This field is taken into account only if shadingStyle is set to PHYSICALLY_BASED. The selected material will be applied on the object. The environment map and tone mapping algorithm are part of the predefined material properties. The value CUSTOM_MATERIAL can also be selected, in which case the properties of the applied material will be retrieved from the current material on the state. Use enum PredefinedMaterial. Default is SEMI_GLOSSY.

Specifies which shading style is applied to the volume.

Use enum ShadingStyle. Default is PHYSICALLY_BASED.

Specifies which kind of shadows to compute for the volume.

This field allows to enable RayTraced shadows, which have a better quality than the standard shadowmap-based shadows, but take longer to compute. This field is taken into account only if the associated SoVolumeRender node is inside a SoShadowGroup and the field SoShadowGroup::isActive is set to TRUE. Use enum ShadowsStyle. Default is RAYTRACED.

Specifies which tone mapping algorithm to apply.

This algorithm is used to remap HDR color values to low range values. This field is taken into account only if shadingStyle is set to PHYSICALLY_BASED and if predefinedMaterial is set to CUSTOM_MATERIAL. Use enum ToneMapping. Default is MEDIUM.

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

Open Inventor Toolkit reference manual, generated on 12 Sep 2022
Copyright © Thermo Fisher Scientific All rights reserved.