Table of Contents

Class MeshRenderFeature

Namespace
Stride.Rendering
Assembly
Stride.Rendering.dll

Renders RenderMesh.

public class MeshRenderFeature : RootEffectRenderFeature, IComponent, IReferencable, ICollectorHolder, IGraphicsRendererCore, IDisposable
Inheritance
MeshRenderFeature
Implements
Inherited Members
Extension Methods

Fields

RenderFeatures

Lists of sub render features that can be applied on RenderMesh.

[DataMember]
public TrackingCollection<SubRenderFeature> RenderFeatures

Field Value

TrackingCollection<SubRenderFeature>

Properties

SupportedRenderObjectType

Gets the type of render object supported by this RootRenderFeature.

public override Type SupportedRenderObjectType { get; }

Property Value

Type

Methods

Collect()

Performs pipeline initialization, enumerates views and populates visibility groups.

public override void Collect()

Destroy()

Disposes of object resources.

protected override void Destroy()

Draw(RenderDrawContext, RenderView, RenderViewStage)

Performs GPU updates and/or drawing, everytime a render view changes.

public override void Draw(RenderDrawContext context, RenderView renderView, RenderViewStage renderViewStage)

Parameters

context RenderDrawContext
renderView RenderView
renderViewStage RenderViewStage

Draw(RenderDrawContext, RenderView, RenderViewStage, int, int)

Performs GPU updates and/or draw.

public override void Draw(RenderDrawContext context, RenderView renderView, RenderViewStage renderViewStage, int startIndex, int endIndex)

Parameters

context RenderDrawContext
renderView RenderView
renderViewStage RenderViewStage
startIndex int
endIndex int

Extract()

Extract data from entities, should be as fast as possible to not block simulation loop. It should be mostly copies, and the actual processing should be part of Prepare().

public override void Extract()

Flush(RenderDrawContext)

Releases temporary resources and cleans the state. Should be called once after all Draw(RenderDrawContext, RenderView, RenderViewStage) calls have finished.

public override void Flush(RenderDrawContext context)

Parameters

context RenderDrawContext

InitializeCore()

Initializes this instance. Query for specific cbuffer (either new one, like PerMaterial, or parts of an existing one, like PerObject=>Skinning)

protected override void InitializeCore()

Prepare(RenderDrawContext)

Performs most of the work (computation and resource preparation). Later game simulation might be running during that step.

public override void Prepare(RenderDrawContext context)

Parameters

context RenderDrawContext

PrepareEffectPermutationsImpl(RenderDrawContext)

public override void PrepareEffectPermutationsImpl(RenderDrawContext context)

Parameters

context RenderDrawContext

ProcessPipelineState(RenderContext, RenderNodeReference, ref RenderNode, RenderObject, PipelineStateDescription)

protected override void ProcessPipelineState(RenderContext context, RenderNodeReference renderNodeReference, ref RenderNode renderNode, RenderObject renderObject, PipelineStateDescription pipelineState)

Parameters

context RenderContext
renderNodeReference RenderNodeReference
renderNode RenderNode
renderObject RenderObject
pipelineState PipelineStateDescription