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 to overwrite the settings for the Illuminated render mode of the SoGVRVolumeRenderer module. 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. Using this module, the same renderer can use various render settings in different Open Inventor scenes.

Usage

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

The Illuminated mode is an advanced render mode that allows to set the following shading/lighting properties:

  • 1-3 colored directional lights (using Blinn-Phong lighting)
  • Tone Shading
  • Boundary Enhancement
  • Silhouette Enhancement

The Illuminated mode supports an additional SoGVRTagVolume and an additional SoGVRMaskVolume.

Details

The Illuminated mode is a render mode that allows to set the following shading/lighting properties:

  • 1-3 colored directional lights (using Blinn-Phong lighting)
  • Tone Shading
  • Boundary Enhancement
  • Silhouette Enhancement

Tips

When multiple lights or tone shading are enabled and you image gets too bright, set the Ambient field to a lower value! See the example network for useful shader settings.

Windows

Default Panel

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

Material (affects all 3 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 http://www.lighthouse3d.com/opengl/glsl/index.php?ogldir2

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

For details on tone shading, see http://www.cs.utah.edu/~gooch/SIG98/abstract.html This model is based on using warm and cold colors for illumination and allows nice coloring of renderings of e.g. Bones, Vessels etc.

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 http://www.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 strenght.

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

Enables the settings given in this module.

Add Original Alpha

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

defines how much of the original alpha is mixed to the enhancement

Enabled (boundaryEnhancement)

name: boundaryEnhancement, type: Bool, default: FALSE

Enables boundary enhancement

Weight (boundaryEnhancementFactor)

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

Defines the weight for the boundary enhancement.

Exponent (boundaryEnhancementExponent)

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

defines the boundary enhancement exponent

Bias

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

defines the bias for boundary enhancement

Enabled (silhouetteEnhancement)

name: silhouetteEnhancement, type: Bool, default: FALSE

enables silhouetteEnhancement

Exponent (silhouetteEnhancementExponent)

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

defines the silhouetteEnhancementExponent

Weight (silhouetteEnhancementFactor)

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

Defines the weight for the silhouette enhancement.

Enabled (toneShading)

name: toneShading, type: Bool, default: FALSE

enables tone shading

Warm Color

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

Defines the warm color of the tone shading.

Cold Color

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

cold color of tone shading

Warm Diffuse

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

Defines the warm diffuse factor of the tone shading

Cold Diffuse

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

diffuse light of cold color

Angle

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

Defines the angle of the tone shading.

Ambient

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

defines the ambient light

Diffuse

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

overall diffuse factor for all lights

Specular

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

Defines the overall specular intensity for all lights.

Specularity

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

Defines the specularity exponent of the lights.

Reduce Lighting On Low Gradient Magnitude

name: reduceLightingOnLowGradientMagnitude, type: Bool, default: FALSE

Reduces the lighting on low gradient magnitudes.

Enabled (light1Enabled)

name: light1Enabled, type: Bool, default: TRUE

enables light1

Diffuse Intensity (light1DiffuseIntensity)

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

diffuse intensity of light1

Specular Intensity (light1SpecularIntensity)

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

Defines the specular intensity for light1.

Color (light1Color)

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

color of light1

Azimuth (light1PolarPhi)

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

Defines the light angle.

Altitude (light1PolarRho)

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

Defines the light angle.

Enabled (light2Enabled)

name: light2Enabled, type: Bool, default: FALSE

enables light2

Diffuse Intensity (light2DiffuseIntensity)

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

diffuse intensity of light2

Specular Intensity (light2SpecularIntensity)

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

Defines the specular intensity for light2.

Color (light2Color)

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

color of light2

Azimuth (light2PolarPhi)

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

Defines the light angle.

Altitude (light2PolarRho)

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

Defines the light angle.

Enabled (light3Enabled)

name: light3Enabled, type: Bool, default: FALSE

enables light3

Diffuse Intensity (light3DiffuseIntensity)

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

diffuse intensity of light3

Specular Intensity (light3SpecularIntensity)

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

Defines the specular intensity for light3.

Color (light3Color)

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

color of light3

Azimuth (light3PolarPhi)

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

Defines the light angle.

Altitude (light3PolarRho)

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

Defines the light angle.

Render Mode

name: renderMode, type: Enum, default: Illuminated

Sets the used 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

selects the blend mode that is used

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 Substract