## CreateShadersFromMaterialPreset

### Introduced

v8.0 (2010)

### Description

Adds one or more Shader(s) to a render tree created from a material preset.

### Scripting Syntax

    oReturn = CreateShadersFromMaterialPreset( [PresetObj], [Container] );

### Return Value

The first Shader that was connected to the material.

### Parameters

Parameter | Type | Description
--- | --- | ---
PresetObj | String or a material preset object (see SIGetPreset) | Default Value: The ArgumentHandler may be able to resolve this value.
Container | SelectionList or Selection | Default Value: If no argument is specified, the current selection is used.

### Examples

#### JScript Example

    /*

    	This example demonstrates how to use the CreateShadersFromMaterialPreset command.

    	A Material Preset is loaded as a shader tree and connected to the material.

    */

    NewScene( null, false );

    CreatePrim( "Sphere", "MeshSurface" );

    CreateProjection( "sphere", siTxtSpherical, null, null, "Texture_Projection" );

    IncreaseSubdivision();

    IncreaseSubdivision();

    SelectObj( "sphere", null, true );

    SetValue( "sphere.polymsh.geom.subdivu", 15 );

    SetValue( "sphere.polymsh.geom.subdivv", 15 );

    strPresetPath = XSIUtils.BuildPath( Application.InstallationPath(siFactoryPath),

    	"Data", "DSPresets", "Materials", "Art", "im_art5.Preset" );

    oShader = CreateShadersFromMaterialPreset( strPresetPath, "Sources.Materials.DefaultLib.Scene_Material" );

    Application.LogMessage( oShader.FullName );

    SIConnectShaderToCnxPoint( oShader, "Sources.Materials.DefaultLib.Scene_Material.surface", false );

### See Also

CreateShaderFromPreset CreateShaderFromCLSID CreateShaderFromProgID CreateShaderCompound NestShaders UnnestShaders AddShaderCompoundPort RemoveShaderCompoundPort MoveShaderCompoundPort RenameShaderCompoundPort ExportShaderCompound ImportShaderCompound ExplodeShaderCompound SetShaderCompoundPropertiesEx GetShaderCompoundProperties EditShaderCompoundPPGLogic