ShadedVolumeStyle
The shaded volume style applies traditional local illumination model that is used in polygonal rendering to volume rendering. In this style, the source voxel value ignored other than to determine if it is a surface that needs to be shaded or not and the normal at that surface. Typically this style is used combined with the ISOSurfaceVolumeData to extract surfaces from the data and render each surface with a different colour. Determination of whether the voxel should be shaded using this model is the responsibility of the volume data definition.
Inheritance
Code
XML encoding
<ShadedVolumeStyle lighting='FALSE' shadows='FALSE' phaseFunction='Henyey-Greenstein' enabled='TRUE' logFeature='' />
Classic encoding
ShadedVolumeStyle { lighting FALSE shadows FALSE phaseFunction "Henyey-Greenstein" enabled TRUE logFeature [""] }
Interface
Filter: X3D only | Avalon only | All
id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|
logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything | ||
enabled | SFBool | inputOutput | TRUE | The enabled field defines whether this rendering style should be currently applied to the volume data. If the field is set to FALSE, then the rendering shall not be applied at all. The render shall act as though no volume data is rendered when set to FALSE. Effectively, this allows the end user to turn on and off volume rendering of specific parts of the volume without needing to add or remove style definitions from the volume data node. | ||
lighting | SFBool | inputOutput | FALSE | The lighting field controls whether the rendering should calculate and apply shading effects to the visual output. When shading is applied, the value of the surfaceNormals field can be used to provide pre-generated surface normals for lighting calculations. If lighting is not enabled, then flat shading using the surface colour is to be used. | ||
shadows | SFBool | inputOutput | FALSE | The shadows field controls whether the rendering should calculate and apply shadows to the visual output. A value of FALSE requires that no shadowing be applied. A value of TRUE requires that shadows be applied to the object. If the lighting field is set to FALSE, this field shall be ignore and no shadows generated. | ||
material | SFNode | inputOutput | NULL | Material | Once a voxel has been determined to be a rendered, a colour and opacity is determined based on whether a value has been specified for the material field. If a material value is provided, this voxel is considered to be lit using the lighting equations below. If no material node is provided, it is considered to be unlit and the colour of the voxel completely transparent. | |
metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element | ||
surfaceNormals | SFNode | inputOutput | NULL | [Texture] | The surfaceNormals field is used to provide pre-calculated surface normal information for each voxel. If provided, this shall be used for all lighting calculations. If not provided, the implementation shall automatically generate surface normals using an implementation-specific method. If a value is provided, it shall be exactly the same voxel dimensions as the base volume data that it represents. If the dimension are not identical then the browser shall generate a warning and automatically generate its own internal normals as though no value was provided for this field. | |
phaseFunction | SFString | initializeOnly | Henyey-Greenstein | [None, Henyey-Greenstein] | The phaseFunction field is used to define the scattering model for use in an implementation using global illumnation. The name defines the model type, based on standard algorithms externally defined to this specification. The default implementation is the Henyey-Greenstein phase function. |