Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    ParticleEmitterRenderFeature Class

    Namespace: Stride.Particles.Rendering
    Assembly: Stride.Particles.dll

    Renders RenderParticleEmitter.

    System.Object → DisposeBase → ComponentBase → RenderFeature → RootRenderFeature → RootEffectRenderFeature → ParticleEmitterRenderFeature
    Derived from ParticleEmitterRenderFeature:

    public class ParticleEmitterRenderFeature : RootEffectRenderFeature, IComponent, IReferencable, ICollectorHolder, IGraphicsRendererCore, IDisposable
    Name Description
    Properties
    SupportedRenderObjectType
    Methods
    Destroy()
    Draw(RenderDrawContext, RenderView, RenderViewStage, Int32, Int32)

    Performs GPU updates and/or draw.

    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().

    Flush(RenderDrawContext)

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

    InitializeCore()

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

    Prepare(RenderDrawContext)

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

    PrepareEffectPermutationsImpl(RenderDrawContext)

    Actual implementation of PrepareEffectPermutations(RenderDrawContext).

    ProcessPipelineState(RenderContext, RenderNodeReference, ref RenderNode, RenderObject, PipelineStateDescription)
    | Improve this Doc View Source

    Properties


    SupportedRenderObjectType

    public override Type SupportedRenderObjectType { get; }
    Property Value
    Type Description
    System.Type
    Overrides
    RootRenderFeature.SupportedRenderObjectType
    | Improve this Doc View Source

    Methods


    Destroy()

    protected override void Destroy()
    Overrides
    RootEffectRenderFeature.Destroy()

    Draw(RenderDrawContext, RenderView, RenderViewStage, Int32, Int32)

    Performs GPU updates and/or draw.

    public override void Draw(RenderDrawContext context, RenderView renderView, RenderViewStage renderViewStage, int startIndex, int endIndex)
    Parameters
    Type Name Description
    RenderDrawContext context
    RenderView renderView
    RenderViewStage renderViewStage
    System.Int32 startIndex
    System.Int32 endIndex
    Overrides
    RenderFeature.Draw(RenderDrawContext, RenderView, RenderViewStage, Int32, Int32)

    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()
    Overrides
    RenderFeature.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
    Type Name Description
    RenderDrawContext context
    Overrides
    RenderFeature.Flush(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()
    Overrides
    RootEffectRenderFeature.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
    Type Name Description
    RenderDrawContext context
    Overrides
    RootEffectRenderFeature.Prepare(RenderDrawContext)

    PrepareEffectPermutationsImpl(RenderDrawContext)

    Actual implementation of PrepareEffectPermutations(RenderDrawContext).

    public override void PrepareEffectPermutationsImpl(RenderDrawContext context)
    Parameters
    Type Name Description
    RenderDrawContext context
    Overrides
    RootEffectRenderFeature.PrepareEffectPermutationsImpl(RenderDrawContext)

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

    protected override void ProcessPipelineState(RenderContext context, RenderNodeReference renderNodeReference, ref RenderNode renderNode, RenderObject renderObject, PipelineStateDescription pipelineState)
    Parameters
    Type Name Description
    RenderContext context
    RenderNodeReference renderNodeReference
    RenderNode renderNode
    RenderObject renderObject
    PipelineStateDescription pipelineState
    Overrides
    RootEffectRenderFeature.ProcessPipelineState(RenderContext, RenderNodeReference, ref RenderNode, RenderObject, PipelineStateDescription)

    Inherited Members

    RootEffectRenderFeature.EffectObjectNodes
    RootEffectRenderFeature.ComputeFallbackEffect
    RootEffectRenderFeature.ResourceGroupPool
    RootEffectRenderFeature.FrameLayouts
    RootEffectRenderFeature.EffectCompiled
    RootEffectRenderFeature.PipelineProcessors
    RootEffectRenderFeature.EffectDescriptorSetSlotCount
    RootEffectRenderFeature.EffectPermutationSlotCount
    RootEffectRenderFeature.RenderEffectKey
    RootEffectRenderFeature.InstantiatedEffects
    RootEffectRenderFeature.ComputeResourceGroupOffset(RenderNodeReference)
    RootEffectRenderFeature.GetOrCreateEffectDescriptorSetSlot(String)
    RootEffectRenderFeature.CreateFrameCBufferOffsetSlot(String)
    RootEffectRenderFeature.CreateViewCBufferOffsetSlot(String)
    RootEffectRenderFeature.RemoveViewCBufferOffsetSlot(ConstantBufferOffsetReference)
    RootEffectRenderFeature.CreateViewLogicalGroup(String)
    RootEffectRenderFeature.CreateDrawLogicalGroup(String)
    RootEffectRenderFeature.CreateDrawCBufferOffsetSlot(String)
    RootEffectRenderFeature.GetEffectPermutationSlot(RenderStage)
    RootEffectRenderFeature.CreateEffectPermutationSlot(String)
    RootEffectRenderFeature.PrepareEffectPermutations(RenderDrawContext)
    RootEffectRenderFeature.InvalidateEffectPermutation(RenderObject, RenderEffect)
    RootEffectRenderFeature.Reset()
    RootEffectRenderFeature.CreateUniqueDescriptorSetLayout(DescriptorSetLayoutBuilder)
    RootEffectRenderFeature.ComputeDataArrayExpectedSize(DataType)
    RootRenderFeature.RenderData
    RootRenderFeature.Index
    RootRenderFeature.SortKey
    RootRenderFeature.RenderObjects
    RootRenderFeature.ObjectNodeReferences
    RootRenderFeature.RenderNodes
    RootRenderFeature.RenderStageSelectors
    RootRenderFeature.Unload()
    RootRenderFeature.GetRenderNode(RenderNodeReference)
    RootRenderFeature.GetViewObjectNode(ViewObjectNodeReference)
    RootRenderFeature.GetObjectNode(ObjectNodeReference)
    RootRenderFeature.CreateViewObjectNode(RenderView, RenderObject)
    RootRenderFeature.OnAddRenderObject(RenderObject)
    RootRenderFeature.OnRemoveRenderObject(RenderObject)
    RootRenderFeature.PrepareDataArrays()
    RenderFeature.Context
    RenderFeature.RenderSystem
    RenderFeature.Initialized
    RenderFeature.Enabled
    RenderFeature.Initialize(RenderContext)
    RenderFeature.Collect()
    RenderFeature.Draw(RenderDrawContext, RenderView, RenderViewStage)
    RenderFeature.OnRenderSystemChanged()
    ComponentBase.Tags
    ComponentBase.Name
    ComponentBase.ICollectorHolder.Collector
    ComponentBase.OnNameChanged()
    ComponentBase.ToString()
    DisposeBase.Dispose()
    DisposeBase.IsDisposed
    DisposeBase.IReferencable.ReferenceCount
    DisposeBase.IReferencable.AddReference()
    DisposeBase.IReferencable.Release()
    DisposeBase.OnAddReference()
    DisposeBase.OnReleaseReference()

    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation