- All Implemented Interfaces:
public class SoVolumeRenderingPhysicalQuality extends SoNodeVolume 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
SoVolumeRenderingQualitynode, in the sense that it causes subsequent
SoVolumeRendernodes to be drawn with different rendering effects and/or levels of quality, the difference being that the
SoVolumeRenderingQualityfields are not exposed in this node and are internally pre-selected to provide the highest possible quality:
SoVolumeRenderingQualityfields that are internally activated are:
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
SoVolumeRenderingQualitynode. These effects include:
- Physically Based Lighting
- Ray-Traced Shadows
- Depth of Field
Physically Based Lighting
The Physically Based Lighting effect provides lighting using an advanced BRDF model. It can be seen as an enhanced version of the regular deferred lighting. In particular, it shows the same behavior regarding the current
SoMaterialon the state and has the same limitations. See
SoVolumeRenderingQuality.deferredLightingfor a detailed list of limitations. In addition to regular deferred lighting, this effect supports HDR environment mapping and several cubemap textures are provided (see
environmentMap). The field
toneMappingis provided to select the Tone Mapping algorithm used to remap HDR values to low range values. A predefined material that will be applied to the shape can also be selected using the field
predefinedMaterial. Any material set between this node and the
SoVolumeRendernode in the scenegraph will override this predefined material. Note that, just like with regular deferred lighting, the material properties will affect the lighting, and the
SoMaterial.diffuseColorwill be mixed with the voxel colors using a component-wise multiplication. Finally, the field
shadingStyleallows to switch between this type of lighting and regular deferred lighting.
The Ray-Traced Shadows effect computes shadows inside the volume using a ray-marching based algorithm. This effect is activated and parameterized just like regular shadows using the
SoShadowGroupfields taken into account for this effect are
SoShadowGroup.quality. This type of shadows supports
SoROIclipping, but does not support
SoUniformGridProjectionClipping. Note that this effect has a huge impact on performance. The field
shadowsStyleallows to switch between this type of shadows and regular shadows.
Depth of Field
Depth Of Field is a "cinematic" effect that adds blur on regions far from the focal point of the camera. The focal point is typically the center of the scene bounding box, causing regions close to the camera and far from the camera to be blurred. The focal point is specified by the field
SoCamera.focalDistanceof the current camera. Only
SoVolumeRendernodes are affected by the blurring. The field
enableDepthOfFieldis used to switch it on and off, while the
blurFactorfield controls the amount of blur induced by this effect.
Nested Class Summary
Nested Classes Modifier and Type Class Description
SoVolumeRenderingPhysicalQuality.EnvironmentMapsList of available Environment Maps for Physically Based Lighting.
SoVolumeRenderingPhysicalQuality.PredefinedMaterialsList of available predefined materials.
SoVolumeRenderingPhysicalQuality.ShadingStylesList of available shading styles.
SoVolumeRenderingPhysicalQuality.ShadowsStylesList of available types of shadows.
SoVolumeRenderingPhysicalQuality.ToneMappingsList of available Tone Mapping algorithms for Physically Based Lighting.
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
Fields Modifier and Type Field Description
blurFactorThis value controls the intensity of the blurring for the Depth Of Field effect.
enableDepthOfFieldEnables a 'Depth of Field' effect on the volume.
environmentMapSpecifies which Environment map is used.
predefinedMaterialSpecifies a material from a list of predefined ones.
shadingStyleSpecifies which shading style is applied to the volume.
shadowsStyleSpecifies which kind of shadows to compute for the volume.
toneMappingSpecifies which tone mapping algorithm to apply.
Constructors Constructor Description
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
public final SoSFEnum<SoVolumeRenderingPhysicalQuality.ShadowsStyles> shadowsStyleSpecifies 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
SoVolumeRendernode is inside a
SoShadowGroupand the field
SoShadowGroup.isActiveis set to true. . Default is
public final SoSFEnum<SoVolumeRenderingPhysicalQuality.ShadingStyles> shadingStyleSpecifies which shading style is applied to the volume. . Default is
public final SoSFEnum<SoVolumeRenderingPhysicalQuality.PredefinedMaterials> predefinedMaterialSpecifies a material from a list of predefined ones. This field is taken into account only if
shadingStyleis 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_MATERIALcan also be selected, in which case the properties of the applied material will be retrieved from the current material on the state. . Default is
public final SoSFEnum<SoVolumeRenderingPhysicalQuality.EnvironmentMaps> environmentMapSpecifies which Environment map is used. This field is taken into account only if
shadingStyleis set to
predefinedMaterialis 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_ENVIRONMENTfield value. . Default is
public final SoSFBool enableDepthOfFieldEnables 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.focalDistanceof the current camera. Only VolumeRender nodes are affected by the blurring. The amount of blurring applied is controlled by the
blurFactorfield. Default is true.
public final SoSFFloat blurFactorThis 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.