GFX.Feature¶
Name | Mandatory | Description | Default | Type |
---|---|---|---|---|
⬅️ Input |
The input of this shard is ignored. | None |
||
Output ➡️ |
The feature object for use in a rendering pass. | GFX.Feature |
||
Shaders |
No | A list of shader entry points | none |
None [{Any}] |
ComposeWith |
No | Any table of values that need to be injected into this feature's shaders | none |
None {Any} Var({Any}) |
State |
No | The table of render state flags to override | none |
None {Any} Var({Any}) |
ViewGenerators |
No | A collection of callbacks that will be run to generate per-view shader parameters during rendering. These parameters are added to the view buffer. | none |
None Wire [Wire] [Shard] [[Shard]] None |
DrawableGenerators |
No | A collection of callbacks that will be run to generate per-drawable shader parameters during rendering | none |
None Wire [Wire] [Shard] [[Shard]] None |
Params |
No | The parameters to add to the object buffer and expose to shaders, these default values can later be modified by the Params parameter in GFX.Material or GFX.Drawable | none |
None {GFX.Texture2D GFX.TextureCube GFX.Buffer [Float4](4) Float4 Float3 Float2 Float Int Int2 Int3 Int4 {Any} Var(GFX.Texture2D GFX.TextureCube GFX.Buffer [Float4](4) Float4 Float3 Float2 Float Int Int2 Int3 Int4 {Any})} Var({GFX.Texture2D GFX.TextureCube GFX.Buffer [Float4](4) Float4 Float3 Float2 Float Int Int2 Int3 Int4 {Any} Var(GFX.Texture2D GFX.TextureCube GFX.Buffer [Float4](4) Float4 Float3 Float2 Float Int Int2 Int3 Int4 {Any})}) |
BlockParams |
No | Custom bindings to expose to shaders | none |
None {Any} |
RequiredAttributes |
No | The parameters to expose to shaders, these default values can later be overriden by materials or drawable Params | none |
None [RequiredAttributes] |
UniqueVariables |
No | List of variables that should be made unique | none |
None [String] |
This shard creates a feature object based on what was provided in the different parameters.
Details¶
A Feature can be thought of as an extension or plugin to the rendering logic.
A Feature may have various components:
- Blend State (Alpha, Additive, ...)
- Depth Testing
- Vertex/Fragment shaders
For a more extensive description about shaders, see Shaders.
Features can be used in various locations: - Attached to a GFX.DrawablePass - Attached to a GFX.EffectPass