SoGVRIlluminationSettings

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

Purpose

The SoGVRIlluminationSettings module allows for overriding the settings for the Illuminated render mode of the SoGVRVolumeRenderer. The same fields are also available in the SoGVRVolumeRenderer panel (see “Illumination”) and are documented on this help page as well.

This module can also override the blend mode and the render mode. By using this module, the same renderer can employ various render settings across different Open Inventor scenes.

Details

The Illuminated mode is a render mode that allows for setting the following shading and lighting properties:

  • One to three colored directional lights (using Blinn-Phong lighting)
  • Tone shading
  • Boundary enhancement
  • Silhouette enhancement

Tips

When multiple lights or tone shading are enabled and the rendered image becomes too bright, set the Ambient field to a lower value!

Refer to the example network for useful shader settings.

Windows

Default Panel

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

Material (affects all three lights)

Ambient:
Defines the ambient material property of the volume data (0 means no ambient light, 1 means full ambient light).
Diffuse:
Defines the diffuse material property of the volume data (0 means no diffuse light, 1 mean full diffuse light).
Specular:
Defines the specular material property of the volume data (0 means no specular light, 1 means full specular light).
Specularity:
Defines the specularity of the object, a higher value leads to a smaller highlight.

Light 1-3

For detail on the Blinn/Phong lighting model, see https://www.lighthouse3d.com/tutorials/

Enabled:
Enables the directional light.
Diffuse Intensity:
Sets this light’s diffuse intensity, 0 means no diffuse light.
Specular Intensity:
Sets this light’s specular intensity, 0 means no specular highlights.
Color:
Sets the color of the light.
Azimuth, Altitude:
Sets the position of the light in polar coordinates, 0/0 is front facing headlight.

Tone Shading

This model is based on using warm and cold colors for illumination and allows for a nice coloring of renderings of, e.g., Bones, Vessels.

Enabled:
Enables tone shading.
Warm/Cold Color:
Defines the color used as warm/cold color.
Warm/Cold Diffuse:
Defines how much diffuse light should be applied.
Angle:
Defines the angle of the tone shading, rotates around the viewing direction.

Enhancement

The GVR supports gradient based enhancement as described in https://userpages.cs.umbc.edu/rheingan/pubs/volillus00.pdf

Boundary Enhancement

This mode is based on the gradient strenght (normalized to 0-1) and affects the opacity/alpha values of the rendered voxel by weighting with the gradient strength.

Enabled:
Enables boundary enhancement.
Weight:
Defines the weight factor that is applied.
Exponent:
Defines the exponent that is applied.
Bias:
Defines the gradient strength bias.

The enhancement is calculated like this:

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

Silhouette Enhancement

This mode also affects the opacity of voxels by weighting them with the angle between the voxel gradient and the viewing direction. This makes voxels that face the viewer transparent, while making voxels that are perpendicular to the viewer opaque; see above paper for the used formula.

Enabled:
Enables sihouette enhancement.
Weight:
Defines the weight factor that is applied.
Exponent:
Defines the exponent that is applied.

For both modes:

Add Original Alpha:
Defines how much of the original alpha is added to the alpha value after enhancement.

Output Fields

self

name: self, type: SoNode

A node that should be put in front of the SoGVRVolumeRenderer

Parameter Fields

Visible Fields

Enabled (enabled)

name: enabled, type: Bool, default: TRUE

If checked, the settings provided in this module are enabled.

Add Original Alpha

name: enhancementAlphaMix, type: Float, default: 0.25, minimum: 0, maximum: 1

Sets the amount of the original alpha that is mixed with the enhancement.

Enabled (boundaryEnhancement)

name: boundaryEnhancement, type: Bool, default: FALSE

If checked, the boundary enhancement is enabled.

Weight (boundaryEnhancementFactor)

name: boundaryEnhancementFactor, type: Float, default: 1, minimum: 0, maximum: 50

Sets the weight for the boundary enhancement.

Exponent (boundaryEnhancementExponent)

name: boundaryEnhancementExponent, type: Float, default: 1, minimum: 0.1, maximum: 50

Sets the boundary enhancement exponent.

Bias

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

Sets the bias for boundary enhancement.

Enabled (silhouetteEnhancement)

name: silhouetteEnhancement, type: Bool, default: FALSE

If checked, the enhancement of silhouettes is enabled.

