Purpose

The GVRAdditionalVolume allows to add an advanced secondary volume to the GVR with following customizable rendering effects:

  • Illumination
  • ToneShading
  • Enhancement
  • Transformation

Usage

Connect the module before the SoGVRVolumeRenderer module in the scene graph and set a unique volumeName, if you want to use more than one secondary volume in the scene.

Details

The GVRAdditionalVolume uses two SoGVRSecondaryVolume modules (or SoGVRTransformedVolume modules if transformation is enabled) and several SoGVRShaderFunction modules to implement the rendering effects.

Tips

To enable the illumination of the secondary volume, the illumination has to be enabled in the GVR!

Windows

Default Panel

../../../Projects/GVRAdditionalVolume/Modules/mhelp/Images/Screenshots/GVRAdditionalVolume._default.png

Input Fields

inLUT

name: inLUT, type: MLBase

input lut, e.g. from a SoLUTEditor image

inImage

name: inImage, type: Image

input ML image

inVolume

name: inVolume, type: MLBase

Input GVR volume image.

inTagImage

name: inTagImage, type: Image

Input tag image.

Output Fields

outGVRExtension

name: outGVRExtension, type: SoNode, deprecated name: outVol

a node that should be put in front of the SoGVRVolumeRenderer

Parameter Fields

Visible Fields

Enabled (enabled)

name: enabled, type: Bool, default: TRUE

Defines if the secondary volume is enabled

Volume Name

name: volumeName, type: String, default: AdditionalVolume

Defines the unique name that will be used to address this volume

Filter Data

name: filterData, type: Bool, default: TRUE

Enables linear interpolation when sampling the data

Visibility

name: visibility, type: Enum, default: VolumeVisibleWithSecondaryLUT

Defines the visibilty of the data.

Values:

Title Name
Always Visible VolumeAlwaysVisible
Same Visibility As Main Volume VolumeSameVisibilityAsMainVolume
Visible With Secondary LUT VolumeVisibleWithSecondaryLUT

Combine Mode

name: combineMode, type: Enum, default: CombineBlend

Defines how the secondary volume data is combined with the main volume.

Values:

Title Name
Add CombineAdd
Max CombineMax
Blend CombineBlend

Apply Mask

name: applyMask, type: Bool, default: FALSE

Defines if the color/alpha values can be modified by means of the mask volume

Use Border Grey Value

name: useBorderGreyValue, type: Bool, default: FALSE

Enables texture border grey value.

Border Grey Value

name: borderGreyValue, type: Float, default: 0

Border grey value.

Filter Lut

name: filterLut, type: Bool, default: TRUE

set if the LUT is sampled with linear or nearest neighbour filtering.

Use Alpha Correction

name: useAlphaCorrection, type: Bool, default: TRUE

set if the LUT’s alpha channel is corrected according to the current sampling rate

Manual Original Data Min Max

name: manualOriginalDataMinMax, type: Bool, default: FALSE

can be used to manually set the min/max range that the LUT should represent

Manual Scaled Data Min Max

name: manualScaledDataMinMax, type: Bool, default: FALSE

can be used to manually set the min/max range of the data that will be used to lookup into the LUT

Enabled (enabledShading)

name: enabledShading, type: Bool, default: TRUE

Defines if shading is enabled.

On The Fly Gradients

name: enabledOnTheFlyGradients, type: Bool, default: FALSE

Gradients are calculated on the fly and gradient texture is not used.

Ambient

name: materialAmbient, type: Double, default: 0.60000002, minimum: 0, maximum: 1

defines the ambient material property of the volume data (0 means no ambient light, 1 means full ambient light)

Diffuse

name: materialDiffuse, type: Double, default: 1, minimum: 0, maximum: 1

defines the diffuse material property of the volume data (0 means no diffuse light, 1 mean full diffuse light)

Specular

name: materialSpecular, type: Double, default: 1, minimum: 0, maximum: 1

defines the specular material property of the volume data (0 means no specular light, 1 means full specular light)

Specularity

name: materialSpecularity, type: Double, default: 16, minimum: 0, maximum: 64

defines the specularity of the object, a higher value leads to a smaller highlight

Warm Color

name: toneShadingWarmColor, type: Color, default: 0.674509823322296 0.533333361148834 0.141176477074623

defines the color used as warm/cold color

Cold Color

name: toneShadingColdColor, type: Color, default: 0 0 0.400000005960464

defines the color used as warm/cold color

Warm Diffuse

name: toneShadingWarmDiffuse, type: Float, default: 0.60000002, minimum: 0, maximum: 1

defines how much diffuse light should be applied

Cold Diffuse

name: toneShadingColdDiffuse, type: Float, default: 0.2, minimum: 0, maximum: 1

defines how much diffuse light should be applied

Angle

name: toneShadingAngle, type: Integer, default: 30, minimum: 0, maximum: 360

Defines the angle of the tone shading, rotates around the viewing direction

Enabled (toneShading)

name: toneShading, type: Bool, default: FALSE

enables tone shading

Enabled (boundaryEnhancement)

name: boundaryEnhancement, type: Bool, default: FALSE

enables boundary enhancement

Enabled (silhouetteEnhancement)

name: silhouetteEnhancement, type: Bool, default: FALSE

enables silhoette enhancement

Weight (boundaryEnhancementFactor)

name: boundaryEnhancementFactor, type: Double, default: 3.03, minimum: 0, maximum: 50

defines the weight factor that is applied

Exponent (boundaryEnhancementExponent)

name: boundaryEnhancementExponent, type: Double, default: 0.86000001, minimum: 0, maximum: 50

defines the exponent that is applied

Bias

name: boundaryEnhancementGradientBias, type: Double, default: 0, minimum: 0, maximum: 1

defines the gradient strength bias

alpha = alpha * weight * pow( gradientStrength + bias, exponent)

Weight (silhouetteEnhancementFactor)

name: silhouetteEnhancementFactor, type: Double, default: 2.1199999, minimum: 0, maximum: 20

defines the weight factor that is applied

Exponent (silhouetteEnhancementExponent)

name: silhouetteEnhancementExponent, type: Double, default: 3.03, minimum: 0, maximum: 50

defines the exponent that is applied

Add Original Alpha

name: enhancementAlphaMix, type: Double, default: 0.30000001, minimum: 0, maximum: 1

defines how much of the original alpha is added to the alpha value after enhancement

Enabled (enabledTransformation)

name: enabledTransformation, type: Bool, default: FALSE

enables transformation

Transform Mode

name: transformMode, type: Enum, default: UseWorldCoordinates

select world coordinates or scale to image

Values:

Title Name
Use World Coordinates UseWorldCoordinates
Scale To Image ScaleToImage

Modify World Coordinates

name: modifyWorldCoordinates, type: Bool, default: FALSE

enable the additional transforms

Replace World To Voxel Matrix

name: replaceWorldToVoxelMatrix, type: Bool, default: FALSE

enable the use of the transformation matrix

World Center

name: worldCenter, type: Vector3, default: 0 0 0

defines the new world center of the mask volume, takes the center of the mask volume and moves it to the new center

World Rotation

name: worldRotation, type: Rotation, default: 0 0 1 3.1415901184082

defines the additional rotation (around the center of the volume)

World Scale

name: worldScale, type: Vector3, default: 1 1 1

defines the exponent that is applied

Custom World To Voxel Matrix

name: customWorldToVoxelMatrix, type: Matrix, default: 1 0 0 0, 0 1 0 0, 0 0 1 0, 0 0 0 1

defines the world transformation with a matrix