Table of Contents

Class ForwardLightingRenderFeature

Namespace
Stride.Rendering.Lights
Assembly
Stride.Rendering.dll

Compute lighting shaders and data.

public class ForwardLightingRenderFeature : SubRenderFeature, IComponent, IReferencable, ICollectorHolder, IGraphicsRendererCore, IDisposable
Inheritance
ForwardLightingRenderFeature
Implements
Inherited Members
Extension Methods

Fields

CurrentLights

Property key to access the current collection of CameraComponent from RenderContext.Tags.

public static readonly PropertyKey<RenderLightCollection> CurrentLights

Field Value

PropertyKey<RenderLightCollection>

Properties

LightRenderers

[DataMember]
public TrackingCollection<LightGroupRendererBase> LightRenderers { get; }

Property Value

TrackingCollection<LightGroupRendererBase>

ShadowMapRenderer

[DataMember]
public IShadowMapRenderer ShadowMapRenderer { get; set; }

Property Value

IShadowMapRenderer

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

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

OnRenderSystemChanged()

protected override void OnRenderSystemChanged()

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

PrepareEffectPermutations(RenderDrawContext)

Perform effect permutations, before Prepare(RenderDrawContext).

public override void PrepareEffectPermutations(RenderDrawContext context)

Parameters

context RenderDrawContext

Unload()

public override void Unload()