SoGVRRayCastSettings

InventorModule
genre VolRendExtensions
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoGVR
definition soGVR.def
see also SoGVRVolumeRenderer

Purpose

The SoGVRRayCastSettings module enables GPU ray casting of a SoGVRVolumeRenderer. The ray caster supports all features of the standard GVR volume renderer, including multiple volumes using SoGVRSecondaryVolume and SoGVRTransformedVolume.

The ray caster is fully extensible through the :module:SoGVRShaderFunction.

The features of the ray caster are:

  • Single pass GPU ray caster (full floating-point precision blending in the shader)
  • Empty space skipping using proxy geometry
  • Early ray termination
  • Support for endoscopic rendering
  • Jittering for render artifact removal
  • Bricking (using large 3D cache textures and index lookup textures)
  • On-the-fly gradient estimation
  • Multi-volume support
  • Per-tag shading
  • Integration of opaque OpenGL geometry
  • Support for OpenGL clipping planes
  • Support for slab-rendering using SoView2DScene
  • Fully extensible using SoGVRShaderFunction
  • First hit ray casting using SoGVRFirstHitRayCastSettings
  • Almost all GVR extensions are supported

Usage

Place this module in front of a SoGVRVolumeRenderer. It will switch the rendering mode from the default slicer to the GPU ray caster.

Details

Example CT dataset rendered using the GPU ray caster:

../../../Modules/Inventor/SoGVR/mhelp/Images/RayCaster.png

Tips

The ray caster stores the volume data as large 3D textures, either as entire volume textures or as large 3D cache volumes, along with an index lookup texture for bricking. This means that using the standard GVR slicer and the ray caster with the same SoGVRVolumeRenderer is not advisable, as using either render mode will purge the 3D textures used by the other. However, since the ray caster supports all features of the slicer, this limitation is not significant.

Windows

Default Panel

../../../Modules/Inventor/SoGVR/mhelp/Images/Screenshots/SoGVRRayCastSettings._default.png

Output Fields

self

name: self, type: SoNode

Node that must be placed in-front of a SoGVRVolumeRenderer.

Parameter Fields

Visible Fields

Enabled

name: enabled, type: Bool, default: TRUE

If checked, the GPU ray caster is enabled.

Closest Vessel Threshold

name: closestVesselThreshold, type: Float, default: 150

Sets a gray value threshold used if Render Mode is set to ClosestVessel.

Mida Mix Value

name: midaMixValue, type: Float, default: 0, minimum: -1, maximum: 1

Sets an interpolation value used to interpolate between DVR (-1), MIDA (0) and MIP (+1) if Render Mode is set to MIDA.

Early Ray Termination

name: earlyRayTermination, type: Float, default: 0.99000001

Sets the accumulated alpha threshold at which the ray is terminated.

Render Outside Main Volume

name: renderOutsideMainVolume, type: Bool, default: FALSE

If checked, SoGVRTransformedVolume volumes are rendered even if they are partially outside the main volume.

This enables real multi-volume rendering with completely separate volumes that are still correctly mixed.

Integrate Opaque Geometry

name: integrateOpaqueGeometry, type: Bool, default: FALSE

If checked, the opaque OpenGL geometry rendered before the SoGVRVolumeRenderer is correctly integrated by back-projecting the depth buffer of the geometry rendering and truncating the ray caster rays accordingly.

Transparent geometry cannot be integrated using this approach; see SoGVRDepthPeel for the integration of transparent geometry.

Render Interactive To FBO

name: renderInteractiveToFBO, type: Bool, default: FALSE

Render Mode

name: renderMode, type: Enum, default: RayCast_Direct

Defines the render mode; this overrides the SoGVRVolumeRenderer.renderMode and SoGVRVolumeRenderer.blendMode.

Values:

Title Name Description
Direct RayCast_Direct Front-to-back direct volume rendering.
Illuminated RayCast_Illuminated Front-to-back illuminated volume rendering.
MIP RayCast_MIP Maximum intensity projection.
Min IP RayCast_MinIP Minimum intensity projection.
Mean IP RayCast_MeanIP Mean intensity projection (aka Average intensity projection).
Closest Vessel RayCast_ClosestVessel Closest Vessel Projection (using Closest Vessel Threshold).
MIDA RayCast_MIDA Maximum Intensity Difference Accumulation (see Instant Volume Visualization using Maximum Intensity Difference Accumulation by Stefan Bruckner, Meister Eduard Gröller).
MIDA Illuminated RayCast_MIDA_Illuminated Illuminated Maximum Intensity Difference Accumulation (see Instant Volume Visualization using Maximum Intensity Difference Accumulation by Stefan Bruckner, Meister Eduard Gröller).

Jitter Mode

name: jitterMode, type: Enum, default: RayCast_JitterOff

Defines different jitter modes for render artifact removal.

Values:

Title Name Description
Off RayCast_JitterOff Turn jittering off.
Half Step RayCast_JitterHalfStep Jitter every second ray by half a sampling step.
Random RayCast_JitterRandom Jitter each ray by up to one sample step using a randomized pattern.