Shader.GetShaderParameterType

導入

v7.0

詳細

シェーダパラメータが入力と出力のどちらであるかと、そのタイプが戻されます。パラメータがシェーダに接続されていない場合、このメソッドは代わりにsiUnknownParameterTypeを戻します。

C#構文

Object Shader.GetShaderParameterType( String in_ParameterName );

スクリプト構文

oArray = Shader.GetShaderParameterType( ParameterScriptName );

戻り値

2 つのメンバArray(ここで、item[0]はBooleanを示し、item[1]はsiShaderParameterTypeを示します)。

パラメータがシェーダに接続されていない場合、このメソッドは代わりにsiUnknownParameterTypeを戻します。

パラメータ

パラメータ タイプ 説明
ParameterScriptName String パラメータのスクリプト名(Parameter.ScriptName)。

JScript の例

/*

	This example shows how to set up a texture shader on a sphere

	and then get information about one of its parameters.

*/

// Create an object with a texture shader

NewScene( null, false );

var root = Application.ActiveProject.ActiveScene.Root;

var model = root.AddModel();

model.name = "MyModel";

var object = model.AddGeometry( "Sphere", "MeshSurface" );

BlendInPresets( "Image", object, 1, false );

CreateProjection( object, siTxtSpherical, siTxtDefaultSpherical, "TxtSupport", "TxtProjection" );

var filename = Application.InstallationPath( siFactoryPath ) + 

	"\\Data\\XSI_SAMPLES\\Pictures\\xsilogo.jpg";

var imageclip = CreateImageClip( filename, "XSILogo" );

// Set up the texture space on texture shader

var mat = object.Material;

var textureshader = object.Material.CurrentTexture;

// GetShaderParameterType returns a SafeArray, so convert it to a JS array

var vbShaderInfo = textureshader.GetShaderParameterType("tex");

var shaderInfo = vbShaderInfo.toArray();

Application.LogMessage( shaderInfo[0] );

Application.LogMessage( ShaderParameterTypeAsText(shaderInfo[1]) );

// Expected results:

// INFO : True

// INFO : siTextureParameterType

// Convenience function to get a human-readable string

function ShaderParameterTypeAsText(type)

{

	switch (type)

	{

		case siUnknownParameterType : return "siUnknownParameterType";		

		case siBooleanParameterType : return "siBooleanParameterType";		

		case siColorParameterType : return "siColorParameterType";		

		case siDataParameterType : return "siDataParameterType";		

		case siIntegerParameterType : return "siIntegerParameterType";		

		case siLensParameterType : return "siLensParameterType";		

		case siLightParameterType : return "siLightParameterType";		

		case siMaterialParameterType : return "siMaterialParameterType";	

		case siMatrixParameterType : return "siMatrixParameterType";		

		case siModelParameterType : return "siModelParameterType";		

		case siRealTimeParameterType : return "siRealTimeParameterType";	

		case siReferenceParameterType : return "siReferenceParameterType";	

		case siScalarParameterType : return "siScalarParameterType";		

		case siShaderParameterType : return "siShaderParameterType";		

		case siStringParameterType : return "siStringParameterType";		

		case siStructParameterType : return "siStructParameterType";		

		case siTextureParameterType : return "siTextureParameterType";		

		case siTextureSpaceParameterType : return "siTextureSpaceParameterType";

		case siVectorParameterType : return "siVectorParameterType";		

		default: return type;

	}

}

関連項目

Shader.GetShaderParameterTargets Shader.GetShaderParameterType Parameter.HasInstanceValue Parameter.SetInstanceValue Parameter.GetInstanceValue Parameter.ScriptName Shader.OutputType