## ReplaceShaderWithPreset

### Introduced

v1.0

### Description

Disconnects a shader and connects another shader created from a preset.

### Scripting Syntax

    ReplaceShaderWithPreset( [Source], PresetObj );

### Parameters

Parameter | Type | Description
--- | --- | ---
Source | String | Shader to disconnect Default Value: Current selection
PresetObj | String or a preset object (see SIGetPreset) | Any of the appropriate Shader Presets

### Examples

#### VBScript Example

    '
    ' This example demonstrates how to replace an existing shader on an object with
    ' a preset shader.
    '
    NewScene , false
    ' Get the default pass
    Set oDefPass = GetValue( "Passes.Default_Pass" )
    ' Create a sphere and apply a default (Phong) shader to it
    Set oSphere = CreatePrim( "Sphere", "MeshSurface" )
    ApplyShader , oSphere
    ' Tweak the color values on the sphere's material using the Shader
    ' parameter shortcuts "diffuse" and "ambient"
    Set oPhong = oSphere.Material.Shaders( "Phong" )
    oPhong.diffuse.Parameters( "red" ).Value = 0.9
    oPhong.diffuse.Parameters( "green" ).Value = 0.5
    oPhong.ambient.Parameters( "green" ).Value = 0.7
    ' View the results in a rendered frame. (You can see the sphere looks magenta
    ' with a specular highlight)
    RenderPasses oDefPass, 1, 1
    ' Now, replace the Phong shader on the sphere by a Toon preset shader
    ReplaceShaderWithPreset oPhong, "Material\Toon_Paint_Highlight.Preset"
    Set oToon = oSphere.Material.Shaders( "Toon_Paint_Highlight" )
    oToon.cover.Value = 0.1
    oToon.softness.Value = 0.6
    ' View the results in a rendered frame. (Now the sphere has a gray, soft and
    ' dull appearance)
    RenderPasses oDefPass, 1, 1

### See Also

ApplyShader ReplaceShader ReplaceShaderWithProgID