SoPathTracerVolume

InventorModule
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoPathTracer
definition SoPathTracer.def
keywords volume, rendering, ray, casting, woodcock

Purpose

The SoPathTracerVolume module facilitates loading and rendering a volume in a SoPathTracer scene. The volume can render itself if Enable Volume Rendering is enabled, or it can be rendered or utilized by other modules, such as SoPathTracerVolumeInstance, SoPathTracerIsoSurface, or :module:SoPathTracerSlice.

The same volume can be rendered with different LUTs, transformations, clipping, masking, tagging, and subvolume settings using multiple SoPathTracerVolumeInstance instances.

For additional material and volume shader settings, you can add a SoPathTracerMaterial to the inMaterial. Through the material, it is also possible to perform boundary enhancement and silhouette rendering.

The SoPathTracer supports an unlimited number of volumes (subject to GPU limits) and allows for arbitrary affine transformations of the volumes. All volumes and geometries cast shadows on each other and are correctly integrated.

Volume transformations can be performed either via the Open Inventor scene or through the Matrix. You must use SoTransformSeparator or SoResetTransform when transforming a volume via the scene to ensure that the model transformation at the SoPathTracer is identity.

Restriction: In the current implementation, translucent overlapping volumes are not combined physically correctly; however, the implementation functions well for surface-like volumes and LUTs without large, highly transparent regions.

../../../Projects/MeVisPathTracer/SoPathTracer/Modules/mhelp/Images/motor5.jpg

Windows

Default Panel

../../../Projects/MeVisPathTracer/SoPathTracer/Modules/mhelp/Images/Screenshots/SoPathTracerVolume._default.png

Input Fields

inMaterial

name: inMaterial, type: SoNode

see SoPathTracerVolumeBase.inMaterial

inLUT

name: inLUT, type: MLBase, deprecated name: inDiffuseLUT

inVolume

name: inVolume, type: Image

The input dataset.

Parameter Fields

Visible Fields

Enable Clipping

name: enableClipping, type: Bool, default: TRUE

see SoPathTracerVolumeBase.enableClipping

Flip Clipping

name: flipClipping, type: Bool, default: FALSE

see SoPathTracerVolumeBase.flipClipping

Cast Shadow

name: castShadow, type: Bool, default: TRUE

Receive Shadow

name: receiveShadow, type: Bool, default: TRUE

Enabled

name: enabled, type: Bool, default: TRUE

see SoPathTracerVolumeBase.enabled

Enable Volume Rendering

name: enableVolumeRendering, type: Bool, default: TRUE

see SoPathTracerVolumeBase.enableVolumeRendering

Volume Name

name: volumeName, type: String, default: main

see SoPathTracerVolumeBase.volumeName

Mask Volume Name

name: maskVolumeName, type: String, default: mask

see SoPathTracerVolumeBase.maskVolumeName

Tag Volume Name

name: tagVolumeName, type: String, default: tags

see SoPathTracerVolumeBase.tagVolumeName

Gradient Volume Name

name: gradientVolumeName, type: String, default: gradients

Sets a name that enables loading a volume with :module:SoPathTracerGradientVolume.

Time Point

name: timePoint, type: Integer, default: 0

see SoPathTracerVolumeBase.timePoint

Mask Color0

name: maskColor0, type: Color, default: 1 0 0

see SoPathTracerVolumeBase.maskColor0

Mask Color1

name: maskColor1, type: Color, default: 1 1 1

see SoPathTracerVolumeBase.maskColor1

Mask Alpha0

name: maskAlpha0, type: Float, default: 0, minimum: 0, maximum: 1

see SoPathTracerVolumeBase.maskAlpha0

Mask Alpha1

name: maskAlpha1, type: Float, default: 1, minimum: 0, maximum: 1

see SoPathTracerVolumeBase.maskAlpha1

Mask Tag0

name: maskTag0, type: Integer, default: 0, minimum: 0, maximum: 1

see SoPathTracerVolumeBase.maskTag0

Mask Tag1

name: maskTag1, type: Integer, default: 0, minimum: 0, maximum: 1

see SoPathTracerVolumeBase.maskTag1

Step Size Factor

name: stepSizeFactor, type: Float, default: 1, minimum: 0.25, maximum: 10

see SoPathTracerVolumeBase.stepSizeFactor

Step Size Factor Shadow

name: stepSizeFactorShadow, type: Float, default: 1, minimum: 0.25, maximum: 10

see SoPathTracerVolumeBase.stepSizeFactorShadow

Self Shadowing Offset

name: selfShadowingOffset, type: Float, default: 1, minimum: 0, maximum: 10

see SoPathTracerVolumeBase.selfShadowingOffset

Transpose matrix

name: transposeAdditionalMatrix, type: Bool, default: TRUE

see SoPathTracerVolumeBase.transposeAdditionalMatrix

Matrix

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

see SoPathTracerVolumeBase.additionalMatrix

X (subVolumeStartX)

name: subVolumeStartX, type: Integer, default: 0

see SoPathTracerVolumeBase.subVolumeStartX

Y (subVolumeStartY)

name: subVolumeStartY, type: Integer, default: 0

see SoPathTracerVolumeBase.subVolumeStartY

Z (subVolumeStartZ)

name: subVolumeStartZ, type: Integer, default: 0

see SoPathTracerVolumeBase.subVolumeStartZ

X (subVolumeEndX)

name: subVolumeEndX, type: Integer, default: 999999

see SoPathTracerVolumeBase.subVolumeEndX

Y (subVolumeEndY)

name: subVolumeEndY, type: Integer, default: 999999

see SoPathTracerVolumeBase.subVolumeEndY

Z (subVolumeEndZ)

name: subVolumeEndZ, type: Integer, default: 999999

see SoPathTracerVolumeBase.subVolumeEndZ

Use world positions

name: subVolumeUseWorldPositions, type: Bool, default: FALSE

see SoPathTracerVolumeBase.subVolumeUseWorldPositions

World Start Position

name: subVolumeWorldStart, type: Vector3, default: 0 0 0

see SoPathTracerVolumeBase.subVolumeWorldStart

World End Position

name: subVolumeWorldEnd, type: Vector3, default: 0 0 0

see SoPathTracerVolumeBase.subVolumeWorldEnd

Tracing Method

name: tracingMethod, type: Enum, default: Tracing_RayMarching

see SoPathTracerVolumeBase.tracingMethod

Shader Type

name: shaderType, type: Enum, default: Shader_Hybrid

see SoPathTracerVolumeBase.shaderType

Gradient Factor

name: gradientFactor, type: Float, default: 3, minimum: 0, maximum: 20

see SoPathTracerVolumeBase.gradientFactor

Hidden Fields

precomputeGradients

name: precomputeGradients, type: Bool, default: FALSE

If checked, the gradients of the volume are precomputed.

This requires additional GPU memory and should only be used for debugging the on-the-fly gradients or if the on-the-fly gradients provide a poor quality.