Allows you to define information about your custom shader definition. For example, this is where you can assign it a ShaderDef.Category so that it will appear in the Preset Manager.
This callback is fired after the shader plug-in loaded (that is, after XSILoadPlugin returns).
| 
public class <plugin-item_name>
{
        public bool DefineInfo( Context in_context )
        {
                ...
        }
}
 | 
| 
CStatus <plugin-item_name>_DefineInfo( CRef& in_context ) 
{ 
        ... 
}
 | 
| 
function <plugin-item_name>_DefineInfo( in_context ) 
{ 
        ... 
}
 | 
| 
def <plugin-item_name>_DefineInfo( in_context ):
        ...
 | 
| 
Function <plugin-item_name>_DefineInfo( in_context )
        ...
End Function
 | 
| 
sub <plugin-item_name>_DefineInfo 
{ 
        my $in_context = shift; 
}
 | 
<plugin-item-name> is a special string constructed from the plug-in name, the name specified in the call to PluginRegistrar.RegisterShader, and the major and minor version numbers, with any spaces converted to underscores. For example, if you register a shader definition in a plug-in called "MyPlugin" with the shader class name "My Shader", and the version number 1.0, the callback function names start with "MyPlugin_My_Shader_1_0".
| Parameter | Language | Type | Description | 
|---|---|---|---|
| in_context | Scripting and C# | Context | Use the Context.GetAttribute method to get basic information, such as Category, DisplayName, etc. | 
| C++ | CRef& | Use the Context.GetAttribute method to get basic information, such as Category, DisplayName, etc. | 
| Attribute | Get/Set | Description | 
|---|---|---|
| ClassName | Returns a String or CString | The class name of the shader. This is used to build the ShaderDef.ProgID with the parser name and version number in this form: "ParserName.ClassName.MajorVersion.MinorVersion". | 
| MajorVersion | Returns a Long or ULONG | The major version of the shader definition. This is used to build the ShaderDef.ProgID with the parser name, class name and minor version number in this form: "ParserName.ClassName.MajorVersion.MinorVersion". | 
| MinorVersion | Returns a Long or ULONG | The minor version of the shader definition. This is used to build the ShaderDef.ProgID with the parser name, class name and major version number in this form: "ParserName.ClassName.MajorVersion.MinorVersion". | 
| Category | Returns a String or CString | The category to use in the Preset Manager. | 
| DisplayName | Returns a String or CString | The display name to use in the Preset Manager. | 
| Errors | Returns a String or CString | The parser can output parse errors. | 
| Warnings | Returns a String or CString | The parser can output parse warnings. | 
| {XXXX-XXXX-XXXX-XXXX} or simple string attribute name | Sets a String or CString | You can set a custom shader attribute in the ShaderDef by setting a string repesenting a GUID or the name of any attribute. | 
| 
SICALLBACK UtShaderPlugin_ColorShare_1_0_DefineInfo( CRef& in_ctxt )
{
        XSI::Context ctxt(in_ctxt);
        
        // Setting the location and appearance of the shader definition in the preset manager
        ctxt.PutAttribute( L"Category", L"UtShaderPlugin" );
        ctxt.PutAttribute( L"DisplayName", L"Color Share UtShaderPlugin" );
        // Setting a user attribute
        ctxt.PutAttribute( L"{F2EF07FE-1B57-4245-BF08-F5556212BFDF}", L"User data" );
        return CStatus::OK;
}
 |