Table of Contents

Class DefaultRenderHost

Namespace
HelixToolkit.SharpDX.Render
Assembly
HelixToolkit.SharpDX.dll
public class DefaultRenderHost : DX11RenderHostBase, IRenderHost, IGUID, IDisposable
Inheritance
DefaultRenderHost
Implements
Derived
Inherited Members

Constructors

DefaultRenderHost()

Initializes a new instance of the DefaultRenderHost class.

public DefaultRenderHost()

DefaultRenderHost(Func<IDevice3DResources, IRenderer>)

Initializes a new instance of the DefaultRenderHost class.

public DefaultRenderHost(Func<IDevice3DResources, IRenderer> createRenderer)

Parameters

createRenderer Func<IDevice3DResources, IRenderer>

The create renderer.

Fields

globalEffectNodes

The global effect nodes

protected readonly FastList<SceneNode> globalEffectNodes

Field Value

FastList<SceneNode>

lightNodes

The light renderables

protected readonly FastList<SceneNode> lightNodes

Field Value

FastList<SceneNode>

nodesWithPostEffect

The nodes have post effect

protected readonly FastList<SceneNode> nodesWithPostEffect

Field Value

FastList<SceneNode>

opaqueNodes

The pending render nodes

protected readonly FastList<SceneNode> opaqueNodes

Field Value

FastList<SceneNode>

opaqueNodesInFrustum

The opaque nodes in frustum

protected readonly FastList<SceneNode> opaqueNodesInFrustum

Field Value

FastList<SceneNode>

particleNodes

The particle nodes

protected readonly FastList<SceneNode> particleNodes

Field Value

FastList<SceneNode>

perFrameFlattenedScene

The pending renderables

protected readonly FastList<KeyValuePair<int, SceneNode>> perFrameFlattenedScene

Field Value

FastList<KeyValuePair<int, SceneNode>>

postEffectNodes

The post effect nodes

protected readonly FastList<SceneNode> postEffectNodes

Field Value

FastList<SceneNode>

preProcNodes

The pending render nodes

protected readonly FastList<SceneNode> preProcNodes

Field Value

FastList<SceneNode>

screenSpacedNodes

The pending render nodes

protected readonly FastList<SceneNode> screenSpacedNodes

Field Value

FastList<SceneNode>

transparentNodes

The transparent nodes

protected readonly FastList<SceneNode> transparentNodes

Field Value

FastList<SceneNode>

transparentNodesInFrustum

The transparent nodes in frustum

protected readonly FastList<SceneNode> transparentNodesInFrustum

Field Value

FastList<SceneNode>

viewportRenderable2D

The viewport renderable2D

protected readonly FastList<SceneNode2D> viewportRenderable2D

Field Value

FastList<SceneNode2D>

viewportRenderables

protected readonly FastList<SceneNode> viewportRenderables

Field Value

FastList<SceneNode>

Properties

PerFrameFlattenedScene

Gets the current frame flattened scene graph. KeyValuePair.Key is the depth of the node.

public override sealed FastList<KeyValuePair<int, SceneNode>> PerFrameFlattenedScene { get; }

Property Value

FastList<KeyValuePair<int, SceneNode>>

Gets the current frame flattened scene graph

PerFrameLights

Gets the per frame lights.

public override sealed IEnumerable<LightNode?> PerFrameLights { get; }

Property Value

IEnumerable<LightNode>

The per frame lights.

PerFrameNodesWithPostEffect

Gets the per frame post effects cores. It is the subset of PerFrameOpaqueNodes

public override sealed FastList<SceneNode> PerFrameNodesWithPostEffect { get; }

Property Value

FastList<SceneNode>

The per frame post effects cores.

PerFrameOpaqueNodes

Gets the per frame nodes for opaque rendering. Opaque

This does not include Transparent, Particle, PreProc, PostEffect, GlobalEffect, Light, ScreenSpaced

public override sealed FastList<SceneNode> PerFrameOpaqueNodes { get; }

Property Value

FastList<SceneNode>

PerFrameOpaqueNodesInFrustum

Gets the per frame opaque nodes in frustum.

public override sealed FastList<SceneNode> PerFrameOpaqueNodesInFrustum { get; }

Property Value

FastList<SceneNode>

The per frame opaque nodes in frustum.

PerFrameParticleNodes

Gets the per frame transparent nodes.

public override sealed FastList<SceneNode> PerFrameParticleNodes { get; }

Property Value

FastList<SceneNode>

The per frame transparent nodes.

PerFrameTransparentNodes

Gets the per frame transparent nodes. , Transparent, Particle

This does not include Opaque, PreProc, PostEffect, GlobalEffect, Light, ScreenSpaced

public override sealed FastList<SceneNode> PerFrameTransparentNodes { get; }

Property Value

FastList<SceneNode>

The per frame transparent nodes.

PerFrameTransparentNodesInFrustum

Gets the per frame transparent nodes in frustum.

public override sealed FastList<SceneNode> PerFrameTransparentNodesInFrustum { get; }

Property Value

FastList<SceneNode>

The per frame transparent nodes in frustum.

Methods

CreateRenderBuffer()

Creates the render buffer.

protected override DX11RenderBufferProxyBase? CreateRenderBuffer()

Returns

DX11RenderBufferProxyBase

OnDispose(bool)

Releases unmanaged and - optionally - managed resources.

protected override void OnDispose(bool disposeManagedResources)

Parameters

disposeManagedResources bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

OnEndingD3D()

Called when [ending d3 d].

protected override void OnEndingD3D()

OnRender(TimeSpan)

protected override void OnRender(TimeSpan time)

Parameters

time TimeSpan

The time.

OnRender2D(TimeSpan)

Called when [render2 d].

protected override void OnRender2D(TimeSpan time)

Parameters

time TimeSpan

The time.

OnStartD3D()

protected override void OnStartD3D()

PostRender()

protected override void PostRender()

PreRender(bool, bool)

protected override void PreRender(bool invalidateSceneGraph, bool invalidatePerFrameRenderables)

Parameters

invalidateSceneGraph bool
invalidatePerFrameRenderables bool

SetupFrustumTestFunctions()

protected void SetupFrustumTestFunctions()