Volume rendering physical quality property node More...
#include <VolumeViz/nodes/SoVolumeRenderingPhysicalQuality.h>
Public Types | |
enum | ShadowsStyle { SHADOWMAP, RAYTRACED } |
enum | ShadingStyle { PHONG, PHYSICALLY_BASED } |
enum | EnvironmentMap { SKY, GROVE, STPETER, GRACE, UFFIZI, STLAZARUS, NO_ENVIRONMENT } |
enum | ToneMapping { PALE, MEDIUM, HIGH_CONTRAST } |
enum | PredefinedMaterial { MATTE, SEMI_GLOSSY, GLOSSY, CUSTOM_MATERIAL } |
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 |
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:
shadowsStyle | RAYTRACED |
shadingStyle | PHYSICALLY_BASED |
predefinedMaterial | SEMI_GLOSSY |
environmentMap | UFFIZI |
toneMapping | MEDIUM |
enableDepthOfField | TRUE |
blurFactor | 0.01 |
SoVolumeRenderingQuality, SoShadowGroup
NOTE: node available since Open Inventor 9.8List of available predefined materials.
MATTE |
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 |
SEMI_GLOSSY |
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 |
GLOSSY |
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 |
CUSTOM_MATERIAL |
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 |
Phong shading. This is the regular lighting provided by the field SoVolumeRenderingQuality::deferredLighting. |
PHYSICALLY_BASED |
Physically-Based shading. This is the advanced lighting that provides:
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.
SHADOWMAP |
The standard shadowmap-based shadows. See SoShadowGroup. |
RAYTRACED |
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. |
SoVolumeRenderingPhysicalQuality::SoVolumeRenderingPhysicalQuality | ( | ) |
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.
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.