Class MaterialRenderFeature
Handles material by permuting shaders and uploading material data.
public class MaterialRenderFeature : SubRenderFeature, IComponent, IReferencable, ICollectorHolder, IGraphicsRendererCore, IDisposable- Inheritance
- 
      objectMaterialRenderFeature
- Implements
- Inherited Members
- Extension Methods
Methods
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
- contextRenderDrawContext
- renderViewRenderView
- renderViewStageRenderViewStage
- startIndexint
- endIndexint
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
- contextRenderDrawContext
PrepareEffectPermutations(RenderDrawContext)
Perform effect permutations, before Prepare(RenderDrawContext).
public override void PrepareEffectPermutations(RenderDrawContext context)Parameters
- contextRenderDrawContext
UpdateMaterial(RenderSystem, RenderDrawContext, MaterialInfoBase, int, RenderEffect, ParameterCollection)
public static bool UpdateMaterial(RenderSystem renderSystem, RenderDrawContext context, MaterialRenderFeature.MaterialInfoBase materialInfo, int materialSlotIndex, RenderEffect renderEffect, ParameterCollection materialParameters)Parameters
- renderSystemRenderSystem
- contextRenderDrawContext
- materialInfoMaterialRenderFeature.MaterialInfoBase
- materialSlotIndexint
- renderEffectRenderEffect
- materialParametersParameterCollection