Exponent (silhouetteEnhancementExponent)

name: silhouetteEnhancementExponent, type: Float, default: 1, minimum: 0.1, maximum: 50

Sets the exponent for silhouette enhancement.

Weight (silhouetteEnhancementFactor)

name: silhouetteEnhancementFactor, type: Float, default: 1, minimum: 0, maximum: 20

Sets the weight for the silhouette enhancement.

Enabled (toneShading)

name: toneShading, type: Bool, default: FALSE

If checked, the tone shading is enabled.

Warm Color

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

Sets the warm color of the tone shading.

Cold Color

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

Sets the cold color of tone shading.

Warm Diffuse

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

Sets the warm diffuse factor of the tone shading.

Cold Diffuse

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

Sets the diffuse light of cold color.

Angle

name: toneShadingAngle, type: Float, default: 45, minimum: -180, maximum: 180

Sets the angle of the tone shading.

Ambient

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

Sets the ambient light.

Diffuse

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

Sets the overall diffuse factor for all lights.

Specular

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

Sets the overall specular intensity for all lights.

Specularity

name: materialSpecularity, type: Float, default: 32, minimum: 1, maximum: 128

Sets the specularity exponent of the lights.

Reduce Lighting On Low Gradient Magnitude

name: reduceLightingOnLowGradientMagnitude, type: Bool, default: FALSE

If checked, the lighting on low gradient magnitudes is reduced.

Enabled (light1Enabled)

name: light1Enabled, type: Bool, default: TRUE

If checked, light1 is enabled.

Diffuse Intensity (light1DiffuseIntensity)

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

Sets the diffuse intensity of light1.

Specular Intensity (light1SpecularIntensity)

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

Sets the specular intensity for light1.

Color (light1Color)

name: light1Color, type: Color, default: 1 1 1

Sets the color of light1.

Azimuth (light1PolarPhi)

name: light1PolarPhi, type: Float, default: 0, minimum: -180, maximum: 180

Sets the angle of light1.

Altitude (light1PolarRho)

name: light1PolarRho, type: Float, default: 0, minimum: -180, maximum: 180

Sets the angle of light1.

Enabled (light2Enabled)

name: light2Enabled, type: Bool, default: FALSE

If checked, light2 is enabled.

Diffuse Intensity (light2DiffuseIntensity)

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

Sets the diffuse intensity of light2.

Specular Intensity (light2SpecularIntensity)

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

Sets the specular intensity for light2.

Color (light2Color)

name: light2Color, type: Color, default: 1 1 1

Sets the color of light2.

Azimuth (light2PolarPhi)

name: light2PolarPhi, type: Float, default: 45, minimum: -180, maximum: 180

Sets the angle of light2.

Altitude (light2PolarRho)

name: light2PolarRho, type: Float, default: 45, minimum: -180, maximum: 180

Sets the angle of light2.

Enabled (light3Enabled)

name: light3Enabled, type: Bool, default: FALSE

If checked, light3 is enabled.

Diffuse Intensity (light3DiffuseIntensity)

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

Sets the diffuse intensity of light3.

Specular Intensity (light3SpecularIntensity)

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

Sets the specular intensity for light3.

Color (light3Color)

name: light3Color, type: Color, default: 1 1 1

Sets the color of light3.

Azimuth (light3PolarPhi)

name: light3PolarPhi, type: Float, default: -45, minimum: -180, maximum: 180

Sets the angle of light3.

Altitude (light3PolarRho)

name: light3PolarRho, type: Float, default: 0, minimum: -180, maximum: 180

Sets the angle of light3.

Render Mode

name: renderMode, type: Enum, default: Illuminated

Defines the render mode.

Values:

Title Name Description
Direct Direct Direct Volume Rendering
Illuminated Illuminated Illuminated/Shaded Volume Rendering (see Illumination tab).
Mip MIP  

Blend Mode

name: blendMode, type: Enum, default: Blend

Defines the used blend mode.

Values:

Title Name Description
Blend Blend Blending (c = (1-alpha)*c1 + (alpha)*c2)
Add Add Add (c = c1 + c2)
Mip MIP MIP (maximum intensity projection)
Min IP MinIP MinIP (minimum intensity projection) Keep in mind that you will need a white background to correctly render in this blend mode!
Reverse Subtract ReverseSubtract ReverseSubtract
Subtract Subtract Subtract