TerrainRenderer Class |
Namespace: DigitalRune.Graphics.Rendering
The TerrainRenderer type exposes the following members.
Name | Description | |
---|---|---|
TerrainRenderer |
Initializes a new instance of the TerrainRenderer class.
|
Name | Description | |
---|---|---|
CanRender |
Determines whether this renderer can handle the specified scene node.
(Overrides SceneNodeRendererCanRender(SceneNode, RenderContext).) | |
ClearMeshes |
Clears the internally stored TerrainRendererMeshes.
| |
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 SceneNodeRendererDispose(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.) | |
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 SceneNodeRendererRender(IListSceneNode, RenderContext, RenderOrder).) | |
SetMesh |
Adds a new TerrainRendererMesh.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
DrawWireFrame |
Gets or sets a value indicating whether the wire frame of the terrain should be rendered for
debugging.
| |
IsDisposed |
Gets a value indicating whether this instance has been disposed of.
(Inherited from SceneNodeRenderer.) | |
Order |
Gets the draw order of this scene node renderer.
(Inherited from SceneNodeRenderer.) |
The TerrainRenderer renders TerrainNode using the Material of the node. The default material uses clipmaps (BaseClipmap and DetailClipmap). The clipmaps are created by the TerrainClipmapRenderer - not by the TerrainRenderer!
Each terrain node is rendered using an internal static geo-clipmap mesh. The mesh is represented by the class TerrainRendererMesh. An instance of TerrainRendererMesh is created automatically when needed and cached internally. However, the creation of the mesh can take up to several seconds. Therefore it is recommended to build the mesh offline and store the instance as a file using Save(Stream). At runtime, the pre-built mesh can be loaded using Load(GraphicsDevice, Stream) and passed to the TerrainRenderer using SetMesh(TerrainRendererMesh).
The mesh needs to match the BaseClipmap of the TerrainNode. The properties NumberOfLevels and CellsPerLevel determine the size of the mesh. The terrain renderer automatically creates and caches one internal mesh for each configuration it encounters.
Wire frame rendering:
DrawWireFrame can be set to render the wire frame of the terrain for debugging.
This works only if the material of the terrain node provides a render pass "WireFrame".
Render Target and Viewport:
This renderer renders into the current render target and viewport of the graphics device.
Disposing:
The internally stored TerrainRendererMesh instances are disposed when the
TerrainRenderer is disposed!