ShaderStructParamDef

Object Hierarchy | 関連する C++クラス:ShaderStructParamDef

継承

SIObject

ShaderParamDef

ShaderStructParamDef

導入

v9.0 (2011)

カテゴリ

ICE シェーダ

詳細

このオブジェクトはShaderParamDefオブジェクト専用です。このシェーダ定義に含まれるサブエレメント(ShaderStructParamDef.SubParamDefs。サブパラメータ定義のリストをShaderParamDefContainerに戻す)にアクセスできます。

ShaderStructParamDef オブジェクトを作成するには、siShaderDataTypeStructureシェーダパラメータタイプをShaderParamDefContainer.AddParamDefまたはShaderParamDefContainer.AddArrayParamDefの呼び出し時に指定します。

メソッド

IsClassOfオペレータ IsEqualToオペレータ    
       

プロパティ

Application Attributesオペレータ Capabilitiesオペレータ Categories
DataTypeオペレータ DefaultValueオペレータ DisplayNameオペレータ FullNameオペレータ
HasDefaultValueオペレータ Help IsArrayオペレータ IsInputオペレータ
IsOutputオペレータ IsStructureオペレータ MainPortオペレータ MaxValueオペレータ
MinValueオペレータ Nameオペレータ NestedObjects Origin
OriginPath Parent SubParamDefsオペレータ SuggestedMaxValueオペレータ
SuggestedMinValueオペレータ Texturableオペレータ Typeオペレータ  
       

VBScript の例

' 
' This example demonstrates how to create a dynamic shader definition 
' with an input struct parameter and then populate it with some
' sub parameters.
'
set app = Application
set oShaderDef = XSIFactory.CreateShaderDef("MyParser", "MyStructDemo", 1, 0)
oShaderDef.AddShaderFamily "mrTexture"
app.LogMessage "Shader definition name: " & oShaderDef.Name
' Set up shader parameter definition options to use with new input parameter
set oShaderInParamDefOptions = XSIFactory.CreateShaderParamDefOptions()
oShaderInParamDefOptions.SetAnimatable False
oShaderInParamDefOptions.SetTexturable True
oShaderInParamDefOptions.SetInspectable True
oShaderInParamDefOptions.SetShortName "Main Struct"
' Add input parameter to definition
set oInputParams = oShaderDef.InputParamDefs
oInputParams.AddParamDef "main", siShaderDataTypeStructure, oShaderInParamDefOptions
' Now print info to see what we have
for each oShaderInParamDef in oShaderDef.InputParamDefs.Definitions 
        app.LogMessage "Input parameter name: " & oShaderInParamDef.DisplayName
        app.LogMessage vbTab & "ClassName: " & app.ClassName(oShaderInParamDef)
        app.LogMessage vbTab & "DataType: " & oShaderInParamDef.DataType
        if oShaderInParamDef.DataType =  siShaderDataTypeStructure then
                set oSubContainer = oShaderInParamDef.SubParamDefs
                oShaderInParamDefOptions.SetShortName "SubColor 1"
                oSubContainer.AddParamDef "sub1", siShaderDataTypeColor4, oShaderInParamDefOptions
                oShaderInParamDefOptions.SetShortName "SubColor 2"
                oSubContainer.AddParamDef "sub2", siShaderDataTypeString, oShaderInParamDefOptions
                oShaderInParamDefOptions.SetShortName "SubColor 3"
                oSubContainer.AddParamDef "sub3", siShaderDataTypeGradient, oShaderInParamDefOptions
                app.LogMessage vbTab & "Number of sub parameter definitions: " & oShaderInParamDef.SubParamDefs.Definitions.Count
                for each oSubParamDef in oShaderInParamDef.SubParamDefs.Definitions
                        app.LogMessage vbTab & "Sub parameter name: " & oSubParamDef.DisplayName
                        app.LogMessage vbTab & vbTab & "ClassName: " & app.ClassName(oSubParamDef)
                        app.LogMessage vbTab & vbTab & "DataType: " & oSubParamDef.DataType
                next
        end if
next
' Expected result:
' INFO : Shader definition name: MyParser.MyStructDemo.1.0
' INFO : Input parameter name: Main Struct
' INFO :        ClassName: ShaderStructParamDef
' INFO :        DataType: 64
' INFO :        Number of sub parameter definitions: 3
' INFO :        Sub parameter name: SubColor 1
' INFO :                ClassName: ShaderStructParamDef
' INFO :                DataType: 10
' INFO :        Sub parameter name: SubColor 2
' INFO :                ClassName: ShaderParamDef
' INFO :                DataType: 11
' INFO :        Sub parameter name: SubColor 3
' INFO :                ClassName: ShaderStructParamDef
' INFO :                DataType: 18

関連項目

ShaderParamDefContainer.AddParamDef ShaderParamDefContainer.AddArrayParamDef ShaderParameter.Definition ShaderParamDefContainer ShaderArrayParamDef Shader Definition examples installed with Softimage Shader Parser examples installed with Softimage