Stride

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

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

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

    MaterialRenderFeature Class

    Namespace: Stride.Rendering.Materials
    Assembly: Stride.Rendering.dll

    Handles material by permuting shaders and uploading material data.

    System.Object → DisposeBase → ComponentBase → RenderFeature → SubRenderFeature → MaterialRenderFeature
    Derived from MaterialRenderFeature:

    public class MaterialRenderFeature : SubRenderFeature, IComponent, IReferencable, ICollectorHolder, IGraphicsRendererCore, IDisposable
    Name Description
    Methods
    Draw(RenderDrawContext, RenderView, RenderViewStage, Int32, Int32)
    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.

    PrepareEffectPermutations(RenderDrawContext)

    Perform effect permutations, before Prepare(RenderDrawContext).

    UpdateMaterial(RenderSystem, RenderDrawContext, MaterialRenderFeature.MaterialInfoBase, Int32, RenderEffect, ParameterCollection)
    | Improve this Doc View Source

    Methods


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

    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)

    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
    RenderFeature.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
    RenderFeature.Prepare(RenderDrawContext)

    PrepareEffectPermutations(RenderDrawContext)

    Perform effect permutations, before Prepare(RenderDrawContext).

    public override void PrepareEffectPermutations(RenderDrawContext context)
    Parameters
    Type Name Description
    RenderDrawContext context
    Overrides
    RenderFeature.PrepareEffectPermutations(RenderDrawContext)

    UpdateMaterial(RenderSystem, RenderDrawContext, MaterialRenderFeature.MaterialInfoBase, Int32, RenderEffect, ParameterCollection)

    public static bool UpdateMaterial(RenderSystem renderSystem, RenderDrawContext context, MaterialRenderFeature.MaterialInfoBase materialInfo, int materialSlotIndex, RenderEffect renderEffect, ParameterCollection materialParameters)
    Parameters
    Type Name Description
    RenderSystem renderSystem
    RenderDrawContext context
    MaterialRenderFeature.MaterialInfoBase materialInfo
    System.Int32 materialSlotIndex
    RenderEffect renderEffect
    ParameterCollection materialParameters
    Returns
    Type Description
    System.Boolean

    Inherited Members

    SubRenderFeature.RootRenderFeature
    SubRenderFeature.ProcessPipelineState(RenderContext, RenderNodeReference, RenderNode, RenderObject, PipelineStateDescription)
    RenderFeature.Context
    RenderFeature.RenderSystem
    RenderFeature.Initialized
    RenderFeature.Enabled
    RenderFeature.Initialize(RenderContext)
    RenderFeature.Unload()
    RenderFeature.Destroy()
    RenderFeature.Collect()
    RenderFeature.Extract()
    RenderFeature.Draw(RenderDrawContext, RenderView, RenderViewStage)
    RenderFeature.Flush(RenderDrawContext)
    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