## 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