Click or drag to resize
DigitalRuneShadowMapRenderer Class
Renders the shadow maps of LightNodes.
Inheritance Hierarchy

Namespace: DigitalRune.Graphics.Rendering
Assembly: DigitalRune.Graphics (in DigitalRune.Graphics.dll) Version: 1.2.0.0 (1.2.1.14562)
Syntax
public class ShadowMapRenderer : SceneRenderer, 
	IShadowMapRenderer

The ShadowMapRenderer type exposes the following members.

Constructors
  NameDescription
Public methodShadowMapRenderer(FuncRenderContext, Boolean)
Initializes a new instance of the ShadowMapRenderer class using the specified render callback.
Public methodShadowMapRenderer(SceneNodeRenderer)
Initializes a new instance of the ShadowMapRenderer class using the specified scene node renderer.
Top
Methods
  NameDescription
Public methodCanRender
Determines whether this renderer can handle the specified scene node.
(Overrides SceneRendererCanRender(SceneNode, RenderContext).)
Public methodDispose
Releases all resources used by an instance of the SceneNodeRenderer class.
(Inherited from SceneNodeRenderer.)
Protected methodDispose(Boolean)
Releases the unmanaged resources used by an instance of the SceneNodeRenderer class and optionally releases the managed resources.
(Inherited from SceneRenderer.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodRender(SceneNode, RenderContext)
Renders the specified scene node.
(Inherited from SceneNodeRenderer.)
Public methodRender(IListSceneNode, RenderContext)
Renders the specified scene nodes.
(Inherited from SceneNodeRenderer.)
Public methodRender(IListSceneNode, RenderContext, RenderOrder)
Renders the specified scene nodes.
(Inherited from SceneRenderer.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyIsDisposed
Gets a value indicating whether this instance has been disposed of.
(Inherited from SceneNodeRenderer.)
Public propertyOrder
Gets the draw order of this scene node renderer.
(Inherited from SceneNodeRenderer.)
Public propertyRenderCallback
Gets or sets the method which renders the scene into the shadow map.
Public propertyRenderers
Gets the list of scene node renderers managed by this instance.
(Inherited from SceneRenderer.)
Top
Remarks

The ShadowMapRenderer handles StandardShadows, CubeMapShadows, CascadedShadows, and CompositeShadows. Support for new shadow types can be implemented by creating a custom SceneNodeRenderer and adding it to the Renderers collection.

During rendering the renderer changes the render context: Depending on the shadow type "Default", "Omnidirectional", or "Directional" is set as the Technique.

The shadow maps are stored in the Shadow property of the LightNode.

Render Callback:
The shadow map renderer requires a RenderCallback method to render the scene. The callback method needs to render the scene using the camera and the information given in the RenderContext.

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 maps. The render target and the viewport of the graphics device are undefined after rendering.

See Also