ShaderParamDefContainer.GetParamDefByName operator

導入

v9.0 (2011)

カテゴリ

ICE シェーダ

詳細

このコンテナから、指定された名前に一致するShaderParamDefを戻します。ShaderParamDefCollection 全体を繰り返し処理する必要がない場合、これが ShaderParamDefContainer.Definitions (in ParameterName)を呼び出すより好ましい方法です。

スクリプト 構文

oReturn = ShaderParamDefContainer.GetParamDefByName( in_ParameterName );

戻り値

ShaderParamDef

パラメータ

パラメータ タイプ 詳細
in_ParameterName String 取得するシェーダパラメータ定義の登録名。

JScript の例

/*
        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

関連項目

ShaderParamDefContainer.Definitions