v9.0 (2011)
ICE シェーダ
このコンテナから、指定された名前に一致するShaderParamDefを戻します。ShaderParamDefCollection 全体を繰り返し処理する必要がない場合、これが ShaderParamDefContainer.Definitions (in ParameterName)を呼び出すより好ましい方法です。
oReturn = ShaderParamDefContainer.GetParamDefByName( in_ParameterName ); |
パラメータ | タイプ | 詳細 |
---|---|---|
in_ParameterName | String | 取得するシェーダパラメータ定義の登録名。 |
/* This example demonstrates how to get a specific shader parameter definition implemented on a shader definition by name */ var app = Application; var oShaderDef = XSIFactory.CreateShaderDef("chucky", "cheez", 1, 0); oShaderDef.AddShaderFamily(siShaderFamilyType); app.LogMessage("Shader definition name: "+oShaderDef.Name); // Set up shader parameter definition options to use with new input // parameters: all the settings will be the same except for the name // so we will just change that on the ShaderParamDefOptions each time var oShaderInParamDefOptions = XSIFactory.CreateShaderParamDefOptions(); oShaderInParamDefOptions.SetAnimatable(true); oShaderInParamDefOptions.SetTexturable(true); oShaderInParamDefOptions.SetInspectable(true); oShaderInParamDefOptions.SetShortName("Out"); // Add output parameter to the definition var oOutputParams = oShaderDef.OutputParamDefs; oOutputParams.AddParamDef("out", siShaderDataTypeColor4, oShaderInParamDefOptions); // Add another parameter to the definition oShaderInParamDefOptions.SetShortName("Name"); oOutputParams.AddParamDef("name", siShaderDataTypeString, oShaderInParamDefOptions); // Add one more parameter to the definition oShaderInParamDefOptions.SetShortName("Valid"); oOutputParams.AddParamDef("valid", siShaderDataTypeBoolean, oShaderInParamDefOptions); // How many input parameters are there? app.LogMessage("There are "+oShaderDef.OutputParamDefs.Definitions.Count+" parameter(s) defined here"); // Get them by name var oParamDef3 = oShaderDef.OutputParamDefs.GetParamDefByName("valid"); var oParamDef1 = oShaderDef.OutputParamDefs.GetParamDefByName("out"); var oParamDef2 = oShaderDef.OutputParamDefs.GetParamDefByName("name"); app.LogMessage("Here are the names as they will appear in the UI:"); app.LogMessage("\t- "+oParamDef1.DisplayName); app.LogMessage("\t- "+oParamDef2.DisplayName); app.LogMessage("\t- "+oParamDef3.DisplayName); // Expected results: // INFO : Shader definition name: chucky.cheez.1.0 // INFO : There are 3 parameter(s) defined here // INFO : Here are the names as they will appear in the UI: // INFO : - Out // INFO : - Name // INFO : - Valid |