ShaderParamDefContainer.GetParamDefByName

ShaderParamDefContainer.GetParamDefByName operator

導入

v9.0 (2011)

詳細

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

注: このメソッドは Python で無効なオブジェクトを戻す可能性があります。代わりに ShaderParamDefContainer.GetParamDefByName2 を使用してください。

C#構文

ShaderParamDef ShaderParamDefContainer.GetParamDefByName( String 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