Table of Contents

Interface IRenderer

Namespace
HelixToolkit.SharpDX.Render
Assembly
HelixToolkit.SharpDX.dll
public interface IRenderer : IDisposable
Inherited Members

Properties

ImmediateContext

Default ImmediateContext. Same as Device.ImmediateContext.

Used for update global variables

DeviceContextProxy? ImmediateContext { get; }

Property Value

DeviceContextProxy

Methods

Attach(IRenderHost)

void Attach(IRenderHost host)

Parameters

host IRenderHost

Detach()

void Detach()

RenderOpaque(RenderContext, FastList<SceneNode>, ref RenderParameter, bool)

Run actual rendering for render cores.

int RenderOpaque(RenderContext context, FastList<SceneNode> renderables, ref RenderParameter parameter, bool testFrustum)

Parameters

context RenderContext
renderables FastList<SceneNode>
parameter RenderParameter
testFrustum bool

Returns

int

Number of node has been rendered

RenderPostProc(RenderContext, FastList<SceneNode>, ref RenderParameter)

Render post processing, such as bloom effects etc.

void RenderPostProc(RenderContext context, FastList<SceneNode> renderables, ref RenderParameter parameter)

Parameters

context RenderContext
renderables FastList<SceneNode>
parameter RenderParameter

RenderPreProc(RenderContext, FastList<SceneNode>, ref RenderParameter)

Render pre processings, such as Shadow pass etc.

void RenderPreProc(RenderContext context, FastList<SceneNode> renderables, ref RenderParameter parameter)

Parameters

context RenderContext
renderables FastList<SceneNode>
parameter RenderParameter

RenderScene2D(RenderContext2D, FastList<SceneNode2D>, ref RenderParameter2D)

void RenderScene2D(RenderContext2D context, FastList<SceneNode2D> renderables, ref RenderParameter2D parameter)

Parameters

context RenderContext2D
renderables FastList<SceneNode2D>
parameter RenderParameter2D

RenderScreenSpaced(RenderContext, FastList<SceneNode>, int, int, ref RenderParameter)

Renders the screen spaced.

void RenderScreenSpaced(RenderContext context, FastList<SceneNode> renderables, int start, int count, ref RenderParameter parameter)

Parameters

context RenderContext

The context.

renderables FastList<SceneNode>

The renderables.

start int
count int
parameter RenderParameter

The parameter.

RenderToBackBuffer(RenderContext, ref RenderParameter)

Renders to back buffer.

void RenderToBackBuffer(RenderContext context, ref RenderParameter parameter)

Parameters

context RenderContext

The context.

parameter RenderParameter

The parameter.

RenderToPingPongBuffer(RenderContext, ref RenderParameter)

Renders to intermediate ping pong buffer.

void RenderToPingPongBuffer(RenderContext context, ref RenderParameter parameter)

Parameters

context RenderContext

The context.

parameter RenderParameter

The parameter.

RenderTransparent(RenderContext, FastList<SceneNode>, ref RenderParameter)

Renders the transparent.

int RenderTransparent(RenderContext context, FastList<SceneNode> renderables, ref RenderParameter parameter)

Parameters

context RenderContext

The context.

renderables FastList<SceneNode>

The renderables.

parameter RenderParameter

The parameter.

Returns

int

SetRenderTargets(ref RenderParameter)

void SetRenderTargets(ref RenderParameter parameter)

Parameters

parameter RenderParameter

UpdateGlobalVariables(RenderContext, FastList<SceneNode>, ref RenderParameter)

void UpdateGlobalVariables(RenderContext context, FastList<SceneNode> renderables, ref RenderParameter parameter)

Parameters

context RenderContext
renderables FastList<SceneNode>
parameter RenderParameter

UpdateNotRenderParallel(RenderContext, FastList<KeyValuePair<int, SceneNode>>)

Update scene graph not related to rendering. Can be run parallel with the RenderOpaque(RenderContext, FastList<SceneNode>, ref RenderParameter, bool)

Warning: Dependency properties are thread affinity. Do not get/set any dependency property in this function.

void UpdateNotRenderParallel(RenderContext context, FastList<KeyValuePair<int, SceneNode>> renderables)

Parameters

context RenderContext
renderables FastList<KeyValuePair<int, SceneNode>>

UpdateSceneGraph(RenderContext, FastList<SceneNode>, FastList<KeyValuePair<int, SceneNode>>)

Update scene graph, return the renderables which will be rendered in this frame

void UpdateSceneGraph(RenderContext context, FastList<SceneNode> renderables, FastList<KeyValuePair<int, SceneNode>> results)

Parameters

context RenderContext
renderables FastList<SceneNode>
results FastList<KeyValuePair<int, SceneNode>>

UpdateSceneGraph2D(RenderContext2D, FastList<SceneNode2D>)

Update scene graph, return the 2D renderables which will be rendered in this frame

void UpdateSceneGraph2D(RenderContext2D context, FastList<SceneNode2D> renderables)

Parameters

context RenderContext2D
renderables FastList<SceneNode2D>