Table of Contents

Interface IRenderHost

Namespace
HelixToolkit.SharpDX
Assembly
HelixToolkit.SharpDX.dll
public interface IRenderHost : IGUID, IDisposable
Inherited Members

Properties

ActualHeight

Gets the actual height.

float ActualHeight { get; }

Property Value

float

The actual height.

ActualWidth

Gets the actual width.

float ActualWidth { get; }

Property Value

float

The actual width.

ClearColor

Gets or sets the color of the clear.

Color4 ClearColor { get; set; }

Property Value

Color4

The color of the clear.

D2DTarget

Gets the d2d target.

D2DTargetProxy? D2DTarget { get; }

Property Value

D2DTargetProxy

The d2d target.

DepthStencilBufferView

Gets the depth stencil buffer view.

DepthStencilView? DepthStencilBufferView { get; }

Property Value

DepthStencilView

The depth stencil buffer view.

Device

Gets the device.

Device1? Device { get; }

Property Value

Device1

The device.

Device2D

Gets the device2d.

Device? Device2D { get; }

Property Value

Device

The device2d.

DpiScale

Gets or sets the dpi scale.

float DpiScale { get; set; }

Property Value

float

The dpi scale.

EffectsManager

Gets or sets the effects manager.

IEffectsManager? EffectsManager { get; set; }

Property Value

IEffectsManager

The effects manager.

EnableParallelProcessing

Use separate thread to do non-rendering related tasks during render call.

bool EnableParallelProcessing { get; set; }

Property Value

bool

EnableRenderFrustum

Gets or sets a value indicating whether [enable render frustum].

bool EnableRenderFrustum { get; set; }

Property Value

bool

true if [enable render frustum]; otherwise, false.

EnableSharingModelMode

Gets or sets a value indicating whether [enable sharing model mode].

bool EnableSharingModelMode { get; set; }

Property Value

bool

true if [enable sharing model mode]; otherwise, false.

FeatureLevel

Gets the feature level.

FeatureLevel FeatureLevel { get; }

Property Value

FeatureLevel

The feature level.

ImmediateDeviceContext

Gets the immediate device context.

DeviceContextProxy? ImmediateDeviceContext { get; }

Property Value

DeviceContextProxy

The immediate device context.

IsBusy

Indicates if DPFCanvas busy on rendering.

bool IsBusy { get; }

Property Value

bool

IsDeferredLighting

Gets a value indicating whether this instance is deferred lighting.

bool IsDeferredLighting { get; }

Property Value

bool

true if this instance is deferred lighting; otherwise, false.

IsRendering

Gets or sets a value indicating whether this instance is rendering.

bool IsRendering { get; set; }

Property Value

bool

true if this instance is rendering; otherwise, false.

IsShadowMapEnabled

Gets or sets a value indicating whether this instance is shadow map enabled.

bool IsShadowMapEnabled { get; set; }

Property Value

bool

true if this instance is shadow map enabled; otherwise, false.

MSAA

MSAALevel MSAA { get; set; }

Property Value

MSAALevel

PerFrameFlattenedScene

Gets the current frame flattened scene graph

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

Property Value

FastList<KeyValuePair<int, SceneNode>>

The per frame renderable.

PerFrameLights

Gets the current frame lights

IEnumerable<LightNode?> PerFrameLights { get; }

Property Value

IEnumerable<LightNode>

The per frame lights.

PerFrameNodesWithPostEffect

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

FastList<SceneNode> PerFrameNodesWithPostEffect { get; }

Property Value

FastList<SceneNode>

Gets the per frame nodes with post effects.

PerFrameOpaqueNodes

Gets the per frame nodes for opaque rendering. Opaque

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

FastList<SceneNode> PerFrameOpaqueNodes { get; }

Property Value

FastList<SceneNode>

PerFrameOpaqueNodesInFrustum

Gets the per frame opaque nodes in frustum.

FastList<SceneNode> PerFrameOpaqueNodesInFrustum { get; }

Property Value

FastList<SceneNode>

The per frame opaque nodes in frustum.

PerFrameParticleNodes

Gets the per frame particle nodes. Particle

FastList<SceneNode> PerFrameParticleNodes { get; }

Property Value

FastList<SceneNode>

The per frame particle nodes.

PerFrameTransparentNodes

Gets the per frame transparent nodes. , Transparent

FastList<SceneNode> PerFrameTransparentNodes { get; }

Property Value

FastList<SceneNode>

The per frame transparent nodes.

PerFrameTransparentNodesInFrustum

Gets the per frame transparent nodes in frustum.

