Material.FindShaders

Introduced

v5.0

Description

Returns all shaders applied to the material that match a filter. If no matching shaders are found, FindShaders returns an empty collection.

C# Syntax

ShaderCollection Material.FindShaders( String Filter );

Scripting Syntax

oReturn = Material.FindShaders( Filter );

Return Value

ShaderCollection

Parameters

Parameter Type Description
Filter String Name of a shader Filter object. For example, you can use siShaderFilter (the standard Softimage shader filter), or you can use a custom filter.

Examples

JScript Example

/*
	This example demonstrates how to create an object 
	with a texture shader
*/
NewScene("", false);
var root = Application.ActiveProject.ActiveScene.Root;
var object = root.AddGeometry( "Cube", "MeshSurface" );
BlendInPresets( "Image", object, 1, false );
CreateProjection( object, siTxtSpherical, siTxtDefaultSpherical, "TxtSupport", "TxtProjection" );
var filename = XSIUtils.BuildPath(
	Application.InstallationPath(siFactoryPath),
	"Data", "XSI_SAMPLES", "Pictures", "xsilogo.jpg"
);
var imageclip = CreateImageClip( filename, "XSILogo" );
// Find the texture shader using the built-in Softimage shader filter
var colShaders = object.Material.FindShaders(siShaderFilter);
var textureshader = colShaders("Image");
// Set up a texture projection and image clip for the texture shader
SetInstanceDataValue(null, textureshader+".tspace_id", "TxtProjection");
textureshader.Parameters("tex").Connect(imageclip);

See Also

Material.GetShaderInputType Light.FindShaders