Volume rendering physical quality property node More...
#include <VolumeViz/nodes/SoVolumeRenderingPhysicalQuality.h>
Public Types | |
enum | ShadowsStyle { SHADOWMAP , RAYTRACED } |
List of available types of shadows. More... | |
enum | ShadingStyle { PHONG , PHYSICALLY_BASED } |
List of available shading styles. More... | |
enum | EnvironmentMap { SKY , GROVE , STPETER , GRACE , UFFIZI , STLAZARUS , NO_ENVIRONMENT } |
List of available Environment Maps for Physically Based Lighting. More... | |
enum | ToneMapping { PALE , MEDIUM , HIGH_CONTRAST } |
List of available Tone Mapping algorithms for Physically Based Lighting. More... | |
enum | PredefinedMaterial { MATTE , SEMI_GLOSSY , GLOSSY , CUSTOM_MATERIAL } |
List of available predefined materials. More... | |
Public Member Functions | |
virtual SoType | getTypeId () const |
Returns the type identifier for this specific instance. | |
SoVolumeRenderingPhysicalQuality () | |
Public Member Functions inherited from SoNode | |
virtual void | setOverride (const SbBool state) |
Turns the override flag on or off. | |
virtual SbBool | isOverride () const |
Returns the state of the override flag. | |
virtual SoNode * | copy (SbBool copyConnections=FALSE) const |
Creates and returns an exact copy of the node. | |
virtual SbBool | affectsState () const |
Returns TRUE if a node has an effect on the state during traversal. | |
virtual void | touch () |
Marks an instance as modified, simulating a change to it. | |
Public Member Functions inherited from SoFieldContainer | |
void | setToDefaults () |
Sets all fields in this object to their default values. | |
SbBool | hasDefaultValues () const |
Returns TRUE if all of the object's fields have their default values. | |
SbBool | fieldsAreEqual (const SoFieldContainer *fc) const |
Returns TRUE if this object's fields are exactly equal to fc's fields. | |
void | copyFieldValues (const SoFieldContainer *fc, SbBool copyConnections=FALSE) |
Copies the contents of fc's fields into this object's fields. | |
SoNONUNICODE SbBool | set (const char *fieldDataString) |
Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
SbBool | set (const SbString &fieldDataString) |
Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. | |
void | get (SbString &fieldDataString) |
Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. | |
virtual int | getFields (SoFieldList &list) const |
Appends references to all of this object's fields to resultList, and returns the number of fields appended. | |
virtual int | getAllFields (SoFieldList &list) const |
Returns a list of fields, including the eventIn's and eventOut's. | |
virtual SoField * | getField (const SbName &fieldName) const |
Returns a the field of this object whose name is fieldName. | |
virtual SoField * | getEventIn (const SbName &fieldName) const |
Returns a the eventIn with the given name. | |
virtual SoField * | getEventOut (const SbName &fieldName) const |
Returns the eventOut with the given name. | |
SbBool | getFieldName (const SoField *field, SbName &fieldName) const |
Returns the name of the given field in the fieldName argument. | |
SbBool | enableNotify (SbBool flag) |
Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE). | |
SbBool | isNotifyEnabled () const |
Notification is the process of telling interested objects that this object has changed. | |
virtual void | setUserData (void *data) |
Sets application data. | |
void * | getUserData (void) const |
Gets user application data. | |
Public Member Functions inherited from SoBase | |
virtual SbName | getName () const |
Returns the name of an instance. | |
virtual void | setName (const SbName &name) |
Sets the name of an instance. | |
void | setSynchronizable (const bool b) |
Sets this to be a ScaleViz synchronizable object. | |
bool | isSynchronizable () const |
Gets the ScaleViz synchronizable state of this object. | |
Public Member Functions inherited from SoRefCounter | |
void | ref () const |
Adds a reference to an instance. | |
void | unref () const |
Removes a reference from an instance. | |
void | unrefNoDelete () const |
unrefNoDelete() should be called when it is desired to decrement the reference count, but not delete the instance if this brings the reference count to zero. | |
int | getRefCount () const |
Returns current reference count. | |
void | lock () const |
lock this instance. | |
void | unlock () const |
unlock this instance. | |
Public Member Functions inherited from SoTypedObject | |
SbBool | isOfType (const SoType &type) const |
Returns TRUE if this object is of the type specified in type or is derived from that type. | |
template<typename TypedObjectClass > | |
SbBool | isOfType () const |
Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class. | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Static Public Member Functions inherited from SoNode | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
static SoNode * | getByName (const SbName &name) |
A node's name can be set using SoBase::setName(). | |
static int | getByName (const SbName &name, SoNodeList &list) |
A node's name can be set using SoBase::setName(). | |
Static Public Member Functions inherited from SoFieldContainer | |
static SoType | getClassTypeId () |
Returns the type of this class. | |
Static Public Member Functions inherited from SoBase | |
static SoType | getClassTypeId () |
Returns type identifier for this class. | |
Static Public Member Functions inherited from SoTypedObject | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Public Attributes | |
SoSFEnum | shadowsStyle |
Specifies which kind of shadows to compute for the volume. | |
SoSFEnum | shadingStyle |
Specifies which shading style is applied to the volume. | |
SoSFEnum | predefinedMaterial |
Specifies a material from a list of predefined ones. | |
SoSFEnum | environmentMap |
Specifies which Environment map is used. | |
SoSFEnum | toneMapping |
Specifies which tone mapping algorithm to apply. | |
SoSFBool | enableDepthOfField |
Enables a 'Depth of Field' effect on the volume. | |
SoSFFloat | blurFactor |
This value controls the intensity of the blurring for the Depth Of Field effect. | |
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:
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.8
Definition at line 120 of file SoVolumeRenderingPhysicalQuality.h.
List of available Environment Maps for Physically Based Lighting.
Enumerator | |
---|---|
SKY | |
GROVE | |
STPETER | |
GRACE | |
UFFIZI | |
STLAZARUS | |
NO_ENVIRONMENT | When this value is selected, image-based lighting is disabled. |
Definition at line 256 of file SoVolumeRenderingPhysicalQuality.h.
List of available predefined materials.
Enumerator | |
---|---|
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. |
Definition at line 305 of file SoVolumeRenderingPhysicalQuality.h.
List of available shading styles.
Enumerator | |
---|---|
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. |
Definition at line 231 of file SoVolumeRenderingPhysicalQuality.h.
List of available types of shadows.
Enumerator | |
---|---|
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. |
Definition at line 211 of file SoVolumeRenderingPhysicalQuality.h.
List of available Tone Mapping algorithms for Physically Based Lighting.
Enumerator | |
---|---|
PALE | Pale Tone Mapping. |
MEDIUM | Medium Tone Mapping. |
HIGH_CONTRAST | High-contrast Tone Mapping. |
Definition at line 290 of file SoVolumeRenderingPhysicalQuality.h.
SoVolumeRenderingPhysicalQuality::SoVolumeRenderingPhysicalQuality | ( | ) |
|
static |
Returns the type identifier for this class.
|
virtual |
Returns the type identifier for this specific instance.
Reimplemented from SoNode.
SoSFFloat SoVolumeRenderingPhysicalQuality::blurFactor |
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.
Definition at line 203 of file SoVolumeRenderingPhysicalQuality.h.
SoSFBool SoVolumeRenderingPhysicalQuality::enableDepthOfField |
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.
Definition at line 195 of file SoVolumeRenderingPhysicalQuality.h.
SoSFEnum SoVolumeRenderingPhysicalQuality::environmentMap |
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.
Definition at line 169 of file SoVolumeRenderingPhysicalQuality.h.
SoSFEnum SoVolumeRenderingPhysicalQuality::predefinedMaterial |
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.
Definition at line 158 of file SoVolumeRenderingPhysicalQuality.h.
SoSFEnum SoVolumeRenderingPhysicalQuality::shadingStyle |
Specifies which shading style is applied to the volume.
Use enum ShadingStyle. Default is PHYSICALLY_BASED.
Definition at line 147 of file SoVolumeRenderingPhysicalQuality.h.
SoSFEnum SoVolumeRenderingPhysicalQuality::shadowsStyle |
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.
Definition at line 138 of file SoVolumeRenderingPhysicalQuality.h.
SoSFEnum SoVolumeRenderingPhysicalQuality::toneMapping |
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.
Definition at line 178 of file SoVolumeRenderingPhysicalQuality.h.