| genre | VolRendExtensions |
| status | stable |
| author | Florian Link |
| package | MeVisLab/Standard |
| dll | SoGVR |
| definition | soGVR.def |
| see also | SoGVRVolumeRenderer |
The SoGVRRayCastSettings module enables GPU ray casting on a SoGVRVolumeRenderer module. The ray caster supports all features of the standard GVR volume renderer, including multiple volumes using SoGVRSecondaryVolume, SoGVRTransformedVolume.
The ray caster is fully extensible using the SoGVRShaderFunction.
The features of the ray caster are:
Place this module in front of a SoGVRVolumeRenderer. It will switch the rendering mode from the default slicer to the GPU ray caster.
The ray caster stores the volume data as large 3D textures, either as whole volume textures or as large 3D cache volumes and an index lookup texture for bricking. This means that using the standard GVR slicer and the ray caster with the same SoGVRVolumeRenderer is not a good idea, since using either render mode will purge the 3D textures used by the other render mode. Since the ray caster supports all features of the slicer, this is not a big limitation.
Node that should be placed in-front of a SoGVRVolumeRenderer.
| Closest Vessel Threshold: Float |
| Early Ray Termination: Float |
| Enabled: Bool |
| Integrate Opaque Geometry: Bool |
| Jitter Mode: Enum |
| Mida Mix Value: Float |
| Render Mode: Enum |
| Use Bricking: Bool |
Grey value threshold that is used when Render Mode is set to ClosestVessel
Interpolate between DVR (-1), MIDA (0) and MIP (+1), when Render Mode is set to MIDA.
Defines at which accumulated alpha threshold the ray is terminated.
If enabled, the opaque OpenGL geometry that is 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 can not be integrated with this approach, see SoGVRDepthPeel for integration of transparent geometry.
Selects the render mode, this overrides the SoGVRVolumeRenderer renderMode and 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) |
Allows to select 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. |