ShadowMaskRenderer Class |
Namespace: DigitalRune.Graphics.Rendering
The ShadowMaskRenderer type exposes the following members.
Name | Description | |
---|---|---|
ShadowMaskRenderer(IGraphicsService) |
Initializes a new instance of the ShadowMaskRenderer class with a single
shadow mask.
| |
ShadowMaskRenderer(IGraphicsService, Int32) |
Initializes a new instance of the ShadowMaskRenderer class with the specified
number of shadow masks.
|
Name | Description | |
---|---|---|
CanRender |
Determines whether this renderer can handle the specified scene node.
(Overrides SceneRendererCanRender(SceneNode, RenderContext).) | |
Dispose |
Releases all resources used by an instance of the SceneNodeRenderer class.
(Inherited from SceneNodeRenderer.) | |
Dispose(Boolean) |
Releases the unmanaged resources used by an instance of the SceneNodeRenderer
class and optionally releases the managed resources.
(Overrides SceneRendererDispose(Boolean).) | |
Equals | (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
RecycleShadowMasks |
Recycles the shadow masks.
| |
Render(SceneNode, RenderContext) |
Renders the specified scene node.
(Inherited from SceneNodeRenderer.) | |
Render(IListSceneNode, RenderContext) |
Renders the specified scene nodes.
(Inherited from SceneNodeRenderer.) | |
Render(IListSceneNode, RenderContext, RenderOrder) |
Renders the specified scene nodes.
(Overrides SceneRendererRender(IListSceneNode, RenderContext, RenderOrder).) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
Filter |
Gets or sets a filter that is applied to the shadow masks as a post-process.
| |
IsDisposed |
Gets a value indicating whether this instance has been disposed of.
(Inherited from SceneNodeRenderer.) | |
MaxNumberOfShadowsMasks |
Gets or sets the max number of shadows masks.
| |
Order |
Gets the draw order of this scene node renderer.
(Inherited from SceneNodeRenderer.) | |
Renderers |
Gets the list of scene node renderers managed by this instance.
(Inherited from SceneRenderer.) | |
ShadowMasks |
Gets the shadow masks. (For debugging only.)
| |
UpsampleDepthSensitivity |
Gets or sets a value controlling the bilateral upsampling. (Only used when
UseHalfResolution is .)
| |
UseHalfResolution |
Gets or sets a value indicating whether the shadow mask is created using only the half scene
resolution to improve performance.
|
The shadow mask is an image as seen from the camera where for each pixel the shadow info is stored. A value of 0 means the pixel is in the shadow. A value of 1 means the pixel is fully lit. (The shadow mask is rendered into the current render target.)
This renderer renders the shadow masks and sets the properties ShadowMask and ShadowMaskChannel of the handled Shadow instances. The ShadowMaskRenderer handles StandardShadows, CubeMapShadow, CascadedShadows, and CompositeShadows. To handle new shadow types, you need to add a custom SceneNodeRenderer to the Renderers collection.
GBuffer0 needs to be set in the render context.
RecycleShadowMasks should be called every frame when shadow masks are not needed anymore. This method returns all shadow mask render targets to the render target pool and allows other render operations to reuse the render targets.
Render Target and Viewport:
This renderer changes the current render target of the graphics device because it uses the
graphics device to render the shadow masks into internal render targets. The render target
and the viewport of the graphics device are undefined after rendering.