FastList<SceneNode> PerFrameTransparentNodesInFrustum { get; }

Property Value

FastList<SceneNode>

The per frame transparent nodes in frustum.

RenderBuffer

Gets the render buffer.

DX11RenderBufferProxyBase? RenderBuffer { get; }

Property Value

DX11RenderBufferProxyBase

The render buffer.

RenderConfiguration

Gets or sets the render configuration.

DX11RenderHostConfiguration RenderConfiguration { get; set; }

Property Value

DX11RenderHostConfiguration

The render configuration.

RenderContext

Gets the render context.

RenderContext? RenderContext { get; }

Property Value

RenderContext

The render context.

RenderStatistics

Gets the render statistics.

IRenderStatistics? RenderStatistics { get; }

Property Value

IRenderStatistics

The render statistics.

RenderTargetBufferView

Gets the color buffer view.

RenderTargetView? RenderTargetBufferView { get; }

Property Value

RenderTargetView

The color buffer view.

RenderTechnique

This technique is used for the entire render pass by all Element3D if not specified otherwise in the elements itself

IRenderTechnique? RenderTechnique { get; set; }

Property Value

IRenderTechnique

Renderer

Renderer

IRenderer? Renderer { get; }

Property Value

IRenderer

SharedModelContainer

Gets or sets the shared model container.

IModelContainer? SharedModelContainer { get; set; }

Property Value

IModelContainer

The shared model container.

ShowRenderDetail

Gets or sets a value indicating whether [show statistics].

RenderDetail ShowRenderDetail { get; set; }

Property Value

RenderDetail

true if [show statistics]; otherwise, false.

Viewport

Gets or sets the viewport.

IViewport3DX? Viewport { get; set; }

Property Value

IViewport3DX

The viewport.

Methods

ClearRenderTarget(DeviceContextProxy, bool, bool)

Clears the render target.

void ClearRenderTarget(DeviceContextProxy context, bool clearBackBuffer, bool clearDepthStencilBuffer)

Parameters

context DeviceContextProxy

The context.

clearBackBuffer bool

if set to true [clear back buffer].

clearDepthStencilBuffer bool

if set to true [clear depth stencil buffer].

EndD3D()

Ends the d3 d.

void EndD3D()

Invalidate(InvalidateTypes)

Invalidate by InvalidateTypes

void Invalidate(InvalidateTypes type)

Parameters

type InvalidateTypes

InvalidatePerFrameRenderables()

Invalidates the per frame renderables. Called when IsRenderable changed or RenderType changed.

void InvalidatePerFrameRenderables()

InvalidateRender()

Invalidates the render.

void InvalidateRender()

InvalidateSceneGraph()

Invalidates the scene graph. This also calls InvalidatePerFrameRenderables()

void InvalidateSceneGraph()

Resize(int, int)

Resizes

void Resize(int width, int height)

Parameters

width int

The width.

height int

The height.

SetDefaultRenderTargets(bool)

Sets the default render targets.

void SetDefaultRenderTargets(bool clear = true)

Parameters

clear bool

if set to true [clear].

StartD3D(int, int)

Starts the d3 d.

void StartD3D(int width, int height)

Parameters

width int

The width.

height int

The height.

StartRendering()

Starts the rendering. Trigger StartRenderLoop

void StartRendering()

StopRendering()

Stops the rendering. Trigger StopRenderLoop

void StopRendering()

UpdateAndRender()

Updates the and render.

bool UpdateAndRender()

Returns

bool

Events

EffectsManagerChanged

Occurs when effects manager is changed.

event EventHandler<IEffectsManager> EffectsManagerChanged

Event Type

EventHandler<IEffectsManager>

ExceptionOccurred

Fired whenever an exception occurred on this object.

event EventHandler<RelayExceptionEventArgs> ExceptionOccurred

Event Type

EventHandler<RelayExceptionEventArgs>

OnNewRenderTargetTexture

Occurs when [on new render target texture].

event EventHandler<Texture2DArgs> OnNewRenderTargetTexture

Event Type

EventHandler<Texture2DArgs>

Rendered

Occurs when each render frame finished rendering.

event EventHandler Rendered

Event Type

EventHandler

SceneGraphUpdated

Occurs when [scene graph updated].

event EventHandler SceneGraphUpdated

Event Type

EventHandler

StartRenderLoop

Occurs when [start render loop].

event EventHandler<EventArgs> StartRenderLoop

Event Type

EventHandler<EventArgs>

StopRenderLoop

Occurs when [stop render loop].

event EventHandler<EventArgs> StopRenderLoop

Event Type

EventHandler<EventArgs>