## ShaderParameter

Object Hierarchy | Related C++ Class: ShaderParameter

### Inheritance

###

SIObject

Parameter

ShaderParameter

### Introduced

v9.0 (2011)

### Description

This object is a specialization of the Parameter interface on a Shader. This interface also has its own specialization for shader array parameters: ShaderArrayParameter.
Users should use ShaderParameter.DataType to retrieve the parameter data type.

### Methods

AddCustomOp | AddExpression | AddFCurve | AddFCurve2
AddScriptedOp | AddScriptedOpFromFile | AnimatedParameters | Connect
ConnectFromFile | ConnectFromFile2 | ConnectFromPreset | ConnectFromPreset2
ConnectFromProgID | ConnectFromProgID2 | Disconnect | Enable
GetInstanceValue | GetValue2 | IsAnimated | IsClassOf
IsEqualTo | IsLocked | IsSupportedInstanceValue | PutValue2
SetCapabilityFlag | SetInstanceValue | SetLock | Show
UnSetLock |  |  |

### Properties

Animatable | Application | Capabilities | Categories
DataType | Default | Definition | Definition2
Description | FullName | HasInstanceValue | Help
Keyable | LockLevel | LockType | Marked
Max | Min | Model | Name
NestedObjects | Origin | OriginPath | OriginalValue
OverridenObject | OverridingObject | Parameters | Parent
Parent3DObject | ReadOnly | ScriptName | Source
Sources | SuggestedMax | SuggestedMin | Tags
Targets | Type | Value | ValueType

### Examples

#### Python Example

    #

    # This example demonstrates how to access each shader parameter instantiated

    # on the specified shader and report its shader parameter type

    #

    from win32com.client import constants as si

    app = Application

    app.NewScene("", False)

    # Set up a dictionary to return nice shader parameter type names

    shaderparamtypes = {

    	"-1":"siShaderDataTypeUnknown", "0":"siShaderDataTypeBoolean", "1":"siShaderDataTypeInteger",

    	"2":"siShaderDataTypeScalar", "3":"siShaderDataTypeVector2", "4":"siShaderDataTypeVector3",

    	"5":"siShaderDataTypeVector4", "6":"siShaderDataTypeQuaternion", "7":"siShaderDataTypeMatrix33",

    	"8":"siShaderDataTypeMatrix44", "9":"siShaderDataTypeColor3", "10":"siShaderDataTypeColor4",

    	"11":"siShaderDataTypeString", "16":"siShaderDataTypeProperty", "17":"siShaderDataTypeProfileCurve",

    	"18":"siShaderDataTypeGradient", "32":"siShaderDataTypeReference", "33":"siShaderDataTypeImage",

    	"48":"siShaderDataTypeCustom", "64":"siShaderDataTypeStructure", "65":"siShaderDataTypeArray"

    }

    # Set up a cube with a SimpleSSS shader compound

    app.CreatePrim("Cube", "MeshSurface")

    sh = app.CreateShaderFromProgID("XSIRTCOMPOUND.SimpleSSS.1.2", "Sources.Materials.DefaultLib.Scene_Material", "")

    app.SIConnectShaderToCnxPoint("Sources.Materials.DefaultLib.Scene_Material.SimpleSSS.Surface",

    	"Sources.Materials.DefaultLib.Scene_Material.Phong.ambient", False)

    # Now we can see what kind of parameters are instantiated on this shader

    for param in sh.Parameters :

    	if (param.IsClassOf(si.siShaderParameterID)) :

    		app.LogMessage("'" + param.ScriptName + "' == " + shaderparamtypes[str(param.DataType)])

    # Expected output:

    # INFO : 'bump' == siShaderDataTypeVector3

    # INFO : 'ambient' == siShaderDataTypeColor4

    # INFO : 'overall_color' == siShaderDataTypeColor4

    # INFO : 'diffuse_color' == siShaderDataTypeColor4

    # INFO : 'diffuse_weight' == siShaderDataTypeScalar

    # INFO : 'front_sss_color' == siShaderDataTypeColor4

    # INFO : 'front_sss_weight' == siShaderDataTypeScalar

    # INFO : 'front_sss_radius' == siShaderDataTypeScalar

    # INFO : 'back_sss_color' == siShaderDataTypeColor4

    # INFO : 'back_sss_weight' == siShaderDataTypeScalar

    # INFO : 'back_sss_radius' == siShaderDataTypeScalar

    # INFO : 'back_sss_depth' == siShaderDataTypeScalar

    # INFO : 'specular' == siShaderDataTypeColor4

    # INFO : 'exponent' == siShaderDataTypeScalar

    # INFO : 'radiance' == siShaderDataTypeColor4

    # INFO : 'light' == siShaderDataTypeImage

    # INFO : 'screen_composit' == siShaderDataTypeBoolean

    # INFO : 'scale_conversion' == siShaderDataTypeScalar

    # INFO : 'falloff' == siShaderDataTypeScalar

    # INFO : 'samples' == siShaderDataTypeInteger

    # INFO : 'lightmap_gamma' == siShaderDataTypeScalar

    # INFO : 'scatter_bias' == siShaderDataTypeScalar

    # INFO : 'Surface' == siShaderDataTypeColor4

    # INFO : 'Lightmap' == siShaderDataTypeCustom

### See Also

Shader Parameter