SoGVRDepthPeel

InventorModule
genre VolRend
author MeVis Medical Solutions AG
package MeVisLab/Standard
dll SoGVR
definition soGVR.def

Purpose

The SoGVRDepthPeel allows to render transparent geometry with correct transparency blending (without the need of sorting triangles) inside of the volume rendering of the SoGVRVolRen module. It is an image-space algorithm, so it has pixel precision and even allows intersecting transparent triangles. It works by rendering the connected scene in a multiple passes and peels one RGBA layer per pass using a double depth test. The SoGVRVolumeRenderer module is then switched into a multi-pass mode that renders the peeled layers and the volume data in an interleaved fashion. The resulting image shows transparent geometries inside of the volume rendering. In addition to this, the peeled depth layers can be used to render the volume differently inside and outside of the geometry layers. This allows to do masking or depth clipping the volume to geometry, which may even change interactively.

This module is not yet optimized, so you will see a performance drop due to the multipass rendering. Future version might make use of occlusion culling to speed up rendering a lot.

Details

This module requires OpenGL 2.0 and the following OpenGL extensions:

ARB_depth_texture, EXT_framebuffer_object

Tips

The module can be used for clipping the volume against geometry as well, instead of rendering the peeled layers.

Windows

Default Panel

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

Input Fields

The node accepts any number of inventor inputs and renders the scene below using depth peeling.

Output Fields

self

name: self, type: SoNode

a node that should be put in front of the SoGVRVolumeRenderer

Parameter Fields

Field Index

boundingBoxCaching: Enum opaqueBackgroundPass: Bool simulatedAlpha: Float
debugLayers: Integer Outside Alpha: Float Supports Depth Peeling: Bool
Draw Layers: Bool Outside Color: Color Tag Mode: Enum
Enabled: Bool Outside Tag Value: Integer useStencilBuffer: Bool
Inside Alpha: Float pickCulling: Enum  
Inside Color: Color renderCaching: Enum  
Inside Tag Value: Integer renderCulling: Enum  
Layers: Integer sceneDepthCompare: Bool  

Visible Fields

Supports Depth Peeling

name: supportsDepthPeeling, type: Bool, persistent: no, deprecated name: supportsFBO

Indicates if depth peeling is supported.

Layers

name: layers, type: Integer, default: 4, minimum: 1, maximum: 8

Defines how many layers should be peeled.

Enabled

name: modifyRGBA, type: Bool, default: TRUE

Enables modification of the color/alpha of the volume depending on the geometry.

Draw Layers

name: drawLayers, type: Bool, default: TRUE

Enables the drawing of the geometry layers

Inside Alpha

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

Defines the alpha factor inside of the geometry.

Outside Alpha

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

Defines the alpha factor outside of the geometry.

Inside Color

name: insideColor, type: Color, default: 1 1 1

Defines the color factor inside of the geometry.

Outside Color

name: outsideColor, type: Color, default: 1 1 1

Defines the color outside of the geometry.

Inside Tag Value

name: insideTagValue, type: Integer, default: 1

Defines the tag volume inside of the geometry.

Outside Tag Value

name: outsideTagValue, type: Integer, default: 0

Defines the tag value outside of the geometry.

Tag Mode

name: tagMode, type: Enum, default: Off

Defines how the depth peeling influences the tag value.

Values:

Title Name Description
Set As Tag Value SetAsTagValue Set the tag value via Outside Tag Value and Inside Tag Value when outside/inside the geometry.
Off Off Do not change the tag value.

Hidden Fields

renderCaching

name: renderCaching, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

boundingBoxCaching

name: boundingBoxCaching, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

renderCulling

name: renderCulling, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

pickCulling

name: pickCulling, type: Enum, default: AUTO

Values:

Title Name
On ON
Off OFF
Auto AUTO

useStencilBuffer

name: useStencilBuffer, type: Bool, default: FALSE

simulatedAlpha

name: simulatedAlpha, type: Float, default: 1

opaqueBackgroundPass

name: opaqueBackgroundPass, type: Bool, default: TRUE

sceneDepthCompare

name: sceneDepthCompare, type: Bool, default: FALSE

debugLayers

name: debugLayers, type: Integer, default: 0