GetShaderParamete rTargets (ImageClip)

Introduced

7.0

Description

Returns a ParameterCollection containing the object(s) connected to an image clip output. This traverses the render tree in the opposite direction as the Parameter.Source property:

C# Syntax

    ParameterCollection ImageClip.GetShaderParameterTargets();

Return Value

ParameterCollection

Examples

JScript Example

    /*
       This example creates a sample shader tree that uses 3 image clips and shows
       how to get to which input parameters thoses image clips are connected. An image clip
       can be shared across different materials.
    */
    NewScene(null, false);

    //Create 4 Image Nodes
    SIApplyShaderToCnxPoint("Image", "Sources.Materials.DefaultLib.Scene_Material.Phong.diffuse", null, null);
    SIApplyShaderToCnxPoint("Image", "Sources.Materials.DefaultLib.Scene_Material.Phong.ambient", null, null);
    SIApplyShaderToCnxPoint("Image", "Sources.Materials.DefaultLib.Scene_Material.Phong.specular", null, null);
    SIApplyShaderToCnxPoint("ScalarImage", "Sources.Materials.DefaultLib.Scene_Material.Phong.shiny", null, null);

    //Create 3 Image Clips From File
    SICreateImageClip("\Pictures\\chrom[1..3].tga", null, null);
    SICreateImageClip("\Pictures\\cloud02.pic", null, null);
    SICreateImageClip("\Pictures\\refmap2.tga", null, null);

    //Connect the first 2 Image Clip to different Shader Input Parameters
    SIConnectShaderToCnxPoint("Clips.chrom_1__3__tga", "Sources.Materials.DefaultLib.Scene_Material.Image.tex", false);
    SIConnectShaderToCnxPoint("Clips.cloud02_pic", "Sources.Materials.DefaultLib.Scene_Material.Image1.tex", false);

    //The last Image Clip is connected to 2 input parameters.
    SIConnectShaderToCnxPoint("Clips.refmap2_tga", "Sources.Materials.DefaultLib.Scene_Material.Image2.tex", false);
    SIConnectShaderToCnxPoint("Clips.refmap2_tga", "Sources.Materials.DefaultLib.Scene_Material.ScalarImage.tex", false);

    //Remove No-Icon from this material
    DisconnectAndDeleteOrUnnestShaders("Clips.noIcon_pic", "Sources.Materials.DefaultLib.Scene_Material");

    //Now Get the Image Clips and use the GetShaderParameterTarget method to get where they are connected.
    var oCloudClip, oChromeClip, oRefMapClip, oNoIconClip;
    SICreateImageClip("\Pictures\\refmap2.tga", null, null);
    oCloudClip = GetValue("Clips.cloud02_pic");
    oChromeClip = GetValue("Clips.chrom_1__3__tga");
    oRefMapClip = GetValue("Clips.refmap2_tga");
    oNoIconClip = GetValue("Clips.noIcon_pic");

    //Cloud and Chrome Should be connected to 1 target.
    var oCloudClipTargets, oChromeClipTargets;
    oCloudClipTargets = oCloudClip.GetShaderParameterTargets();
    oChromeClipTargets = oChromeClip.GetShaderParameterTargets();
    LogMessage( "Cloud and Chrome Should be connected to 1 target." );
    LogMessage( "Cloud is connected to " + oCloudClipTargets.Count + " Target(s)." );
    LogMessage( "Chromeis connected to " + oChromeClipTargets.Count + " Target(s)." );

    //RefMap Should be connected to 2 targets.
    var oRefMapClipTargets;
    oRefMapClipTargets= oRefMapClip.GetShaderParameterTargets();
    LogMessage( "RefMap Should be connected to 2 targets." );
    LogMessage( "RefMap is connected to " + oRefMapClipTargets.Count + " Target(s)." );

    //NoIcon Should be connected to 0 target.
    var oNoIconClipTargets;
    oNoIconClipTargets= oNoIconClip.GetShaderParameterTargets();
    LogMessage( "NoIcon Should be connected to 0 target." );
    LogMessage( "NoIcon is connected to " + oNoIconClipTargets.Count + " Target(s)." );

See Also

Shader.GetShaderParameterTargets | Parameter.Source

Autodesk Softimage v7.5