Supported HLSL Shader Annotations
The following are the currently supported set of shader effect file annotations by
the HLSL parser. 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 UIType - Defines the UI element to use. Supported UITypes are "IntSpinner",
"FloatSpinner", "Bitmap", and "ColorSwatch".
- float (or int) UIMin - Defines the minimum value for a spinner UI element.
- float (or int) UIMax - Defines the maximum value for a spinner UI element.
- float (or int) UIStep - Defines the increment value for a spinner UI element
- string UIObject (or Object) - Defines the type of 3ds Max object to be used to provide
data for the parameter. Currently "TargetLight" and "OmniLight" are supported options.
This allows a tighter bond between the workspace and the shader.
- string Name (or File) - Specifically defines a bitmap file. If the file cannot be
found then it is simply presented as "None".
- 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 (or 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.
- string Type - This is used in conjunction with a 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 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.
- 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 TexCoord - Used to define the texture coordinates channel to use. This can be
used with textures and with the TEXCOORD semantic.
- int MapChannel - Used to define the mapping channel to fill out the data for the
defined TexCoord(n) channel. This can be used with textures and also with the TEXCOORD
semantic.
- bool ColorChannel - If set to true the system will not swap the UV coordinates around.
This means that if the channel is a color channel the colors will remain intact and
not flipped in order to support the correct UV lookup for the texture. DirectX 10
only.