Class LightShadowMapShaderGroupDataBase
Provides basic functionality for shadow map shader groups with a single shader source and a filter based on the LightShadowType
public abstract class LightShadowMapShaderGroupDataBase : ILightShadowMapShaderGroupData
- Inheritance
-
LightShadowMapShaderGroupDataBase
- Implements
Constructors
LightShadowMapShaderGroupDataBase(LightShadowType)
public LightShadowMapShaderGroupDataBase(LightShadowType shadowType)
Parameters
shadowTypeLightShadowType
Properties
FilterMemberName
The first member name argument passed to the instantiated filter
protected virtual string FilterMemberName { get; }
Property Value
ShadowShader
public ShaderMixinSource ShadowShader { get; }
Property Value
ShadowType
public LightShadowType ShadowType { get; }
Property Value
Methods
ApplyDrawParameters(RenderDrawContext, ParameterCollection, FastListStruct<LightDynamicEntry>, ref BoundingBoxExt)
public virtual void ApplyDrawParameters(RenderDrawContext context, ParameterCollection parameters, FastListStruct<LightDynamicEntry> currentLights, ref BoundingBoxExt boundingBox)
Parameters
contextRenderDrawContextparametersParameterCollectioncurrentLightsFastListStruct<LightDynamicEntry>boundingBoxBoundingBoxExt
ApplyShader(ShaderMixinSource)
public virtual void ApplyShader(ShaderMixinSource mixin)
Parameters
mixinShaderMixinSource
ApplyViewParameters(RenderDrawContext, ParameterCollection, FastListStruct<LightDynamicEntry>)
public virtual void ApplyViewParameters(RenderDrawContext context, ParameterCollection parameters, FastListStruct<LightDynamicEntry> currentLights)
Parameters
contextRenderDrawContextparametersParameterCollectioncurrentLightsFastListStruct<LightDynamicEntry>
CreateShaderSource(int)
Creates the shader source that performs shadowing
public abstract ShaderClassSource CreateShaderSource(int lightCurrentCount)
Parameters
lightCurrentCountint
Returns
UpdateLayout(string)
public virtual void UpdateLayout(string compositionName)
Parameters
compositionNamestring
UpdateLightCount(int, int)
public virtual void UpdateLightCount(int lightLastCount, int lightCurrentCount)