author | Florian Link |
package | MeVisLab/Standard |
definition | GVRDeepShadowMapping.def |
The GVRDeepShadowMapping implements deep shadow mapping. The implementation is based on the paper "GPU-accelerated deep shadow maps for direct volume rendering" by Markus Hadwiger et. al. (see http://portal.acm.org/citation.cfm?id=1283908). Many thanks go to Markus Hadwiger for providing the GLSL shaders that are used in the module.
The module has high hardware requirements (it requires floating point textures and FBO rendering to 3D textures) and will be quite slow if not used on up-to-date graphics cards. It has not yet been tested on ATI cards.
Clipping planes are supported, but the shadow volume does not take them into account, the shader turns off shadowing near the clip planes. Mask volumes, Tag volumes and other secondary volumes are supported for the shadow creation. The classification step of the shadow creation can be manually modified using the SoGVRShaderFunction in the scene below this module.
The module needs to be placed in front of a SoGVRVolumeRenderer module. The LUT and the SoGVRRayCastSettings need to be placed in front of this module, otherwise the shadow map generation will fail. The SoGVRVolumeRenderer needs to be connected to the input of this module as well, this is used for the shadow generation pass.
A screenshot of a segmented brain, rendered with shadow mapping:
Attach Light To Camera: Bool | Shadow Map Layers: Integer |
Compression Epsilon: Float | Shadow Map Size: Integer |
Interactive Mode: Enum | |
Interactive Shadow Map Layers: Integer | |
Interactive Shadow Map Size: Integer | |
Light Polar Phi: Float | |
Light Polar Rho: Float | |
Shadow Fetch Mode: Enum |
If enabled, the light is positioned in camera/view space, if disabled it is positioned in world-space.
Polar coordinate Phi of the light.
Polar coordinate Rho of the light.
Alpha compression epsilon used for DSM creation.
The number of layers the DSM texture uses.
The size used for width and height of the shadow map.
Depth of interactive shadow map.
Size of interactive shadow map.
Defines what to do while rendering interactively.
Values:
Title | Name | Description |
---|---|---|
Lowres Shadow | GVR_USE_LOWRES_SHADOW | Use the Interactive Shadow Map Layers and Interactive Shadow Map Size fields for shadow creation. |
Hires Shadow | GVR_USE_HIRES_SHADOW | Use the Shadow Map Layers and Shadow Map Size fields for shadow creation. |
Static Shadow | GVR_USE_STATIC_SHADOW | Use the shadow that was created on the last static rendering step (so the light will rotate with the volume). |