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.
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.
Output Fields¶
self¶
-
name:
self
, type:
SoNode
¶ Node that must be placed in-front of a
SoGVRVolumeRenderer
.
Parameter Fields¶
Field Index¶
Closest Vessel Threshold : Float |
Render Outside Main Volume : Bool |
Early Ray Termination : Float |
|
Enabled : Bool |
|
Integrate Opaque Geometry : Bool |
|
Jitter Mode : Enum |
|
Mida Mix Value : Float |
|
Render Interactive To FBO : Bool |
|
Render Mode : Enum |
Visible Fields¶
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 Mode¶
-
name:
renderMode
, type:
Enum
, default:
RayCast_Direct
¶ Defines the render mode; this overrides the
SoGVRVolumeRenderer.renderMode
andSoGVRVolumeRenderer.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. |