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
shadowType
LightShadowType
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
context
RenderDrawContextparameters
ParameterCollectioncurrentLights
FastListStruct<LightDynamicEntry>boundingBox
BoundingBoxExt
ApplyShader(ShaderMixinSource)
public virtual void ApplyShader(ShaderMixinSource mixin)
Parameters
mixin
ShaderMixinSource
ApplyViewParameters(RenderDrawContext, ParameterCollection, FastListStruct<LightDynamicEntry>)
public virtual void ApplyViewParameters(RenderDrawContext context, ParameterCollection parameters, FastListStruct<LightDynamicEntry> currentLights)
Parameters
context
RenderDrawContextparameters
ParameterCollectioncurrentLights
FastListStruct<LightDynamicEntry>
CreateShaderSource(int)
Creates the shader source that performs shadowing
public abstract ShaderClassSource CreateShaderSource(int lightCurrentCount)
Parameters
lightCurrentCount
int
Returns
UpdateLayout(string)
public virtual void UpdateLayout(string compositionName)
Parameters
compositionName
string
UpdateLightCount(int, int)
public virtual void UpdateLightCount(int lightLastCount, int lightCurrentCount)