The following are the currently supported set of shader effect file annotations for the various SAS parsers. Note that case
is ignored in both the names and string values, so "IntSpinner" is treated the same as "INTSPINNER" or "intspinner".
- String UIName - Defines the name displayed in the UI. A UI element is not created if this is not present
- String UIWidget - Defines the UI element to use. Corresponds to UIType in the HLSL parser Supported UITypes are "IntSpinner",
"FloatSpinner", "Bitmap", and "ColorSwatch". This annotation is the parser will do its best based in the parameter type.
- float (int) UIMin - Defines the minimum value for a spinner UI element.
- float (int) UIMax - Defines the maximum value for a spinner UI element.
- float (int) UIStep - Defines the increment value for a spinner UI element
- string ResourceType - Type of texture. You can specify either "Cube", "Volume" or "RenderTarget". If nothing is specified
it is assumed to be a standard 2d texture. The "RenderTarget" option allows for support of multiple passes where the output
of one pass is used as an input to another pass.
- string ResourceName - The file name for a texture
- vector2 (or vector3) Dimensions - The width, height, & optional depth for a procedural or RenderTarget texture. Mutually
exclusive with the Width, Height, Depth, and ViewportRatio annotations.
- int Width - Width of the texture. Mutually exclusive with the Dimensions and ViewportRatio annotations.
- int Height - Height of the texture. Mutually exclusive with the Dimensions and ViewportRatio annotations.
- int Depth - Depth of the texture. Mutually exclusive with the Dimensions and ViewportRatio annotations.
- string Format - This defines the pixel format of the texture to create. It is used primarily for the "RenderTarget" type
and currently defaults to "A32B32G32R32F". Acceptable formats are listed in the topic Supported Texture Formats. Ignored for disk-based textures.
- int MipLevels (or Levels) - The number of MIP levels to create.
- float2 ViewportRatio - Dimensions based on the ratio of the viewport. For example float2ViewportRatio = {1,1} results in the same dimensions as the screen while float2 ViewportRatio = {0.5, 1.0} would result in a texture one half as wide as the render window, but just as tall. Mutually exclusive
with Width, Height, Depth, and Dimensions annotations.
- int RefID - This is used for lights and defines a unique number that is used for lookups by other parameters that use light
parameters. This would typically be used with the LIGHTCOLOR semantics.
- int LightRef (ParentRef) - This defines the parent light, from which any relevant data is accessed. If positional and directional
light data are needed, the developer can define one element with a UI (parent) and the other can simply reference the parent
- no UI is needed. This reduces UI of clutter from multiple light definitions.int texcoord - Used to define the texcoord channel
to use. This can be used with Textures and also with the TEXCOORD semantic.
- int MapChannel - Used to define the mapping channel to fill out the data for the define Texcoord(n) channel. This can be
used with textures and also with the TEXCOORD semantic.
- string TargetTechnique (or Source) - This defines the technique used for the rendering of the "RenderTarget" type. If you
define a technique with “_†as the first character of the name, it will not be displayed to the user as a selectable
technique in the material rollout.