## InsertShader

### Introduced

v4.0

### Description

Inserts a shader between the supplied port and a shader attached to this port. Any existing shader on the specified port will be moved to the main input port of the shader.

### Scripting Syntax

    oReturn = InsertShader( PresetObj, InputObjs, [Name] );

### Return Value

Returns the newly created shaders.

### Parameters

Parameter | Type | Description
--- | --- | ---
PresetObj | String or a preset object (see SIGetPreset) | Shader Presets
InputObjs | String | List of shader connection points. Default Value: Current selection
Name | String | Name for the inserted shader

### Examples

#### VBScript Example

    ' Create a sphere, add a default material and texture projection
    NewScene , false
    CreatePrim "Sphere", "MeshSurface"
    ApplyShader , , , , siLetLocalMaterialsOverlap
    CreateProjection "sphere", siTxtPlanarXY, siTxtDefaultSpherical, "Texture_Support", "Texture_Projection"
    ' Connect an image shader to the diffuse port of the Phong
    SIApplyShaderToCnxPoint "Image", "Sources.Materials.DefaultLib.Material.Phong.diffuse"
    ' Insert an invert node between the Phong and the Image node
    InsertShader "Image_Processing\Invert", "Sources.Materials.DefaultLib.Material.Phong.diffuse"

### See Also

SIConnectShaderToCnxPoint SIApplyShaderToCnxPoint