Class ParticleEmitterRenderFeature
Renders RenderParticleEmitter.
public class ParticleEmitterRenderFeature : RootEffectRenderFeature, IComponent, IReferencable, ICollectorHolder, IGraphicsRendererCore, IDisposable
- Inheritance
-
ParticleEmitterRenderFeature
- Implements
- Inherited Members
- Extension Methods
Properties
SupportedRenderObjectType
Gets the type of render object supported by this RootRenderFeature.
public override Type SupportedRenderObjectType { get; }
Property Value
Methods
Destroy()
Disposes of object resources.
protected override void Destroy()
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
RenderDrawContextrenderView
RenderViewrenderViewStage
RenderViewStagestartIndex
intendIndex
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)
Actual implementation of PrepareEffectPermutations(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
RenderContextrenderNodeReference
RenderNodeReferencerenderNode
RenderNoderenderObject
RenderObjectpipelineState
PipelineStateDescription