instantreality 1.0

Component:
VolumeRendering
Status:
interface only
Structure type:
concrete
Standard:
X3D

CartoonVolumeStyle

Uses the cartoon-style nonphotorealistic rendering of the volume. Cartoon rendering uses two colours that are rendered in a series of distinct flat-shaded sections based on the local surface normal's closeness to the average normal, with no gradients in between.

Inheritance

Code

XML encoding
<CartoonVolumeStyle parallelColor='0 0 0'
orthogonalColor='1 1 1'
colorSteps='4'
enabled='TRUE'
logFeature=''
 />
Classic encoding
CartoonVolumeStyle {
	parallelColor 0 0 0
	orthogonalColor 1 1 1
	colorSteps 4
	enabled TRUE
	logFeature [""]
}

Interface

Filter: X3D only | Avalon only | All
id Name DataType PartType Default ValueType Description
SFColor parallelColor SFColor inputOutput 0 0 0 [0, 1] The parallelColor field specifies the colour to be used for surface normals that are orthogonal to the viewer's current location (the plane of the surface itself is parallel to the user's view direction).
SFColor orthogonalColor SFColor inputOutput 1 1 1 [0, 1] The orthogonalColor field specifies the colour to be used for surface normals that are parallel to the viewer's current location (the plane of the surface itself is orthogonal to the user's view direction). Surfaces that are further than orthgonal to the view direction (ie back facing) are not rendered and shall have no colour calculated for them.
SFInt32 colorSteps SFInt32 inputOutput 4 [1, 64] The colorSteps field indicates how many distinct colours should be taken from the interpolated colours and used to render the object. If the value is 1, then no colour interpolation takes place, and only the orthogonal colour is used to render the surface with. Any other value and the colours are interploted between parallelColor and orthogonalColor in HSV colour space for the RGB components, and linearly for the alpha component. From this, determine the number of colours using a midpoint calculation.
SFNode 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.
SFBool 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.
MFString 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