## SIGetShaderOnCnxPoint

### Introduced

v1.0

### Description

Connects the shader to the specified connection point.

### Scripting Syntax

    oReturn = SIGetShaderOnCnxPoint( InputObj );

### Return Value

Returns the Shader object.

### Parameters

Parameter | Type | Description
--- | --- | ---
InputObj | String | Shader connection point.

### Examples

#### 1. VBScript Example

    ' create objects for example.
    NewScene , false
    CreatePrim "Cube", "MeshSurface"
    ApplyShader
    ' Connect clear glass shader to material's surface
    SIApplyShaderToCnxPoint InstallationPath(siFactoryPath) & "\Data\DSPresets\Shaders\Material\soft3d\Fire.Preset", "cube.Material.surface"
    set shader = SIGetShaderOnCnxPoint(  "cube.Material.surface" )
    logmessage "shader connected to cube.Material.surface: " & shader
    'INFO : "shader connected to cube.Material.surface: cube.Material.Fire"

#### 2. VBScript Example

    '
    ' This example creates a sphere, applies a lambert shader to it, prints out
    ' the list of connection points to that shader, connects the toon shader
    ' to the surface and shadow connection points and then prints the updated list.
    '
    ' Create the sphere to which the shader will be connected
    set oSphere = CreatePrim( "Sphere", "NurbsSurface" )
    ' Apply a lambert shader to instantiate the material
    SIApplyShader InstallationPath( siFactoryPath ) _
                                    & "\Data\DSPresets\Shaders\Material\Lambert.Preset", _
                                    oSphere, "Christopher"
    ' Log the name of the default shader connected to the material Surface
    ' connection point
    set oShader = SIGetShaderOnCnxPoint(  "sphere.material.Surface" )
    ' Print lambert shader info
    printShaderInfo oShader
    ' This is a convenience routine that prints information about the shader
    sub printShaderInfo( in_shader )
            ' From the shader object you can get the material it belongs to
            set oMaterial = in_shader.Owners(0)
            ' Use the material to return the parameters that are connected and
            ' print out their names
            for each p in oMaterial.Parameters
                    if TypeName( p.Source ) <> "Nothing" then
                            LogMessage p.ScriptName & " is connected to " & p.Source.Name
                    end if
            next
    end sub
    ' Output of the above script:
    'INFO : "surface is connected to Christopher"
    'INFO : "shadow is connected to Christopher"
    'INFO : "Photon is connected to Christopher"

### See Also

SIApplyShaderToCnxPoint RemoveShaderFromCnxPoint RemoveAllShadersFromCnxPoint SIConnectShaderToCnxPoint