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
Methods
Attach(IRenderHost)
void Attach(IRenderHost host)
Parameters
hostIRenderHost
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
contextRenderContextrenderablesFastList<SceneNode>parameterRenderParametertestFrustumbool
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
contextRenderContextrenderablesFastList<SceneNode>parameterRenderParameter
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
contextRenderContextrenderablesFastList<SceneNode>parameterRenderParameter
RenderScene2D(RenderContext2D, FastList<SceneNode2D>, ref RenderParameter2D)
void RenderScene2D(RenderContext2D context, FastList<SceneNode2D> renderables, ref RenderParameter2D parameter)
Parameters
contextRenderContext2DrenderablesFastList<SceneNode2D>parameterRenderParameter2D
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
contextRenderContextThe context.
renderablesFastList<SceneNode>The renderables.
startintcountintparameterRenderParameterThe parameter.
RenderToBackBuffer(RenderContext, ref RenderParameter)
Renders to back buffer.
void RenderToBackBuffer(RenderContext context, ref RenderParameter parameter)
Parameters
contextRenderContextThe context.
parameterRenderParameterThe parameter.
RenderToPingPongBuffer(RenderContext, ref RenderParameter)
Renders to intermediate ping pong buffer.
void RenderToPingPongBuffer(RenderContext context, ref RenderParameter parameter)
Parameters
contextRenderContextThe context.
parameterRenderParameterThe parameter.
RenderTransparent(RenderContext, FastList<SceneNode>, ref RenderParameter)
Renders the transparent.
int RenderTransparent(RenderContext context, FastList<SceneNode> renderables, ref RenderParameter parameter)
Parameters
contextRenderContextThe context.
renderablesFastList<SceneNode>The renderables.
parameterRenderParameterThe parameter.
Returns
SetRenderTargets(ref RenderParameter)
void SetRenderTargets(ref RenderParameter parameter)
Parameters
parameterRenderParameter
UpdateGlobalVariables(RenderContext, FastList<SceneNode>, ref RenderParameter)
void UpdateGlobalVariables(RenderContext context, FastList<SceneNode> renderables, ref RenderParameter parameter)
Parameters
contextRenderContextrenderablesFastList<SceneNode>parameterRenderParameter
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
contextRenderContextrenderablesFastList<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
contextRenderContextrenderablesFastList<SceneNode>resultsFastList<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
contextRenderContext2DrenderablesFastList<SceneNode2D>