ShaderMixinContext Class
Namespace: Stride.ShadersAssembly: Stride.Shaders.dll
A context used when mixin ShaderSource.
public class ShaderMixinContext
Constructors
ShaderMixinContext(ShaderMixinSource, ParameterCollection, Dictionary<String, IShaderMixinBuilder>)
Initializes a new instance of the ShaderMixinContext class.
public ShaderMixinContext(ShaderMixinSource mixinTree, ParameterCollection compilerParameters, Dictionary<string, IShaderMixinBuilder> registeredBuilders)
Parameters
Type | Name | Description |
---|---|---|
ShaderMixinSource | mixinTree | The mixin tree. |
ParameterCollection | compilerParameters | The default property container. |
System.Collections.Generic.Dictionary<System.String, IShaderMixinBuilder> | registeredBuilders | The registered builders. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | compilerParameters or registeredBuilders |
Properties
ChildEffectName
Gets or sets the child effect.
public string ChildEffectName { get; set; }
Property Value
Type | Description |
---|---|
System.String | The child effect. |
CurrentMixin
public ShaderMixinSource CurrentMixin { get; }
Property Value
Type | Description |
---|---|
ShaderMixinSource |
Methods
Discard()
public void Discard()
GetParam<T>(PermutationParameterKey<T>)
Gets a parameter value for the specified key.
public T GetParam<T>(PermutationParameterKey<T> paramKey)
Parameters
Type | Name | Description |
---|---|---|
PermutationParameterKey<T> | paramKey | The parameter key. |
Returns
Type | Description |
---|---|
T | The value or default value associated to this parameter key. |
Type Parameters
Name | Description |
---|---|
T | Type of the parameter value |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException | key |
Mixin(ShaderMixinSource, ShaderSource)
Mixins a ShaderMixinSource into the specified mixin tree.
public void Mixin(ShaderMixinSource mixinTree, ShaderSource shaderSource)
Parameters
Type | Name | Description |
---|---|---|
ShaderMixinSource | mixinTree | The mixin tree. |
ShaderSource | shaderSource | The shader source. |
Mixin(ShaderMixinSource, String)
Mixins a ShaderMixinSource into the specified mixin tree.
public void Mixin(ShaderMixinSource mixinTree, string name)
Parameters
Type | Name | Description |
---|---|---|
ShaderMixinSource | mixinTree | The mixin tree. |
System.String | name | The name. |
Mixin(ShaderMixinSource, String, Object[])
Mixins a ShaderClassSource identified by its name/generic parameters into the specified mixin tree.
public void Mixin(ShaderMixinSource mixinTree, string name, params object[] genericParameters)
Parameters
Type | Name | Description |
---|---|---|
ShaderMixinSource | mixinTree | The mixin tree. |
System.String | name | The name. |
System.Object[] | genericParameters | The generic parameters. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | If the class source doesn't support generic parameters |
PopComposition()
public void PopComposition()
PopParameters()
Pops the parameters collection.
public void PopParameters()
PushComposition(ShaderMixinSource, String, ShaderMixinSource)
public void PushComposition(ShaderMixinSource mixin, string compositionName, ShaderMixinSource composition)
Parameters
Type | Name | Description |
---|---|---|
ShaderMixinSource | mixin | |
System.String | compositionName | |
ShaderMixinSource | composition |
PushCompositionArray(ShaderMixinSource, String, ShaderMixinSource)
public void PushCompositionArray(ShaderMixinSource mixin, string compositionName, ShaderMixinSource composition)
Parameters
Type | Name | Description |
---|---|---|
ShaderMixinSource | mixin | |
System.String | compositionName | |
ShaderMixinSource | composition |
PushParameters(ParameterCollection)
Pushes the current parameters collection being used.
public void PushParameters(ParameterCollection parameterCollection)
Parameters
Type | Name | Description |
---|---|---|
ParameterCollection | parameterCollection | The property container. |
RemoveMixin(ShaderMixinSource, String)
Removes the specified mixin from this instance.
public void RemoveMixin(ShaderMixinSource mixinTree, string name)
Parameters
Type | Name | Description |
---|---|---|
ShaderMixinSource | mixinTree | The mixin tree. |
System.String | name | The name. |
SetParam<T>(PermutationParameterKey<T>, T)
public void SetParam<T>(PermutationParameterKey<T> key, T value)
Parameters
Type | Name | Description |
---|---|---|
PermutationParameterKey<T> | key | |
T | value |
Type Parameters
Name | Description |
---|---|
T |