vk.relaxed.stagelink.0.0.vert
Shader version: 460
0:? Sequence
0:11  Function Definition: main( ( global void)
0:11    Function Parameters: 
0:15    Sequence
0:15      Sequence
0:15        Sequence
0:15          move second child to first child ( temp highp 3-component vector of float)
0:15            'texcoord' ( temp highp 3-component vector of float)
0:15            Function Call: TDInstanceTexCoord(vf3; ( global highp 3-component vector of float)
0:15              direct index (layout( location=3) temp highp 3-component vector of float)
0:15                'uv' (layout( location=3) in 8-element array of highp 3-component vector of float)
0:15                Constant:
0:15                  0 (const int)
0:16        move second child to first child ( temp highp 3-component vector of float)
0:16          vector swizzle ( temp highp 3-component vector of float)
0:16            texCoord0: direct index for structure ( out highp 3-component vector of float)
0:16              'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:16              Constant:
0:16                2 (const int)
0:16            Sequence
0:16              Constant:
0:16                0 (const int)
0:16              Constant:
0:16                1 (const int)
0:16              Constant:
0:16                2 (const int)
0:16          vector swizzle ( temp highp 3-component vector of float)
0:16            'texcoord' ( temp highp 3-component vector of float)
0:16            Sequence
0:16              Constant:
0:16                0 (const int)
0:16              Constant:
0:16                1 (const int)
0:16              Constant:
0:16                2 (const int)
0:20      move second child to first child ( temp highp int)
0:20        instance: direct index for structure ( flat out highp int)
0:20          'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:20          Constant:
0:20            4 (const int)
0:20        Function Call: TDInstanceID( ( global highp int)
0:21      Sequence
0:21        move second child to first child ( temp highp 4-component vector of float)
0:21          'worldSpacePos' ( temp highp 4-component vector of float)
0:21          Function Call: TDDeform(vf3; ( global highp 4-component vector of float)
0:21            'P' (layout( location=0) in highp 3-component vector of float)
0:22      Sequence
0:22        move second child to first child ( temp highp 3-component vector of float)
0:22          'uvUnwrapCoord' ( temp highp 3-component vector of float)
0:22          Function Call: TDInstanceTexCoord(vf3; ( global highp 3-component vector of float)
0:22            Function Call: TDUVUnwrapCoord( ( global highp 3-component vector of float)
0:23      move second child to first child ( temp highp 4-component vector of float)
0:23        gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
0:23          'anon@4' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out unsized 1-element array of float ClipDistance gl_ClipDistance,  out unsized 1-element array of float CullDistance gl_CullDistance})
0:23          Constant:
0:23            0 (const uint)
0:23        Function Call: TDWorldToProj(vf4;vf3; ( global highp 4-component vector of float)
0:23          'worldSpacePos' ( temp highp 4-component vector of float)
0:23          'uvUnwrapCoord' ( temp highp 3-component vector of float)
0:32      Sequence
0:32        move second child to first child ( temp highp int)
0:32          'cameraIndex' ( temp highp int)
0:32          Function Call: TDCameraIndex( ( global highp int)
0:33      move second child to first child ( temp highp int)
0:33        cameraIndex: direct index for structure ( flat out highp int)
0:33          'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:33          Constant:
0:33            3 (const int)
0:33        'cameraIndex' ( temp highp int)
0:34      move second child to first child ( temp highp 3-component vector of float)
0:34        vector swizzle ( temp highp 3-component vector of float)
0:34          worldSpacePos: direct index for structure ( out highp 3-component vector of float)
0:34            'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:34            Constant:
0:34              1 (const int)
0:34          Sequence
0:34            Constant:
0:34              0 (const int)
0:34            Constant:
0:34              1 (const int)
0:34            Constant:
0:34              2 (const int)
0:34        vector swizzle ( temp highp 3-component vector of float)
0:34          'worldSpacePos' ( temp highp 4-component vector of float)
0:34          Sequence
0:34            Constant:
0:34              0 (const int)
0:34            Constant:
0:34              1 (const int)
0:34            Constant:
0:34              2 (const int)
0:35      move second child to first child ( temp highp 4-component vector of float)
0:35        color: direct index for structure ( out highp 4-component vector of float)
0:35          'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:35          Constant:
0:35            0 (const int)
0:35        Function Call: TDInstanceColor(vf4; ( global highp 4-component vector of float)
0:35          'Cd' (layout( location=2) in highp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float nearFar,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor,  global highp int renderTOPCameraIndex} uTDCamInfos})
0:?     'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform structure{ global highp 4-component vector of float ambientColor,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float viewport,  global highp 4-component vector of float viewportRes,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor} uTDGeneral})
0:?     'P' (layout( location=0) in highp 3-component vector of float)
0:?     'N' (layout( location=1) in highp 3-component vector of float)
0:?     'Cd' (layout( location=2) in highp 4-component vector of float)
0:?     'uv' (layout( location=3) in 8-element array of highp 3-component vector of float)
0:?     'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:?     'anon@4' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out unsized 1-element array of float ClipDistance gl_ClipDistance,  out unsized 1-element array of float CullDistance gl_CullDistance})
0:?     'gl_VertexIndex' ( in int VertexIndex)
0:?     'gl_InstanceIndex' ( in int InstanceIndex)

vk.relaxed.stagelink.0.1.vert
Shader version: 460
0:? Sequence
0:176  Function Definition: iTDCamToProj(vf4;vf3;i1;b1; ( global highp 4-component vector of float)
0:176    Function Parameters: 
0:176      'v' ( in highp 4-component vector of float)
0:176      'uv' ( in highp 3-component vector of float)
0:176      'cameraIndex' ( in highp int)
0:176      'applyPickMod' ( in bool)
0:178    Sequence
0:178      Test condition and select ( temp void)
0:178        Condition
0:178        Negate conditional ( temp bool)
0:178          Function Call: TDInstanceActive( ( global bool)
0:178        true case
0:179        Branch: Return with expression
0:179          Constant:
0:179            2.000000
0:179            2.000000
0:179            2.000000
0:179            0.000000
0:180      move second child to first child ( temp highp 4-component vector of float)
0:180        'v' ( in highp 4-component vector of float)
0:180        matrix-times-vector ( temp highp 4-component vector of float)
0:180          proj: direct index for structure (layout( column_major std140) global highp 4X4 matrix of float)
0:180            direct index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:180              uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:180                'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:180                Constant:
0:180                  0 (const uint)
0:180              Constant:
0:180                0 (const int)
0:180            Constant:
0:180              8 (const int)
0:180          'v' ( in highp 4-component vector of float)
0:181      Branch: Return with expression
0:181        'v' ( in highp 4-component vector of float)
0:183  Function Definition: iTDWorldToProj(vf4;vf3;i1;b1; ( global highp 4-component vector of float)
0:183    Function Parameters: 
0:183      'v' ( in highp 4-component vector of float)
0:183      'uv' ( in highp 3-component vector of float)
0:183      'cameraIndex' ( in highp int)
0:183      'applyPickMod' ( in bool)
0:184    Sequence
0:184      Test condition and select ( temp void)
0:184        Condition
0:184        Negate conditional ( temp bool)
0:184          Function Call: TDInstanceActive( ( global bool)
0:184        true case
0:185        Branch: Return with expression
0:185          Constant:
0:185            2.000000
0:185            2.000000
0:185            2.000000
0:185            0.000000
0:186      move second child to first child ( temp highp 4-component vector of float)
0:186        'v' ( in highp 4-component vector of float)
0:186        matrix-times-vector ( temp highp 4-component vector of float)
0:186          camProj: direct index for structure (layout( column_major std140) global highp 4X4 matrix of float)
0:186            direct index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:186              uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:186                'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:186                Constant:
0:186                  0 (const uint)
0:186              Constant:
0:186                0 (const int)
0:186            Constant:
0:186              6 (const int)
0:186          'v' ( in highp 4-component vector of float)
0:187      Branch: Return with expression
0:187        'v' ( in highp 4-component vector of float)
0:193  Function Definition: TDInstanceID( ( global highp int)
0:193    Function Parameters: 
0:194    Sequence
0:194      Branch: Return with expression
0:194        add ( temp highp int)
0:194          'gl_InstanceIndex' ( in highp int InstanceIndex)
0:194          uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:194            'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:194            Constant:
0:194              0 (const uint)
0:196  Function Definition: TDCameraIndex( ( global highp int)
0:196    Function Parameters: 
0:197    Sequence
0:197      Branch: Return with expression
0:197        Constant:
0:197          0 (const int)
0:199  Function Definition: TDUVUnwrapCoord( ( global highp 3-component vector of float)
0:199    Function Parameters: 
0:200    Sequence
0:200      Branch: Return with expression
0:200        direct index (layout( location=3) temp highp 3-component vector of float)
0:200          'uv' (layout( location=3) in 8-element array of highp 3-component vector of float)
0:200          Constant:
0:200            0 (const int)
0:205  Function Definition: TDPickID( ( global highp int)
0:205    Function Parameters: 
0:209    Sequence
0:209      Branch: Return with expression
0:209        Constant:
0:209          0 (const int)
0:212  Function Definition: iTDConvertPickId(i1; ( global highp float)
0:212    Function Parameters: 
0:212      'id' ( in highp int)
0:213    Sequence
0:213      or second child into first child ( temp highp int)
0:213        'id' ( in highp int)
0:213        Constant:
0:213          1073741824 (const int)
0:214      Branch: Return with expression
0:214        intBitsToFloat ( global highp float)
0:214          'id' ( in highp int)
0:217  Function Definition: TDWritePickingValues( ( global void)
0:217    Function Parameters: 
0:224  Function Definition: TDWorldToProj(vf4;vf3; ( global highp 4-component vector of float)
0:224    Function Parameters: 
0:224      'v' ( in highp 4-component vector of float)
0:224      'uv' ( in highp 3-component vector of float)
0:226    Sequence
0:226      Branch: Return with expression
0:226        Function Call: iTDWorldToProj(vf4;vf3;i1;b1; ( global highp 4-component vector of float)
0:226          'v' ( in highp 4-component vector of float)
0:226          'uv' ( in highp 3-component vector of float)
0:226          Function Call: TDCameraIndex( ( global highp int)
0:226          Constant:
0:226            true (const bool)
0:228  Function Definition: TDWorldToProj(vf3;vf3; ( global highp 4-component vector of float)
0:228    Function Parameters: 
0:228      'v' ( in highp 3-component vector of float)
0:228      'uv' ( in highp 3-component vector of float)
0:230    Sequence
0:230      Branch: Return with expression
0:230        Function Call: TDWorldToProj(vf4;vf3; ( global highp 4-component vector of float)
0:230          Construct vec4 ( temp highp 4-component vector of float)
0:230            'v' ( in highp 3-component vector of float)
0:230            Constant:
0:230              1.000000
0:230          'uv' ( in highp 3-component vector of float)
0:232  Function Definition: TDWorldToProj(vf4; ( global highp 4-component vector of float)
0:232    Function Parameters: 
0:232      'v' ( in highp 4-component vector of float)
0:234    Sequence
0:234      Branch: Return with expression
0:234        Function Call: TDWorldToProj(vf4;vf3; ( global highp 4-component vector of float)
0:234          'v' ( in highp 4-component vector of float)
0:234          Constant:
0:234            0.000000
0:234            0.000000
0:234            0.000000
0:236  Function Definition: TDWorldToProj(vf3; ( global highp 4-component vector of float)
0:236    Function Parameters: 
0:236      'v' ( in highp 3-component vector of float)
0:238    Sequence
0:238      Branch: Return with expression
0:238        Function Call: TDWorldToProj(vf4; ( global highp 4-component vector of float)
0:238          Construct vec4 ( temp highp 4-component vector of float)
0:238            'v' ( in highp 3-component vector of float)
0:238            Constant:
0:238              1.000000
0:240  Function Definition: TDPointColor( ( global highp 4-component vector of float)
0:240    Function Parameters: 
0:241    Sequence
0:241      Branch: Return with expression
0:241        'Cd' (layout( location=2) in highp 4-component vector of float)
0:?   Linker Objects
0:?     'P' (layout( location=0) in highp 3-component vector of float)
0:?     'N' (layout( location=1) in highp 3-component vector of float)
0:?     'Cd' (layout( location=2) in highp 4-component vector of float)
0:?     'uv' (layout( location=3) in 8-element array of highp 3-component vector of float)
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float position,  global highp 3-component vector of float direction,  global highp 3-component vector of float diffuse,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float lightSize,  global highp 4-component vector of float misc,  global highp 4-component vector of float coneLookupScaleBias,  global highp 4-component vector of float attenScaleBiasRoll, layout( column_major std140) global highp 4X4 matrix of float shadowMapMatrix, layout( column_major std140) global highp 4X4 matrix of float shadowMapCamMatrix,  global highp 4-component vector of float shadowMapRes, layout( column_major std140) global highp 4X4 matrix of float projMapMatrix} uTDLights})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 3-component vector of float color, layout( column_major std140) global highp 3X3 matrix of float rotate} uTDEnvLights})
0:?     'uTDEnvLightBuffers' (layout( column_major std430) restrict readonly buffer 1-element array of block{layout( column_major std430 offset=0) restrict readonly buffer 9-element array of highp 3-component vector of float shCoeffs})
0:?     'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:?     'anon@4' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float nearFar,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor,  global highp int renderTOPCameraIndex} uTDCamInfos})
0:?     'anon@5' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform structure{ global highp 4-component vector of float ambientColor,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float viewport,  global highp 4-component vector of float viewportRes,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor} uTDGeneral})
0:?     'mTD2DImageOutputs' (layout( rgba8) uniform 1-element array of highp image2D)
0:?     'mTD2DArrayImageOutputs' (layout( rgba8) uniform 1-element array of highp image2DArray)
0:?     'mTD3DImageOutputs' (layout( rgba8) uniform 1-element array of highp image3D)
0:?     'mTDCubeImageOutputs' (layout( rgba8) uniform 1-element array of highp imageCube)
0:?     'gl_VertexIndex' ( in int VertexIndex)
0:?     'gl_InstanceIndex' ( in int InstanceIndex)

vk.relaxed.stagelink.0.2.vert
Shader version: 460
0:? Sequence
0:114  Function Definition: TDInstanceTexCoord(i1;vf3; ( global highp 3-component vector of float)
0:114    Function Parameters: 
0:114      'index' ( in highp int)
0:114      't' ( in highp 3-component vector of float)
0:?     Sequence
0:116      Sequence
0:116        move second child to first child ( temp highp int)
0:116          'coord' ( temp highp int)
0:116          'index' ( in highp int)
0:117      Sequence
0:117        move second child to first child ( temp highp 4-component vector of float)
0:117          'samp' ( temp highp 4-component vector of float)
0:117          textureFetch ( global highp 4-component vector of float)
0:117            'sTDInstanceTexCoord' (layout( binding=16) uniform highp samplerBuffer)
0:117            'coord' ( temp highp int)
0:118      move second child to first child ( temp highp float)
0:118        direct index ( temp highp float)
0:118          'v' ( temp highp 3-component vector of float)
0:118          Constant:
0:118            0 (const int)
0:118        direct index ( temp highp float)
0:118          't' ( in highp 3-component vector of float)
0:118          Constant:
0:118            0 (const int)
0:119      move second child to first child ( temp highp float)
0:119        direct index ( temp highp float)
0:119          'v' ( temp highp 3-component vector of float)
0:119          Constant:
0:119            1 (const int)
0:119        direct index ( temp highp float)
0:119          't' ( in highp 3-component vector of float)
0:119          Constant:
0:119            1 (const int)
0:120      move second child to first child ( temp highp float)
0:120        direct index ( temp highp float)
0:120          'v' ( temp highp 3-component vector of float)
0:120          Constant:
0:120            2 (const int)
0:120        direct index ( temp highp float)
0:120          'samp' ( temp highp 4-component vector of float)
0:120          Constant:
0:120            0 (const int)
0:121      move second child to first child ( temp highp 3-component vector of float)
0:121        vector swizzle ( temp highp 3-component vector of float)
0:121          't' ( in highp 3-component vector of float)
0:121          Sequence
0:121            Constant:
0:121              0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121            Constant:
0:121              2 (const int)
0:121        vector swizzle ( temp highp 3-component vector of float)
0:121          'v' ( temp highp 3-component vector of float)
0:121          Sequence
0:121            Constant:
0:121              0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121            Constant:
0:121              2 (const int)
0:122      Branch: Return with expression
0:122        't' ( in highp 3-component vector of float)
0:124  Function Definition: TDInstanceActive(i1; ( global bool)
0:124    Function Parameters: 
0:124      'index' ( in highp int)
0:125    Sequence
0:125      subtract second child into first child ( temp highp int)
0:125        'index' ( in highp int)
0:125        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:125          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:125          Constant:
0:125            0 (const uint)
0:127      Sequence
0:127        move second child to first child ( temp highp int)
0:127          'coord' ( temp highp int)
0:127          'index' ( in highp int)
0:128      Sequence
0:128        move second child to first child ( temp highp 4-component vector of float)
0:128          'samp' ( temp highp 4-component vector of float)
0:128          textureFetch ( global highp 4-component vector of float)
0:128            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:128            'coord' ( temp highp int)
0:129      move second child to first child ( temp highp float)
0:129        'v' ( temp highp float)
0:129        direct index ( temp highp float)
0:129          'samp' ( temp highp 4-component vector of float)
0:129          Constant:
0:129            0 (const int)
0:130      Branch: Return with expression
0:130        Compare Not Equal ( temp bool)
0:130          'v' ( temp highp float)
0:130          Constant:
0:130            0.000000
0:132  Function Definition: iTDInstanceTranslate(i1;b1; ( global highp 3-component vector of float)
0:132    Function Parameters: 
0:132      'index' ( in highp int)
0:132      'instanceActive' ( out bool)
0:133    Sequence
0:133      Sequence
0:133        move second child to first child ( temp highp int)
0:133          'origIndex' ( temp highp int)
0:133          'index' ( in highp int)
0:134      subtract second child into first child ( temp highp int)
0:134        'index' ( in highp int)
0:134        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:134          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:134          Constant:
0:134            0 (const uint)
0:136      Sequence
0:136        move second child to first child ( temp highp int)
0:136          'coord' ( temp highp int)
0:136          'index' ( in highp int)
0:137      Sequence
0:137        move second child to first child ( temp highp 4-component vector of float)
0:137          'samp' ( temp highp 4-component vector of float)
0:137          textureFetch ( global highp 4-component vector of float)
0:137            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:137            'coord' ( temp highp int)
0:138      move second child to first child ( temp highp float)
0:138        direct index ( temp highp float)
0:138          'v' ( temp highp 3-component vector of float)
0:138          Constant:
0:138            0 (const int)
0:138        direct index ( temp highp float)
0:138          'samp' ( temp highp 4-component vector of float)
0:138          Constant:
0:138            1 (const int)
0:139      move second child to first child ( temp highp float)
0:139        direct index ( temp highp float)
0:139          'v' ( temp highp 3-component vector of float)
0:139          Constant:
0:139            1 (const int)
0:139        direct index ( temp highp float)
0:139          'samp' ( temp highp 4-component vector of float)
0:139          Constant:
0:139            2 (const int)
0:140      move second child to first child ( temp highp float)
0:140        direct index ( temp highp float)
0:140          'v' ( temp highp 3-component vector of float)
0:140          Constant:
0:140            2 (const int)
0:140        direct index ( temp highp float)
0:140          'samp' ( temp highp 4-component vector of float)
0:140          Constant:
0:140            3 (const int)
0:141      move second child to first child ( temp bool)
0:141        'instanceActive' ( out bool)
0:141        Compare Not Equal ( temp bool)
0:141          direct index ( temp highp float)
0:141            'samp' ( temp highp 4-component vector of float)
0:141            Constant:
0:141              0 (const int)
0:141          Constant:
0:141            0.000000
0:142      Branch: Return with expression
0:142        'v' ( temp highp 3-component vector of float)
0:144  Function Definition: TDInstanceTranslate(i1; ( global highp 3-component vector of float)
0:144    Function Parameters: 
0:144      'index' ( in highp int)
0:145    Sequence
0:145      subtract second child into first child ( temp highp int)
0:145        'index' ( in highp int)
0:145        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:145          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:145          Constant:
0:145            0 (const uint)
0:147      Sequence
0:147        move second child to first child ( temp highp int)
0:147          'coord' ( temp highp int)
0:147          'index' ( in highp int)
0:148      Sequence
0:148        move second child to first child ( temp highp 4-component vector of float)
0:148          'samp' ( temp highp 4-component vector of float)
0:148          textureFetch ( global highp 4-component vector of float)
0:148            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:148            'coord' ( temp highp int)
0:149      move second child to first child ( temp highp float)
0:149        direct index ( temp highp float)
0:149          'v' ( temp highp 3-component vector of float)
0:149          Constant:
0:149            0 (const int)
0:149        direct index ( temp highp float)
0:149          'samp' ( temp highp 4-component vector of float)
0:149          Constant:
0:149            1 (const int)
0:150      move second child to first child ( temp highp float)
0:150        direct index ( temp highp float)
0:150          'v' ( temp highp 3-component vector of float)
0:150          Constant:
0:150            1 (const int)
0:150        direct index ( temp highp float)
0:150          'samp' ( temp highp 4-component vector of float)
0:150          Constant:
0:150            2 (const int)
0:151      move second child to first child ( temp highp float)
0:151        direct index ( temp highp float)
0:151          'v' ( temp highp 3-component vector of float)
0:151          Constant:
0:151            2 (const int)
0:151        direct index ( temp highp float)
0:151          'samp' ( temp highp 4-component vector of float)
0:151          Constant:
0:151            3 (const int)
0:152      Branch: Return with expression
0:152        'v' ( temp highp 3-component vector of float)
0:154  Function Definition: TDInstanceRotateMat(i1; ( global highp 3X3 matrix of float)
0:154    Function Parameters: 
0:154      'index' ( in highp int)
0:155    Sequence
0:155      subtract second child into first child ( temp highp int)
0:155        'index' ( in highp int)
0:155        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:155          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:155          Constant:
0:155            0 (const uint)
0:156      Sequence
0:156        move second child to first child ( temp highp 3-component vector of float)
0:156          'v' ( temp highp 3-component vector of float)
0:156          Constant:
0:156            0.000000
0:156            0.000000
0:156            0.000000
0:157      Sequence
0:157        move second child to first child ( temp highp 3X3 matrix of float)
0:157          'm' ( temp highp 3X3 matrix of float)
0:157          Constant:
0:157            1.000000
0:157            0.000000
0:157            0.000000
0:157            0.000000
0:157            1.000000
0:157            0.000000
0:157            0.000000
0:157            0.000000
0:157            1.000000
0:161      Branch: Return with expression
0:161        'm' ( temp highp 3X3 matrix of float)
0:163  Function Definition: TDInstanceScale(i1; ( global highp 3-component vector of float)
0:163    Function Parameters: 
0:163      'index' ( in highp int)
0:164    Sequence
0:164      subtract second child into first child ( temp highp int)
0:164        'index' ( in highp int)
0:164        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:164          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:164          Constant:
0:164            0 (const uint)
0:165      Sequence
0:165        move second child to first child ( temp highp 3-component vector of float)
0:165          'v' ( temp highp 3-component vector of float)
0:165          Constant:
0:165            1.000000
0:165            1.000000
0:165            1.000000
0:166      Branch: Return with expression
0:166        'v' ( temp highp 3-component vector of float)
0:168  Function Definition: TDInstancePivot(i1; ( global highp 3-component vector of float)
0:168    Function Parameters: 
0:168      'index' ( in highp int)
0:169    Sequence
0:169      subtract second child into first child ( temp highp int)
0:169        'index' ( in highp int)
0:169        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:169          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:169          Constant:
0:169            0 (const uint)
0:170      Sequence
0:170        move second child to first child ( temp highp 3-component vector of float)
0:170          'v' ( temp highp 3-component vector of float)
0:170          Constant:
0:170            0.000000
0:170            0.000000
0:170            0.000000
0:171      Branch: Return with expression
0:171        'v' ( temp highp 3-component vector of float)
0:173  Function Definition: TDInstanceRotTo(i1; ( global highp 3-component vector of float)
0:173    Function Parameters: 
0:173      'index' ( in highp int)
0:174    Sequence
0:174      subtract second child into first child ( temp highp int)
0:174        'index' ( in highp int)
0:174        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:174          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:174          Constant:
0:174            0 (const uint)
0:175      Sequence
0:175        move second child to first child ( temp highp 3-component vector of float)
0:175          'v' ( temp highp 3-component vector of float)
0:175          Constant:
0:175            0.000000
0:175            0.000000
0:175            1.000000
0:176      Branch: Return with expression
0:176        'v' ( temp highp 3-component vector of float)
0:178  Function Definition: TDInstanceRotUp(i1; ( global highp 3-component vector of float)
0:178    Function Parameters: 
0:178      'index' ( in highp int)
0:179    Sequence
0:179      subtract second child into first child ( temp highp int)
0:179        'index' ( in highp int)
0:179        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:179          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:179          Constant:
0:179            0 (const uint)
0:180      Sequence
0:180        move second child to first child ( temp highp 3-component vector of float)
0:180          'v' ( temp highp 3-component vector of float)
0:180          Constant:
0:180            0.000000
0:180            1.000000
0:180            0.000000
0:181      Branch: Return with expression
0:181        'v' ( temp highp 3-component vector of float)
0:183  Function Definition: TDInstanceMat(i1; ( global highp 4X4 matrix of float)
0:183    Function Parameters: 
0:183      'id' ( in highp int)
0:184    Sequence
0:184      Sequence
0:184        move second child to first child ( temp bool)
0:184          'instanceActive' ( temp bool)
0:184          Constant:
0:184            true (const bool)
0:185      Sequence
0:185        move second child to first child ( temp highp 3-component vector of float)
0:185          't' ( temp highp 3-component vector of float)
0:185          Function Call: iTDInstanceTranslate(i1;b1; ( global highp 3-component vector of float)
0:185            'id' ( in highp int)
0:185            'instanceActive' ( temp bool)
0:186      Test condition and select ( temp void)
0:186        Condition
0:186        Negate conditional ( temp bool)
0:186          'instanceActive' ( temp bool)
0:186        true case
0:188        Sequence
0:188          Branch: Return with expression
0:188            Constant:
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:190      Sequence
0:190        move second child to first child ( temp highp 4X4 matrix of float)
0:190          'm' ( temp highp 4X4 matrix of float)
0:190          Constant:
0:190            1.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            1.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            1.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            1.000000
0:192      Sequence
0:192        Sequence
0:192          move second child to first child ( temp highp 3-component vector of float)
0:192            'tt' ( temp highp 3-component vector of float)
0:192            't' ( temp highp 3-component vector of float)
0:193        add second child into first child ( temp highp float)
0:193          direct index ( temp highp float)
0:193            direct index ( temp highp 4-component vector of float)
0:193              'm' ( temp highp 4X4 matrix of float)
0:193              Constant:
0:193                3 (const int)
0:193            Constant:
0:193              0 (const int)
0:193          component-wise multiply ( temp highp float)
0:193            direct index ( temp highp float)
0:193              direct index ( temp highp 4-component vector of float)
0:193                'm' ( temp highp 4X4 matrix of float)
0:193                Constant:
0:193                  0 (const int)
0:193              Constant:
0:193                0 (const int)
0:193            direct index ( temp highp float)
0:193              'tt' ( temp highp 3-component vector of float)
0:193              Constant:
0:193                0 (const int)
0:194        add second child into first child ( temp highp float)
0:194          direct index ( temp highp float)
0:194            direct index ( temp highp 4-component vector of float)
0:194              'm' ( temp highp 4X4 matrix of float)
0:194              Constant:
0:194                3 (const int)
0:194            Constant:
0:194              1 (const int)
0:194          component-wise multiply ( temp highp float)
0:194            direct index ( temp highp float)
0:194              direct index ( temp highp 4-component vector of float)
0:194                'm' ( temp highp 4X4 matrix of float)
0:194                Constant:
0:194                  0 (const int)
0:194              Constant:
0:194                1 (const int)
0:194            direct index ( temp highp float)
0:194              'tt' ( temp highp 3-component vector of float)
0:194              Constant:
0:194                0 (const int)
0:195        add second child into first child ( temp highp float)
0:195          direct index ( temp highp float)
0:195            direct index ( temp highp 4-component vector of float)
0:195              'm' ( temp highp 4X4 matrix of float)
0:195              Constant:
0:195                3 (const int)
0:195            Constant:
0:195              2 (const int)
0:195          component-wise multiply ( temp highp float)
0:195            direct index ( temp highp float)
0:195              direct index ( temp highp 4-component vector of float)
0:195                'm' ( temp highp 4X4 matrix of float)
0:195                Constant:
0:195                  0 (const int)
0:195              Constant:
0:195                2 (const int)
0:195            direct index ( temp highp float)
0:195              'tt' ( temp highp 3-component vector of float)
0:195              Constant:
0:195                0 (const int)
0:196        add second child into first child ( temp highp float)
0:196          direct index ( temp highp float)
0:196            direct index ( temp highp 4-component vector of float)
0:196              'm' ( temp highp 4X4 matrix of float)
0:196              Constant:
0:196                3 (const int)
0:196            Constant:
0:196              3 (const int)
0:196          component-wise multiply ( temp highp float)
0:196            direct index ( temp highp float)
0:196              direct index ( temp highp 4-component vector of float)
0:196                'm' ( temp highp 4X4 matrix of float)
0:196                Constant:
0:196                  0 (const int)
0:196              Constant:
0:196                3 (const int)
0:196            direct index ( temp highp float)
0:196              'tt' ( temp highp 3-component vector of float)
0:196              Constant:
0:196                0 (const int)
0:197        add second child into first child ( temp highp float)
0:197          direct index ( temp highp float)
0:197            direct index ( temp highp 4-component vector of float)
0:197              'm' ( temp highp 4X4 matrix of float)
0:197              Constant:
0:197                3 (const int)
0:197            Constant:
0:197              0 (const int)
0:197          component-wise multiply ( temp highp float)
0:197            direct index ( temp highp float)
0:197              direct index ( temp highp 4-component vector of float)
0:197                'm' ( temp highp 4X4 matrix of float)
0:197                Constant:
0:197                  1 (const int)
0:197              Constant:
0:197                0 (const int)
0:197            direct index ( temp highp float)
0:197              'tt' ( temp highp 3-component vector of float)
0:197              Constant:
0:197                1 (const int)
0:198        add second child into first child ( temp highp float)
0:198          direct index ( temp highp float)
0:198            direct index ( temp highp 4-component vector of float)
0:198              'm' ( temp highp 4X4 matrix of float)
0:198              Constant:
0:198                3 (const int)
0:198            Constant:
0:198              1 (const int)
0:198          component-wise multiply ( temp highp float)
0:198            direct index ( temp highp float)
0:198              direct index ( temp highp 4-component vector of float)
0:198                'm' ( temp highp 4X4 matrix of float)
0:198                Constant:
0:198                  1 (const int)
0:198              Constant:
0:198                1 (const int)
0:198            direct index ( temp highp float)
0:198              'tt' ( temp highp 3-component vector of float)
0:198              Constant:
0:198                1 (const int)
0:199        add second child into first child ( temp highp float)
0:199          direct index ( temp highp float)
0:199            direct index ( temp highp 4-component vector of float)
0:199              'm' ( temp highp 4X4 matrix of float)
0:199              Constant:
0:199                3 (const int)
0:199            Constant:
0:199              2 (const int)
0:199          component-wise multiply ( temp highp float)
0:199            direct index ( temp highp float)
0:199              direct index ( temp highp 4-component vector of float)
0:199                'm' ( temp highp 4X4 matrix of float)
0:199                Constant:
0:199                  1 (const int)
0:199              Constant:
0:199                2 (const int)
0:199            direct index ( temp highp float)
0:199              'tt' ( temp highp 3-component vector of float)
0:199              Constant:
0:199                1 (const int)
0:200        add second child into first child ( temp highp float)
0:200          direct index ( temp highp float)
0:200            direct index ( temp highp 4-component vector of float)
0:200              'm' ( temp highp 4X4 matrix of float)
0:200              Constant:
0:200                3 (const int)
0:200            Constant:
0:200              3 (const int)
0:200          component-wise multiply ( temp highp float)
0:200            direct index ( temp highp float)
0:200              direct index ( temp highp 4-component vector of float)
0:200                'm' ( temp highp 4X4 matrix of float)
0:200                Constant:
0:200                  1 (const int)
0:200              Constant:
0:200                3 (const int)
0:200            direct index ( temp highp float)
0:200              'tt' ( temp highp 3-component vector of float)
0:200              Constant:
0:200                1 (const int)
0:201        add second child into first child ( temp highp float)
0:201          direct index ( temp highp float)
0:201            direct index ( temp highp 4-component vector of float)
0:201              'm' ( temp highp 4X4 matrix of float)
0:201              Constant:
0:201                3 (const int)
0:201            Constant:
0:201              0 (const int)
0:201          component-wise multiply ( temp highp float)
0:201            direct index ( temp highp float)
0:201              direct index ( temp highp 4-component vector of float)
0:201                'm' ( temp highp 4X4 matrix of float)
0:201                Constant:
0:201                  2 (const int)
0:201              Constant:
0:201                0 (const int)
0:201            direct index ( temp highp float)
0:201              'tt' ( temp highp 3-component vector of float)
0:201              Constant:
0:201                2 (const int)
0:202        add second child into first child ( temp highp float)
0:202          direct index ( temp highp float)
0:202            direct index ( temp highp 4-component vector of float)
0:202              'm' ( temp highp 4X4 matrix of float)
0:202              Constant:
0:202                3 (const int)
0:202            Constant:
0:202              1 (const int)
0:202          component-wise multiply ( temp highp float)
0:202            direct index ( temp highp float)
0:202              direct index ( temp highp 4-component vector of float)
0:202                'm' ( temp highp 4X4 matrix of float)
0:202                Constant:
0:202                  2 (const int)
0:202              Constant:
0:202                1 (const int)
0:202            direct index ( temp highp float)
0:202              'tt' ( temp highp 3-component vector of float)
0:202              Constant:
0:202                2 (const int)
0:203        add second child into first child ( temp highp float)
0:203          direct index ( temp highp float)
0:203            direct index ( temp highp 4-component vector of float)
0:203              'm' ( temp highp 4X4 matrix of float)
0:203              Constant:
0:203                3 (const int)
0:203            Constant:
0:203              2 (const int)
0:203          component-wise multiply ( temp highp float)
0:203            direct index ( temp highp float)
0:203              direct index ( temp highp 4-component vector of float)
0:203                'm' ( temp highp 4X4 matrix of float)
0:203                Constant:
0:203                  2 (const int)
0:203              Constant:
0:203                2 (const int)
0:203            direct index ( temp highp float)
0:203              'tt' ( temp highp 3-component vector of float)
0:203              Constant:
0:203                2 (const int)
0:204        add second child into first child ( temp highp float)
0:204          direct index ( temp highp float)
0:204            direct index ( temp highp 4-component vector of float)
0:204              'm' ( temp highp 4X4 matrix of float)
0:204              Constant:
0:204                3 (const int)
0:204            Constant:
0:204              3 (const int)
0:204          component-wise multiply ( temp highp float)
0:204            direct index ( temp highp float)
0:204              direct index ( temp highp 4-component vector of float)
0:204                'm' ( temp highp 4X4 matrix of float)
0:204                Constant:
0:204                  2 (const int)
0:204              Constant:
0:204                3 (const int)
0:204            direct index ( temp highp float)
0:204              'tt' ( temp highp 3-component vector of float)
0:204              Constant:
0:204                2 (const int)
0:206      Branch: Return with expression
0:206        'm' ( temp highp 4X4 matrix of float)
0:208  Function Definition: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:208    Function Parameters: 
0:208      'id' ( in highp int)
0:209    Sequence
0:209      Sequence
0:209        move second child to first child ( temp highp 3X3 matrix of float)
0:209          'm' ( temp highp 3X3 matrix of float)
0:209          Constant:
0:209            1.000000
0:209            0.000000
0:209            0.000000
0:209            0.000000
0:209            1.000000
0:209            0.000000
0:209            0.000000
0:209            0.000000
0:209            1.000000
0:210      Branch: Return with expression
0:210        'm' ( temp highp 3X3 matrix of float)
0:212  Function Definition: TDInstanceMat3ForNorm(i1; ( global highp 3X3 matrix of float)
0:212    Function Parameters: 
0:212      'id' ( in highp int)
0:213    Sequence
0:213      Sequence
0:213        move second child to first child ( temp highp 3X3 matrix of float)
0:213          'm' ( temp highp 3X3 matrix of float)
0:213          Function Call: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:213            'id' ( in highp int)
0:214      Branch: Return with expression
0:214        'm' ( temp highp 3X3 matrix of float)
0:216  Function Definition: TDInstanceColor(i1;vf4; ( global highp 4-component vector of float)
0:216    Function Parameters: 
0:216      'index' ( in highp int)
0:216      'curColor' ( in highp 4-component vector of float)
0:217    Sequence
0:217      subtract second child into first child ( temp highp int)
0:217        'index' ( in highp int)
0:217        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:217          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:217          Constant:
0:217            0 (const uint)
0:219      Sequence
0:219        move second child to first child ( temp highp int)
0:219          'coord' ( temp highp int)
0:219          'index' ( in highp int)
0:220      Sequence
0:220        move second child to first child ( temp highp 4-component vector of float)
0:220          'samp' ( temp highp 4-component vector of float)
0:220          textureFetch ( global highp 4-component vector of float)
0:220            'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)
0:220            'coord' ( temp highp int)
0:221      move second child to first child ( temp highp float)
0:221        direct index ( temp highp float)
0:221          'v' ( temp highp 4-component vector of float)
0:221          Constant:
0:221            0 (const int)
0:221        direct index ( temp highp float)
0:221          'samp' ( temp highp 4-component vector of float)
0:221          Constant:
0:221            0 (const int)
0:222      move second child to first child ( temp highp float)
0:222        direct index ( temp highp float)
0:222          'v' ( temp highp 4-component vector of float)
0:222          Constant:
0:222            1 (const int)
0:222        direct index ( temp highp float)
0:222          'samp' ( temp highp 4-component vector of float)
0:222          Constant:
0:222            1 (const int)
0:223      move second child to first child ( temp highp float)
0:223        direct index ( temp highp float)
0:223          'v' ( temp highp 4-component vector of float)
0:223          Constant:
0:223            2 (const int)
0:223        direct index ( temp highp float)
0:223          'samp' ( temp highp 4-component vector of float)
0:223          Constant:
0:223            2 (const int)
0:224      move second child to first child ( temp highp float)
0:224        direct index ( temp highp float)
0:224          'v' ( temp highp 4-component vector of float)
0:224          Constant:
0:224            3 (const int)
0:224        Constant:
0:224          1.000000
0:225      move second child to first child ( temp highp float)
0:225        direct index ( temp highp float)
0:225          'curColor' ( in highp 4-component vector of float)
0:225          Constant:
0:225            0 (const int)
0:225        direct index ( temp highp float)
0:225          'v' ( temp highp 4-component vector of float)
0:225          Constant:
0:225            0 (const int)
0:227      move second child to first child ( temp highp float)
0:227        direct index ( temp highp float)
0:227          'curColor' ( in highp 4-component vector of float)
0:227          Constant:
0:227            1 (const int)
0:227        direct index ( temp highp float)
0:227          'v' ( temp highp 4-component vector of float)
0:227          Constant:
0:227            1 (const int)
0:229      move second child to first child ( temp highp float)
0:229        direct index ( temp highp float)
0:229          'curColor' ( in highp 4-component vector of float)
0:229          Constant:
0:229            2 (const int)
0:229        direct index ( temp highp float)
0:229          'v' ( temp highp 4-component vector of float)
0:229          Constant:
0:229            2 (const int)
0:231      Branch: Return with expression
0:231        'curColor' ( in highp 4-component vector of float)
0:233  Function Definition: TDInstanceDeform(i1;vf4; ( global highp 4-component vector of float)
0:233    Function Parameters: 
0:233      'id' ( in highp int)
0:233      'pos' ( in highp 4-component vector of float)
0:234    Sequence
0:234      move second child to first child ( temp highp 4-component vector of float)
0:234        'pos' ( in highp 4-component vector of float)
0:234        matrix-times-vector ( temp highp 4-component vector of float)
0:234          Function Call: TDInstanceMat(i1; ( global highp 4X4 matrix of float)
0:234            'id' ( in highp int)
0:234          'pos' ( in highp 4-component vector of float)
0:235      Branch: Return with expression
0:235        matrix-times-vector ( temp highp 4-component vector of float)
0:235          world: direct index for structure (layout( column_major std140) global highp 4X4 matrix of float)
0:235            indirect index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:235              uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:235                'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:235                Constant:
0:235                  0 (const uint)
0:235              Function Call: TDCameraIndex( ( global highp int)
0:235            Constant:
0:235              0 (const int)
0:235          'pos' ( in highp 4-component vector of float)
0:238  Function Definition: TDInstanceDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:238    Function Parameters: 
0:238      'id' ( in highp int)
0:238      'vec' ( in highp 3-component vector of float)
0:240    Sequence
0:240      Sequence
0:240        move second child to first child ( temp highp 3X3 matrix of float)
0:240          'm' ( temp highp 3X3 matrix of float)
0:240          Function Call: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:240            'id' ( in highp int)
0:241      Branch: Return with expression
0:241        matrix-times-vector ( temp highp 3-component vector of float)
0:241          Construct mat3 ( temp highp 3X3 matrix of float)
0:241            world: direct index for structure (layout( column_major std140) global highp 4X4 matrix of float)
0:241              indirect index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:241                uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:241                  'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:241                  Constant:
0:241                    0 (const uint)
0:241                Function Call: TDCameraIndex( ( global highp int)
0:241              Constant:
0:241                0 (const int)
0:241          matrix-times-vector ( temp highp 3-component vector of float)
0:241            'm' ( temp highp 3X3 matrix of float)
0:241            'vec' ( in highp 3-component vector of float)
0:243  Function Definition: TDInstanceDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:243    Function Parameters: 
0:243      'id' ( in highp int)
0:243      'vec' ( in highp 3-component vector of float)
0:245    Sequence
0:245      Sequence
0:245        move second child to first child ( temp highp 3X3 matrix of float)
0:245          'm' ( temp highp 3X3 matrix of float)
0:245          Function Call: TDInstanceMat3ForNorm(i1; ( global highp 3X3 matrix of float)
0:245            'id' ( in highp int)
0:246      Branch: Return with expression
0:246        matrix-times-vector ( temp highp 3-component vector of float)
0:246          Construct mat3 ( temp highp 3X3 matrix of float)
0:246            worldForNormals: direct index for structure (layout( column_major std140) global highp 3X3 matrix of float)
0:246              indirect index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:246                uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:246                  'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:246                  Constant:
0:246                    0 (const uint)
0:246                Function Call: TDCameraIndex( ( global highp int)
0:246              Constant:
0:246                13 (const int)
0:246          matrix-times-vector ( temp highp 3-component vector of float)
0:246            'm' ( temp highp 3X3 matrix of float)
0:246            'vec' ( in highp 3-component vector of float)
0:248  Function Definition: TDInstanceDeform(vf4; ( global highp 4-component vector of float)
0:248    Function Parameters: 
0:248      'pos' ( in highp 4-component vector of float)
0:249    Sequence
0:249      Branch: Return with expression
0:249        Function Call: TDInstanceDeform(i1;vf4; ( global highp 4-component vector of float)
0:249          Function Call: TDInstanceID( ( global highp int)
0:249          'pos' ( in highp 4-component vector of float)
0:251  Function Definition: TDInstanceDeformVec(vf3; ( global highp 3-component vector of float)
0:251    Function Parameters: 
0:251      'vec' ( in highp 3-component vector of float)
0:252    Sequence
0:252      Branch: Return with expression
0:252        Function Call: TDInstanceDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:252          Function Call: TDInstanceID( ( global highp int)
0:252          'vec' ( in highp 3-component vector of float)
0:254  Function Definition: TDInstanceDeformNorm(vf3; ( global highp 3-component vector of float)
0:254    Function Parameters: 
0:254      'vec' ( in highp 3-component vector of float)
0:255    Sequence
0:255      Branch: Return with expression
0:255        Function Call: TDInstanceDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:255          Function Call: TDInstanceID( ( global highp int)
0:255          'vec' ( in highp 3-component vector of float)
0:257  Function Definition: TDInstanceActive( ( global bool)
0:257    Function Parameters: 
0:257    Sequence
0:257      Branch: Return with expression
0:257        Function Call: TDInstanceActive(i1; ( global bool)
0:257          Function Call: TDInstanceID( ( global highp int)
0:258  Function Definition: TDInstanceTranslate( ( global highp 3-component vector of float)
0:258    Function Parameters: 
0:258    Sequence
0:258      Branch: Return with expression
0:258        Function Call: TDInstanceTranslate(i1; ( global highp 3-component vector of float)
0:258          Function Call: TDInstanceID( ( global highp int)
0:259  Function Definition: TDInstanceRotateMat( ( global highp 3X3 matrix of float)
0:259    Function Parameters: 
0:259    Sequence
0:259      Branch: Return with expression
0:259        Function Call: TDInstanceRotateMat(i1; ( global highp 3X3 matrix of float)
0:259          Function Call: TDInstanceID( ( global highp int)
0:260  Function Definition: TDInstanceScale( ( global highp 3-component vector of float)
0:260    Function Parameters: 
0:260    Sequence
0:260      Branch: Return with expression
0:260        Function Call: TDInstanceScale(i1; ( global highp 3-component vector of float)
0:260          Function Call: TDInstanceID( ( global highp int)
0:261  Function Definition: TDInstanceMat( ( global highp 4X4 matrix of float)
0:261    Function Parameters: 
0:261    Sequence
0:261      Branch: Return with expression
0:261        Function Call: TDInstanceMat(i1; ( global highp 4X4 matrix of float)
0:261          Function Call: TDInstanceID( ( global highp int)
0:263  Function Definition: TDInstanceMat3( ( global highp 3X3 matrix of float)
0:263    Function Parameters: 
0:263    Sequence
0:263      Branch: Return with expression
0:263        Function Call: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:263          Function Call: TDInstanceID( ( global highp int)
0:265  Function Definition: TDInstanceTexCoord(vf3; ( global highp 3-component vector of float)
0:265    Function Parameters: 
0:265      't' ( in highp 3-component vector of float)
0:266    Sequence
0:266      Branch: Return with expression
0:266        Function Call: TDInstanceTexCoord(i1;vf3; ( global highp 3-component vector of float)
0:266          Function Call: TDInstanceID( ( global highp int)
0:266          't' ( in highp 3-component vector of float)
0:268  Function Definition: TDInstanceColor(vf4; ( global highp 4-component vector of float)
0:268    Function Parameters: 
0:268      'curColor' ( in highp 4-component vector of float)
0:269    Sequence
0:269      Branch: Return with expression
0:269        Function Call: TDInstanceColor(i1;vf4; ( global highp 4-component vector of float)
0:269          Function Call: TDInstanceID( ( global highp int)
0:269          'curColor' ( in highp 4-component vector of float)
0:271  Function Definition: TDSkinnedDeform(vf4; ( global highp 4-component vector of float)
0:271    Function Parameters: 
0:271      'pos' ( in highp 4-component vector of float)
0:271    Sequence
0:271      Branch: Return with expression
0:271        'pos' ( in highp 4-component vector of float)
0:273  Function Definition: TDSkinnedDeformVec(vf3; ( global highp 3-component vector of float)
0:273    Function Parameters: 
0:273      'vec' ( in highp 3-component vector of float)
0:273    Sequence
0:273      Branch: Return with expression
0:273        'vec' ( in highp 3-component vector of float)
0:275  Function Definition: TDFastDeformTangent(vf3;vf4;vf3; ( global highp 3-component vector of float)
0:275    Function Parameters: 
0:275      'oldNorm' ( in highp 3-component vector of float)
0:275      'oldTangent' ( in highp 4-component vector of float)
0:275      'deformedNorm' ( in highp 3-component vector of float)
0:276    Sequence
0:276      Branch: Return with expression
0:276        vector swizzle ( temp highp 3-component vector of float)
0:276          'oldTangent' ( in highp 4-component vector of float)
0:276          Sequence
0:276            Constant:
0:276              0 (const int)
0:276            Constant:
0:276              1 (const int)
0:276            Constant:
0:276              2 (const int)
0:277  Function Definition: TDBoneMat(i1; ( global highp 4X4 matrix of float)
0:277    Function Parameters: 
0:277      'index' ( in highp int)
0:278    Sequence
0:278      Branch: Return with expression
0:278        Constant:
0:278          1.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          1.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          1.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          1.000000
0:280  Function Definition: TDDeform(vf4; ( global highp 4-component vector of float)
0:280    Function Parameters: 
0:280      'pos' ( in highp 4-component vector of float)
0:281    Sequence
0:281      move second child to first child ( temp highp 4-component vector of float)
0:281        'pos' ( in highp 4-component vector of float)
0:281        Function Call: TDSkinnedDeform(vf4; ( global highp 4-component vector of float)
0:281          'pos' ( in highp 4-component vector of float)
0:282      move second child to first child ( temp highp 4-component vector of float)
0:282        'pos' ( in highp 4-component vector of float)
0:282        Function Call: TDInstanceDeform(vf4; ( global highp 4-component vector of float)
0:282          'pos' ( in highp 4-component vector of float)
0:283      Branch: Return with expression
0:283        'pos' ( in highp 4-component vector of float)
0:286  Function Definition: TDDeform(i1;vf3; ( global highp 4-component vector of float)
0:286    Function Parameters: 
0:286      'instanceID' ( in highp int)
0:286      'p' ( in highp 3-component vector of float)
0:287    Sequence
0:287      Sequence
0:287        move second child to first child ( temp highp 4-component vector of float)
0:287          'pos' ( temp highp 4-component vector of float)
0:287          Construct vec4 ( temp highp 4-component vector of float)
0:287            'p' ( in highp 3-component vector of float)
0:287            Constant:
0:287              1.000000
0:288      move second child to first child ( temp highp 4-component vector of float)
0:288        'pos' ( temp highp 4-component vector of float)
0:288        Function Call: TDSkinnedDeform(vf4; ( global highp 4-component vector of float)
0:288          'pos' ( temp highp 4-component vector of float)
0:289      move second child to first child ( temp highp 4-component vector of float)
0:289        'pos' ( temp highp 4-component vector of float)
0:289        Function Call: TDInstanceDeform(i1;vf4; ( global highp 4-component vector of float)
0:289          'instanceID' ( in highp int)
0:289          'pos' ( temp highp 4-component vector of float)
0:290      Branch: Return with expression
0:290        'pos' ( temp highp 4-component vector of float)
0:293  Function Definition: TDDeform(vf3; ( global highp 4-component vector of float)
0:293    Function Parameters: 
0:293      'pos' ( in highp 3-component vector of float)
0:294    Sequence
0:294      Branch: Return with expression
0:294        Function Call: TDDeform(i1;vf3; ( global highp 4-component vector of float)
0:294          Function Call: TDInstanceID( ( global highp int)
0:294          'pos' ( in highp 3-component vector of float)
0:297  Function Definition: TDDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:297    Function Parameters: 
0:297      'instanceID' ( in highp int)
0:297      'vec' ( in highp 3-component vector of float)
0:298    Sequence
0:298      move second child to first child ( temp highp 3-component vector of float)
0:298        'vec' ( in highp 3-component vector of float)
0:298        Function Call: TDSkinnedDeformVec(vf3; ( global highp 3-component vector of float)
0:298          'vec' ( in highp 3-component vector of float)
0:299      move second child to first child ( temp highp 3-component vector of float)
0:299        'vec' ( in highp 3-component vector of float)
0:299        Function Call: TDInstanceDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:299          'instanceID' ( in highp int)
0:299          'vec' ( in highp 3-component vector of float)
0:300      Branch: Return with expression
0:300        'vec' ( in highp 3-component vector of float)
0:303  Function Definition: TDDeformVec(vf3; ( global highp 3-component vector of float)
0:303    Function Parameters: 
0:303      'vec' ( in highp 3-component vector of float)
0:304    Sequence
0:304      Branch: Return with expression
0:304        Function Call: TDDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:304          Function Call: TDInstanceID( ( global highp int)
0:304          'vec' ( in highp 3-component vector of float)
0:307  Function Definition: TDDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:307    Function Parameters: 
0:307      'instanceID' ( in highp int)
0:307      'vec' ( in highp 3-component vector of float)
0:308    Sequence
0:308      move second child to first child ( temp highp 3-component vector of float)
0:308        'vec' ( in highp 3-component vector of float)
0:308        Function Call: TDSkinnedDeformVec(vf3; ( global highp 3-component vector of float)
0:308          'vec' ( in highp 3-component vector of float)
0:309      move second child to first child ( temp highp 3-component vector of float)
0:309        'vec' ( in highp 3-component vector of float)
0:309        Function Call: TDInstanceDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:309          'instanceID' ( in highp int)
0:309          'vec' ( in highp 3-component vector of float)
0:310      Branch: Return with expression
0:310        'vec' ( in highp 3-component vector of float)
0:313  Function Definition: TDDeformNorm(vf3; ( global highp 3-component vector of float)
0:313    Function Parameters: 
0:313      'vec' ( in highp 3-component vector of float)
0:314    Sequence
0:314      Branch: Return with expression
0:314        Function Call: TDDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:314          Function Call: TDInstanceID( ( global highp int)
0:314          'vec' ( in highp 3-component vector of float)
0:317  Function Definition: TDSkinnedDeformNorm(vf3; ( global highp 3-component vector of float)
0:317    Function Parameters: 
0:317      'vec' ( in highp 3-component vector of float)
0:318    Sequence
0:318      move second child to first child ( temp highp 3-component vector of float)
0:318        'vec' ( in highp 3-component vector of float)
0:318        Function Call: TDSkinnedDeformVec(vf3; ( global highp 3-component vector of float)
0:318          'vec' ( in highp 3-component vector of float)
0:319      Branch: Return with expression
0:319        'vec' ( in highp 3-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float position,  global highp 3-component vector of float direction,  global highp 3-component vector of float diffuse,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float lightSize,  global highp 4-component vector of float misc,  global highp 4-component vector of float coneLookupScaleBias,  global highp 4-component vector of float attenScaleBiasRoll, layout( column_major std140) global highp 4X4 matrix of float shadowMapMatrix, layout( column_major std140) global highp 4X4 matrix of float shadowMapCamMatrix,  global highp 4-component vector of float shadowMapRes, layout( column_major std140) global highp 4X4 matrix of float projMapMatrix} uTDLights})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 3-component vector of float color, layout( column_major std140) global highp 3X3 matrix of float rotate} uTDEnvLights})
0:?     'uTDEnvLightBuffers' (layout( column_major std430) restrict readonly buffer 1-element array of block{layout( column_major std430 offset=0) restrict readonly buffer 9-element array of highp 3-component vector of float shCoeffs})
0:?     'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:?     'anon@4' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float nearFar,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor,  global highp int renderTOPCameraIndex} uTDCamInfos})
0:?     'anon@5' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform structure{ global highp 4-component vector of float ambientColor,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float viewport,  global highp 4-component vector of float viewportRes,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor} uTDGeneral})
0:?     'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:?     'sTDInstanceTexCoord' (layout( binding=16) uniform highp samplerBuffer)
0:?     'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)
0:?     'gl_VertexIndex' ( in int VertexIndex)
0:?     'gl_InstanceIndex' ( in int InstanceIndex)

vk.relaxed.stagelink.0.0.frag
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:95  Function Definition: main( ( global void)
0:95    Function Parameters: 
0:99    Sequence
0:99      Function Call: TDCheckDiscard( ( global void)
0:101      Sequence
0:101        move second child to first child ( temp highp 4-component vector of float)
0:101          'outcol' ( temp highp 4-component vector of float)
0:101          Constant:
0:101            0.000000
0:101            0.000000
0:101            0.000000
0:101            0.000000
0:103      Sequence
0:103        move second child to first child ( temp highp 3-component vector of float)
0:103          'texCoord0' ( temp highp 3-component vector of float)
0:103          vector swizzle ( temp highp 3-component vector of float)
0:103            texCoord0: direct index for structure ( in highp 3-component vector of float)
0:103              'iVert' ( in block{ in highp 4-component vector of float color,  in highp 3-component vector of float worldSpacePos,  in highp 3-component vector of float texCoord0,  flat in highp int cameraIndex,  flat in highp int instance})
0:103              Constant:
0:103                2 (const int)
0:103            Sequence
0:103              Constant:
0:103                0 (const int)
0:103              Constant:
0:103                1 (const int)
0:103              Constant:
0:103                2 (const int)
0:104      Sequence
0:104        move second child to first child ( temp highp float)
0:104          'actualTexZ' ( temp highp float)
0:104          mod ( global highp float)
0:104            Convert int to float ( temp highp float)
0:104              Convert float to int ( temp highp int)
0:104                direct index ( temp highp float)
0:104                  'texCoord0' ( temp highp 3-component vector of float)
0:104                  Constant:
0:104                    2 (const int)
0:104            Constant:
0:104              2048.000000
0:105      Sequence
0:105        move second child to first child ( temp highp float)
0:105          'instanceLoop' ( temp highp float)
0:105          Floor ( global highp float)
0:105            Convert int to float ( temp highp float)
0:105              divide ( temp highp int)
0:105                Convert float to int ( temp highp int)
0:105                  direct index ( temp highp float)
0:105                    'texCoord0' ( temp highp 3-component vector of float)
0:105                    Constant:
0:105                      2 (const int)
0:105                Constant:
0:105                  2048 (const int)
0:106      move second child to first child ( temp highp float)
0:106        direct index ( temp highp float)
0:106          'texCoord0' ( temp highp 3-component vector of float)
0:106          Constant:
0:106            2 (const int)
0:106        'actualTexZ' ( temp highp float)
0:107      Sequence
0:107        move second child to first child ( temp highp 4-component vector of float)
0:107          'colorMapColor' ( temp highp 4-component vector of float)
0:107          texture ( global highp 4-component vector of float)
0:107            'sColorMap' ( uniform highp sampler2DArray)
0:107            vector swizzle ( temp highp 3-component vector of float)
0:107              'texCoord0' ( temp highp 3-component vector of float)
0:107              Sequence
0:107                Constant:
0:107                  0 (const int)
0:107                Constant:
0:107                  1 (const int)
0:107                Constant:
0:107                  2 (const int)
0:109      Sequence
0:109        move second child to first child ( temp highp float)
0:109          'red' ( temp highp float)
0:109          indirect index ( temp highp float)
0:109            'colorMapColor' ( temp highp 4-component vector of float)
0:109            Convert float to int ( temp highp int)
0:109              'instanceLoop' ( temp highp float)
0:110      move second child to first child ( temp highp 4-component vector of float)
0:110        'colorMapColor' ( temp highp 4-component vector of float)
0:110        Construct vec4 ( temp highp 4-component vector of float)
0:110          'red' ( temp highp float)
0:112      add second child into first child ( temp highp 3-component vector of float)
0:112        vector swizzle ( temp highp 3-component vector of float)
0:112          'outcol' ( temp highp 4-component vector of float)
0:112          Sequence
0:112            Constant:
0:112              0 (const int)
0:112            Constant:
0:112              1 (const int)
0:112            Constant:
0:112              2 (const int)
0:112        component-wise multiply ( temp highp 3-component vector of float)
0:112          uConstant: direct index for structure ( uniform highp 3-component vector of float)
0:112            'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:112            Constant:
0:112              3 (const uint)
0:112          vector swizzle ( temp highp 3-component vector of float)
0:112            color: direct index for structure ( in highp 4-component vector of float)
0:112              'iVert' ( in block{ in highp 4-component vector of float color,  in highp 3-component vector of float worldSpacePos,  in highp 3-component vector of float texCoord0,  flat in highp int cameraIndex,  flat in highp int instance})
0:112              Constant:
0:112                0 (const int)
0:112            Sequence
0:112              Constant:
0:112                0 (const int)
0:112              Constant:
0:112                1 (const int)
0:112              Constant:
0:112                2 (const int)
0:114      multiply second child into first child ( temp highp 4-component vector of float)
0:114        'outcol' ( temp highp 4-component vector of float)
0:114        'colorMapColor' ( temp highp 4-component vector of float)
0:117      Sequence
0:117        move second child to first child ( temp highp float)
0:117          'alpha' ( temp highp float)
0:117          component-wise multiply ( temp highp float)
0:117            direct index ( temp highp float)
0:117              color: direct index for structure ( in highp 4-component vector of float)
0:117                'iVert' ( in block{ in highp 4-component vector of float color,  in highp 3-component vector of float worldSpacePos,  in highp 3-component vector of float texCoord0,  flat in highp int cameraIndex,  flat in highp int instance})
0:117                Constant:
0:117                  0 (const int)
0:117              Constant:
0:117                3 (const int)
0:117            direct index ( temp highp float)
0:117              'colorMapColor' ( temp highp 4-component vector of float)
0:117              Constant:
0:117                3 (const int)
0:120      move second child to first child ( temp highp 4-component vector of float)
0:120        'outcol' ( temp highp 4-component vector of float)
0:120        Function Call: TDDither(vf4; ( global highp 4-component vector of float)
0:120          'outcol' ( temp highp 4-component vector of float)
0:122      vector scale second child into first child ( temp highp 3-component vector of float)
0:122        vector swizzle ( temp highp 3-component vector of float)
0:122          'outcol' ( temp highp 4-component vector of float)
0:122          Sequence
0:122            Constant:
0:122              0 (const int)
0:122            Constant:
0:122              1 (const int)
0:122            Constant:
0:122              2 (const int)
0:122        'alpha' ( temp highp float)
0:126      Function Call: TDAlphaTest(f1; ( global void)
0:126        'alpha' ( temp highp float)
0:128      move second child to first child ( temp highp float)
0:128        direct index ( temp highp float)
0:128          'outcol' ( temp highp 4-component vector of float)
0:128          Constant:
0:128            3 (const int)
0:128        'alpha' ( temp highp float)
0:129      move second child to first child ( temp highp 4-component vector of float)
0:129        direct index (layout( location=0) temp highp 4-component vector of float)
0:129          'oFragColor' (layout( location=0) out 1-element array of highp 4-component vector of float)
0:129          Constant:
0:129            0 (const int)
0:129        Function Call: TDOutputSwizzle(vf4; ( global highp 4-component vector of float)
0:129          'outcol' ( temp highp 4-component vector of float)
0:135      Sequence
0:135        Sequence
0:135          move second child to first child ( temp highp int)
0:135            'i' ( temp highp int)
0:135            Constant:
0:135              1 (const int)
0:135        Loop with condition tested first
0:135          Loop Condition
0:135          Compare Less Than ( temp bool)
0:135            'i' ( temp highp int)
0:135            Constant:
0:135              1 (const int)
0:135          Loop Body
0:137          Sequence
0:137            move second child to first child ( temp highp 4-component vector of float)
0:137              indirect index (layout( location=0) temp highp 4-component vector of float)
0:137                'oFragColor' (layout( location=0) out 1-element array of highp 4-component vector of float)
0:137                'i' ( temp highp int)
0:137              Constant:
0:137                0.000000
0:137                0.000000
0:137                0.000000
0:137                0.000000
0:135          Loop Terminal Expression
0:135          Post-Increment ( temp highp int)
0:135            'i' ( temp highp int)
0:?   Linker Objects
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float nearFar,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor,  global highp int renderTOPCameraIndex} uTDCamInfos})
0:?     'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform structure{ global highp 4-component vector of float ambientColor,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float viewport,  global highp 4-component vector of float viewportRes,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor} uTDGeneral})
0:?     'sColorMap' ( uniform highp sampler2DArray)
0:?     'iVert' ( in block{ in highp 4-component vector of float color,  in highp 3-component vector of float worldSpacePos,  in highp 3-component vector of float texCoord0,  flat in highp int cameraIndex,  flat in highp int instance})
0:?     'oFragColor' (layout( location=0) out 1-element array of highp 4-component vector of float)

vk.relaxed.stagelink.0.1.frag
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:116  Function Definition: TDColor(vf4; ( global highp 4-component vector of float)
0:116    Function Parameters: 
0:116      'color' ( in highp 4-component vector of float)
0:116    Sequence
0:116      Branch: Return with expression
0:116        'color' ( in highp 4-component vector of float)
0:117  Function Definition: TDCheckOrderIndTrans( ( global void)
0:117    Function Parameters: 
0:119  Function Definition: TDCheckDiscard( ( global void)
0:119    Function Parameters: 
0:120    Sequence
0:120      Function Call: TDCheckOrderIndTrans( ( global void)
0:122  Function Definition: TDDither(vf4; ( global highp 4-component vector of float)
0:122    Function Parameters: 
0:122      'color' ( in highp 4-component vector of float)
0:124    Sequence
0:124      Sequence
0:124        move second child to first child ( temp highp float)
0:124          'd' ( temp highp float)
0:125          direct index ( temp highp float)
0:125            texture ( global highp 4-component vector of float)
0:124              'sTDNoiseMap' ( uniform highp sampler2D)
0:125              divide ( temp highp 2-component vector of float)
0:125                vector swizzle ( temp highp 2-component vector of float)
0:125                  'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
0:125                  Sequence
0:125                    Constant:
0:125                      0 (const int)
0:125                    Constant:
0:125                      1 (const int)
0:125                Constant:
0:125                  256.000000
0:125            Constant:
0:125              0 (const int)
0:126      subtract second child into first child ( temp highp float)
0:126        'd' ( temp highp float)
0:126        Constant:
0:126          0.500000
0:127      divide second child into first child ( temp highp float)
0:127        'd' ( temp highp float)
0:127        Constant:
0:127          256.000000
0:128      Branch: Return with expression
0:128        Construct vec4 ( temp highp 4-component vector of float)
0:128          add ( temp highp 3-component vector of float)
0:128            vector swizzle ( temp highp 3-component vector of float)
0:128              'color' ( in highp 4-component vector of float)
0:128              Sequence
0:128                Constant:
0:128                  0 (const int)
0:128                Constant:
0:128                  1 (const int)
0:128                Constant:
0:128                  2 (const int)
0:128            'd' ( temp highp float)
0:128          direct index ( temp highp float)
0:128            'color' ( in highp 4-component vector of float)
0:128            Constant:
0:128              3 (const int)
0:130  Function Definition: TDFrontFacing(vf3;vf3; ( global bool)
0:130    Function Parameters: 
0:130      'pos' ( in highp 3-component vector of float)
0:130      'normal' ( in highp 3-component vector of float)
0:132    Sequence
0:132      Branch: Return with expression
0:132        'gl_FrontFacing' ( gl_FrontFacing bool Face)
0:134  Function Definition: TDAttenuateLight(i1;f1; ( global highp float)
0:134    Function Parameters: 
0:134      'index' ( in highp int)
0:134      'lightDist' ( in highp float)
0:136    Sequence
0:136      Branch: Return with expression
0:136        Constant:
0:136          1.000000
0:138  Function Definition: TDAlphaTest(f1; ( global void)
0:138    Function Parameters: 
0:138      'alpha' ( in highp float)
0:140  Function Definition: TDHardShadow(i1;vf3; ( global highp float)
0:140    Function Parameters: 
0:140      'lightIndex' ( in highp int)
0:140      'worldSpacePos' ( in highp 3-component vector of float)
0:141    Sequence
0:141      Branch: Return with expression
0:141        Constant:
0:141          0.000000
0:142  Function Definition: TDSoftShadow(i1;vf3;i1;i1; ( global highp float)
0:142    Function Parameters: 
0:142      'lightIndex' ( in highp int)
0:142      'worldSpacePos' ( in highp 3-component vector of float)
0:142      'samples' ( in highp int)
0:142      'steps' ( in highp int)
0:143    Sequence
0:143      Branch: Return with expression
0:143        Constant:
0:143          0.000000
0:144  Function Definition: TDSoftShadow(i1;vf3; ( global highp float)
0:144    Function Parameters: 
0:144      'lightIndex' ( in highp int)
0:144      'worldSpacePos' ( in highp 3-component vector of float)
0:145    Sequence
0:145      Branch: Return with expression
0:145        Constant:
0:145          0.000000
0:146  Function Definition: TDShadow(i1;vf3; ( global highp float)
0:146    Function Parameters: 
0:146      'lightIndex' ( in highp int)
0:146      'worldSpacePos' ( in highp 3-component vector of float)
0:147    Sequence
0:147      Branch: Return with expression
0:147        Constant:
0:147          0.000000
0:152  Function Definition: iTDRadicalInverse_VdC(u1; ( global highp float)
0:152    Function Parameters: 
0:152      'bits' ( in highp uint)
0:154    Sequence
0:154      move second child to first child ( temp highp uint)
0:154        'bits' ( in highp uint)
0:154        inclusive-or ( temp highp uint)
0:154          left-shift ( temp highp uint)
0:154            'bits' ( in highp uint)
0:154            Constant:
0:154              16 (const uint)
0:154          right-shift ( temp highp uint)
0:154            'bits' ( in highp uint)
0:154            Constant:
0:154              16 (const uint)
0:155      move second child to first child ( temp highp uint)
0:155        'bits' ( in highp uint)
0:155        inclusive-or ( temp highp uint)
0:155          left-shift ( temp highp uint)
0:155            bitwise and ( temp highp uint)
0:155              'bits' ( in highp uint)
0:155              Constant:
0:155                1431655765 (const uint)
0:155            Constant:
0:155              1 (const uint)
0:155          right-shift ( temp highp uint)
0:155            bitwise and ( temp highp uint)
0:155              'bits' ( in highp uint)
0:155              Constant:
0:155                2863311530 (const uint)
0:155            Constant:
0:155              1 (const uint)
0:156      move second child to first child ( temp highp uint)
0:156        'bits' ( in highp uint)
0:156        inclusive-or ( temp highp uint)
0:156          left-shift ( temp highp uint)
0:156            bitwise and ( temp highp uint)
0:156              'bits' ( in highp uint)
0:156              Constant:
0:156                858993459 (const uint)
0:156            Constant:
0:156              2 (const uint)
0:156          right-shift ( temp highp uint)
0:156            bitwise and ( temp highp uint)
0:156              'bits' ( in highp uint)
0:156              Constant:
0:156                3435973836 (const uint)
0:156            Constant:
0:156              2 (const uint)
0:157      move second child to first child ( temp highp uint)
0:157        'bits' ( in highp uint)
0:157        inclusive-or ( temp highp uint)
0:157          left-shift ( temp highp uint)
0:157            bitwise and ( temp highp uint)
0:157              'bits' ( in highp uint)
0:157              Constant:
0:157                252645135 (const uint)
0:157            Constant:
0:157              4 (const uint)
0:157          right-shift ( temp highp uint)
0:157            bitwise and ( temp highp uint)
0:157              'bits' ( in highp uint)
0:157              Constant:
0:157                4042322160 (const uint)
0:157            Constant:
0:157              4 (const uint)
0:158      move second child to first child ( temp highp uint)
0:158        'bits' ( in highp uint)
0:158        inclusive-or ( temp highp uint)
0:158          left-shift ( temp highp uint)
0:158            bitwise and ( temp highp uint)
0:158              'bits' ( in highp uint)
0:158              Constant:
0:158                16711935 (const uint)
0:158            Constant:
0:158              8 (const uint)
0:158          right-shift ( temp highp uint)
0:158            bitwise and ( temp highp uint)
0:158              'bits' ( in highp uint)
0:158              Constant:
0:158                4278255360 (const uint)
0:158            Constant:
0:158              8 (const uint)
0:159      Branch: Return with expression
0:159        component-wise multiply ( temp highp float)
0:159          Convert uint to float ( temp highp float)
0:159            'bits' ( in highp uint)
0:159          Constant:
0:159            2.3283064365387e-10
0:161  Function Definition: iTDHammersley(u1;u1; ( global highp 2-component vector of float)
0:161    Function Parameters: 
0:161      'i' ( in highp uint)
0:161      'N' ( in highp uint)
0:163    Sequence
0:163      Branch: Return with expression
0:163        Construct vec2 ( temp highp 2-component vector of float)
0:163          divide ( temp highp float)
0:163            Convert uint to float ( temp highp float)
0:163              'i' ( in highp uint)
0:163            Convert uint to float ( temp highp float)
0:163              'N' ( in highp uint)
0:163          Function Call: iTDRadicalInverse_VdC(u1; ( global highp float)
0:163            'i' ( in highp uint)
0:165  Function Definition: iTDImportanceSampleGGX(vf2;f1;vf3; ( global highp 3-component vector of float)
0:165    Function Parameters: 
0:165      'Xi' ( in highp 2-component vector of float)
0:165      'roughness2' ( in highp float)
0:165      'N' ( in highp 3-component vector of float)
0:167    Sequence
0:167      Sequence
0:167        move second child to first child ( temp highp float)
0:167          'a' ( temp highp float)
0:167          'roughness2' ( in highp float)
0:168      Sequence
0:168        move second child to first child ( temp highp float)
0:168          'phi' ( temp highp float)
0:168          component-wise multiply ( temp highp float)
0:168            Constant:
0:168              6.283185
0:168            direct index ( temp highp float)
0:168              'Xi' ( in highp 2-component vector of float)
0:168              Constant:
0:168                0 (const int)
0:169      Sequence
0:169        move second child to first child ( temp highp float)
0:169          'cosTheta' ( temp highp float)
0:169          sqrt ( global highp float)
0:169            divide ( temp highp float)
0:169              subtract ( temp highp float)
0:169                Constant:
0:169                  1.000000
0:169                direct index ( temp highp float)
0:169                  'Xi' ( in highp 2-component vector of float)
0:169                  Constant:
0:169                    1 (const int)
0:169              add ( temp highp float)
0:169                Constant:
0:169                  1.000000
0:169                component-wise multiply ( temp highp float)
0:169                  subtract ( temp highp float)
0:169                    component-wise multiply ( temp highp float)
0:169                      'a' ( temp highp float)
0:169                      'a' ( temp highp float)
0:169                    Constant:
0:169                      1.000000
0:169                  direct index ( temp highp float)
0:169                    'Xi' ( in highp 2-component vector of float)
0:169                    Constant:
0:169                      1 (const int)
0:170      Sequence
0:170        move second child to first child ( temp highp float)
0:170          'sinTheta' ( temp highp float)
0:170          sqrt ( global highp float)
0:170            subtract ( temp highp float)
0:170              Constant:
0:170                1.000000
0:170              component-wise multiply ( temp highp float)
0:170                'cosTheta' ( temp highp float)
0:170                'cosTheta' ( temp highp float)
0:173      move second child to first child ( temp highp float)
0:173        direct index ( temp highp float)
0:173          'H' ( temp highp 3-component vector of float)
0:173          Constant:
0:173            0 (const int)
0:173        component-wise multiply ( temp highp float)
0:173          'sinTheta' ( temp highp float)
0:173          cosine ( global highp float)
0:173            'phi' ( temp highp float)
0:174      move second child to first child ( temp highp float)
0:174        direct index ( temp highp float)
0:174          'H' ( temp highp 3-component vector of float)
0:174          Constant:
0:174            1 (const int)
0:174        component-wise multiply ( temp highp float)
0:174          'sinTheta' ( temp highp float)
0:174          sine ( global highp float)
0:174            'phi' ( temp highp float)
0:175      move second child to first child ( temp highp float)
0:175        direct index ( temp highp float)
0:175          'H' ( temp highp 3-component vector of float)
0:175          Constant:
0:175            2 (const int)
0:175        'cosTheta' ( temp highp float)
0:177      Sequence
0:177        move second child to first child ( temp highp 3-component vector of float)
0:177          'upVector' ( temp highp 3-component vector of float)
0:177          Test condition and select ( temp highp 3-component vector of float)
0:177            Condition
0:177            Compare Less Than ( temp bool)
0:177              Absolute value ( global highp float)
0:177                direct index ( temp highp float)
0:177                  'N' ( in highp 3-component vector of float)
0:177                  Constant:
0:177                    2 (const int)
0:177              Constant:
0:177                0.999000
0:177            true case
0:177            Constant:
0:177              0.000000
0:177              0.000000
0:177              1.000000
0:177            false case
0:177            Constant:
0:177              1.000000
0:177              0.000000
0:177              0.000000
0:178      Sequence
0:178        move second child to first child ( temp highp 3-component vector of float)
0:178          'tangentX' ( temp highp 3-component vector of float)
0:178          normalize ( global highp 3-component vector of float)
0:178            cross-product ( global highp 3-component vector of float)
0:178              'upVector' ( temp highp 3-component vector of float)
0:178              'N' ( in highp 3-component vector of float)
0:179      Sequence
0:179        move second child to first child ( temp highp 3-component vector of float)
0:179          'tangentY' ( temp highp 3-component vector of float)
0:179          cross-product ( global highp 3-component vector of float)
0:179            'N' ( in highp 3-component vector of float)
0:179            'tangentX' ( temp highp 3-component vector of float)
0:182      Sequence
0:182        move second child to first child ( temp highp 3-component vector of float)
0:182          'worldResult' ( temp highp 3-component vector of float)
0:182          add ( temp highp 3-component vector of float)
0:182            add ( temp highp 3-component vector of float)
0:182              vector-scale ( temp highp 3-component vector of float)
0:182                'tangentX' ( temp highp 3-component vector of float)
0:182                direct index ( temp highp float)
0:182                  'H' ( temp highp 3-component vector of float)
0:182                  Constant:
0:182                    0 (const int)
0:182              vector-scale ( temp highp 3-component vector of float)
0:182                'tangentY' ( temp highp 3-component vector of float)
0:182                direct index ( temp highp float)
0:182                  'H' ( temp highp 3-component vector of float)
0:182                  Constant:
0:182                    1 (const int)
0:182            vector-scale ( temp highp 3-component vector of float)
0:182              'N' ( in highp 3-component vector of float)
0:182              direct index ( temp highp float)
0:182                'H' ( temp highp 3-component vector of float)
0:182                Constant:
0:182                  2 (const int)
0:183      Branch: Return with expression
0:183        'worldResult' ( temp highp 3-component vector of float)
0:185  Function Definition: iTDDistributionGGX(vf3;vf3;f1; ( global highp float)
0:185    Function Parameters: 
0:185      'normal' ( in highp 3-component vector of float)
0:185      'half_vector' ( in highp 3-component vector of float)
0:185      'roughness2' ( in highp float)
0:?     Sequence
0:189      Sequence
0:189        move second child to first child ( temp highp float)
0:189          'NdotH' ( temp highp float)
0:189          clamp ( global highp float)
0:189            dot-product ( global highp float)
0:189              'normal' ( in highp 3-component vector of float)
0:189              'half_vector' ( in highp 3-component vector of float)
0:189            Constant:
0:189              1.0000000000000e-06
0:189            Constant:
0:189              1.000000
0:191      Sequence
0:191        move second child to first child ( temp highp float)
0:191          'alpha2' ( temp highp float)
0:191          component-wise multiply ( temp highp float)
0:191            'roughness2' ( in highp float)
0:191            'roughness2' ( in highp float)
0:193      Sequence
0:193        move second child to first child ( temp highp float)
0:193          'denom' ( temp highp float)
0:193          add ( temp highp float)
0:193            component-wise multiply ( temp highp float)
0:193              component-wise multiply ( temp highp float)
0:193                'NdotH' ( temp highp float)
0:193                'NdotH' ( temp highp float)
0:193              subtract ( temp highp float)
0:193                'alpha2' ( temp highp float)
0:193                Constant:
0:193                  1.000000
0:193            Constant:
0:193              1.000000
0:194      move second child to first child ( temp highp float)
0:194        'denom' ( temp highp float)
0:194        max ( global highp float)
0:194          Constant:
0:194            1.0000000000000e-08
0:194          'denom' ( temp highp float)
0:195      Branch: Return with expression
0:195        divide ( temp highp float)
0:195          'alpha2' ( temp highp float)
0:195          component-wise multiply ( temp highp float)
0:195            component-wise multiply ( temp highp float)
0:195              Constant:
0:195                3.141593
0:195              'denom' ( temp highp float)
0:195            'denom' ( temp highp float)
0:197  Function Definition: iTDCalcF(vf3;f1; ( global highp 3-component vector of float)
0:197    Function Parameters: 
0:197      'F0' ( in highp 3-component vector of float)
0:197      'VdotH' ( in highp float)
0:198    Sequence
0:198      Branch: Return with expression
0:198        add ( temp highp 3-component vector of float)
0:198          'F0' ( in highp 3-component vector of float)
0:198          vector-scale ( temp highp 3-component vector of float)
0:198            subtract ( temp highp 3-component vector of float)
0:198              Constant:
0:198                1.000000
0:198                1.000000
0:198                1.000000
0:198              'F0' ( in highp 3-component vector of float)
0:198            pow ( global highp float)
0:198              Constant:
0:198                2.000000
0:198              component-wise multiply ( temp highp float)
0:198                subtract ( temp highp float)
0:198                  component-wise multiply ( temp highp float)
0:198                    Constant:
0:198                      -5.554730
0:198                    'VdotH' ( in highp float)
0:198                  Constant:
0:198                    6.983160
0:198                'VdotH' ( in highp float)
0:201  Function Definition: iTDCalcG(f1;f1;f1; ( global highp float)
0:201    Function Parameters: 
0:201      'NdotL' ( in highp float)
0:201      'NdotV' ( in highp float)
0:201      'k' ( in highp float)
0:202    Sequence
0:202      Sequence
0:202        move second child to first child ( temp highp float)
0:202          'Gl' ( temp highp float)
0:202          divide ( temp highp float)
0:202            Constant:
0:202              1.000000
0:202            add ( temp highp float)
0:202              component-wise multiply ( temp highp float)
0:202                'NdotL' ( in highp float)
0:202                subtract ( temp highp float)
0:202                  Constant:
0:202                    1.000000
0:202                  'k' ( in highp float)
0:202              'k' ( in highp float)
0:203      Sequence
0:203        move second child to first child ( temp highp float)
0:203          'Gv' ( temp highp float)
0:203          divide ( temp highp float)
0:203            Constant:
0:203              1.000000
0:203            add ( temp highp float)
0:203              component-wise multiply ( temp highp float)
0:203                'NdotV' ( in highp float)
0:203                subtract ( temp highp float)
0:203                  Constant:
0:203                    1.000000
0:203                  'k' ( in highp float)
0:203              'k' ( in highp float)
0:204      Branch: Return with expression
0:204        component-wise multiply ( temp highp float)
0:204          'Gl' ( temp highp float)
0:204          'Gv' ( temp highp float)
0:207  Function Definition: TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:207    Function Parameters: 
0:207      'index' ( in highp int)
0:207      'diffuseColor' ( in highp 3-component vector of float)
0:207      'specularColor' ( in highp 3-component vector of float)
0:207      'worldSpacePos' ( in highp 3-component vector of float)
0:207      'normal' ( in highp 3-component vector of float)
0:207      'shadowStrength' ( in highp float)
0:207      'shadowColor' ( in highp 3-component vector of float)
0:207      'camVector' ( in highp 3-component vector of float)
0:207      'roughness' ( in highp float)
0:?     Sequence
0:210      Branch: Return with expression
0:210        'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:213  Function Definition: TDLightingPBR(vf3;vf3;f1;i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global void)
0:213    Function Parameters: 
0:213      'diffuseContrib' ( inout highp 3-component vector of float)
0:213      'specularContrib' ( inout highp 3-component vector of float)
0:213      'shadowStrengthOut' ( inout highp float)
0:213      'index' ( in highp int)
0:213      'diffuseColor' ( in highp 3-component vector of float)
0:213      'specularColor' ( in highp 3-component vector of float)
0:213      'worldSpacePos' ( in highp 3-component vector of float)
0:213      'normal' ( in highp 3-component vector of float)
0:213      'shadowStrength' ( in highp float)
0:213      'shadowColor' ( in highp 3-component vector of float)
0:213      'camVector' ( in highp 3-component vector of float)
0:213      'roughness' ( in highp float)
0:215    Sequence
0:215      Sequence
0:215        move second child to first child ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:215          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:215          Function Call: TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:215            'index' ( in highp int)
0:215            'diffuseColor' ( in highp 3-component vector of float)
0:215            'specularColor' ( in highp 3-component vector of float)
0:215            'worldSpacePos' ( in highp 3-component vector of float)
0:215            'normal' ( in highp 3-component vector of float)
0:215            'shadowStrength' ( in highp float)
0:215            'shadowColor' ( in highp 3-component vector of float)
0:215            'camVector' ( in highp 3-component vector of float)
0:215            'roughness' ( in highp float)
0:215      move second child to first child ( temp highp 3-component vector of float)
0:215        'diffuseContrib' ( inout highp 3-component vector of float)
0:215        diffuse: direct index for structure ( global highp 3-component vector of float)
0:215          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:215          Constant:
0:215            0 (const int)
0:216      move second child to first child ( temp highp 3-component vector of float)
0:216        'specularContrib' ( inout highp 3-component vector of float)
0:216        specular: direct index for structure ( global highp 3-component vector of float)
0:216          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:216          Constant:
0:216            1 (const int)
0:217      move second child to first child ( temp highp float)
0:217        'shadowStrengthOut' ( inout highp float)
0:217        shadowStrength: direct index for structure ( global highp float)
0:217          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:217          Constant:
0:217            2 (const int)
0:220  Function Definition: TDLightingPBR(vf3;vf3;i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global void)
0:220    Function Parameters: 
0:220      'diffuseContrib' ( inout highp 3-component vector of float)
0:220      'specularContrib' ( inout highp 3-component vector of float)
0:220      'index' ( in highp int)
0:220      'diffuseColor' ( in highp 3-component vector of float)
0:220      'specularColor' ( in highp 3-component vector of float)
0:220      'worldSpacePos' ( in highp 3-component vector of float)
0:220      'normal' ( in highp 3-component vector of float)
0:220      'shadowStrength' ( in highp float)
0:220      'shadowColor' ( in highp 3-component vector of float)
0:220      'camVector' ( in highp 3-component vector of float)
0:220      'roughness' ( in highp float)
0:222    Sequence
0:222      Sequence
0:222        move second child to first child ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:222          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:222          Function Call: TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:222            'index' ( in highp int)
0:222            'diffuseColor' ( in highp 3-component vector of float)
0:222            'specularColor' ( in highp 3-component vector of float)
0:222            'worldSpacePos' ( in highp 3-component vector of float)
0:222            'normal' ( in highp 3-component vector of float)
0:222            'shadowStrength' ( in highp float)
0:222            'shadowColor' ( in highp 3-component vector of float)
0:222            'camVector' ( in highp 3-component vector of float)
0:222            'roughness' ( in highp float)
0:222      move second child to first child ( temp highp 3-component vector of float)
0:222        'diffuseContrib' ( inout highp 3-component vector of float)
0:222        diffuse: direct index for structure ( global highp 3-component vector of float)
0:222          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:222          Constant:
0:222            0 (const int)
0:223      move second child to first child ( temp highp 3-component vector of float)
0:223        'specularContrib' ( inout highp 3-component vector of float)
0:223        specular: direct index for structure ( global highp 3-component vector of float)
0:223          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:223          Constant:
0:223            1 (const int)
0:226  Function Definition: TDEnvLightingPBR(i1;vf3;vf3;vf3;vf3;f1;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:226    Function Parameters: 
0:226      'index' ( in highp int)
0:226      'diffuseColor' ( in highp 3-component vector of float)
0:226      'specularColor' ( in highp 3-component vector of float)
0:226      'normal' ( in highp 3-component vector of float)
0:226      'camVector' ( in highp 3-component vector of float)
0:226      'roughness' ( in highp float)
0:226      'ambientOcclusion' ( in highp float)
0:?     Sequence
0:229      Branch: Return with expression
0:229        'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:232  Function Definition: TDEnvLightingPBR(vf3;vf3;i1;vf3;vf3;vf3;vf3;f1;f1; ( global void)
0:232    Function Parameters: 
0:232      'diffuseContrib' ( inout highp 3-component vector of float)
0:232      'specularContrib' ( inout highp 3-component vector of float)
0:232      'index' ( in highp int)
0:232      'diffuseColor' ( in highp 3-component vector of float)
0:232      'specularColor' ( in highp 3-component vector of float)
0:232      'normal' ( in highp 3-component vector of float)
0:232      'camVector' ( in highp 3-component vector of float)
0:232      'roughness' ( in highp float)
0:232      'ambientOcclusion' ( in highp float)
0:234    Sequence
0:234      Sequence
0:234        move second child to first child ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:234          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:234          Function Call: TDEnvLightingPBR(i1;vf3;vf3;vf3;vf3;f1;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:234            'index' ( in highp int)
0:234            'diffuseColor' ( in highp 3-component vector of float)
0:234            'specularColor' ( in highp 3-component vector of float)
0:234            'normal' ( in highp 3-component vector of float)
0:234            'camVector' ( in highp 3-component vector of float)
0:234            'roughness' ( in highp float)
0:234            'ambientOcclusion' ( in highp float)
0:235      move second child to first child ( temp highp 3-component vector of float)
0:235        'diffuseContrib' ( inout highp 3-component vector of float)
0:235        diffuse: direct index for structure ( global highp 3-component vector of float)
0:235          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:235          Constant:
0:235            0 (const int)
0:236      move second child to first child ( temp highp 3-component vector of float)
0:236        'specularContrib' ( inout highp 3-component vector of float)
0:236        specular: direct index for structure ( global highp 3-component vector of float)
0:236          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:236          Constant:
0:236            1 (const int)
0:239  Function Definition: TDLighting(i1;vf3;vf3;f1;vf3;vf3;f1;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:239    Function Parameters: 
0:239      'index' ( in highp int)
0:239      'worldSpacePos' ( in highp 3-component vector of float)
0:239      'normal' ( in highp 3-component vector of float)
0:239      'shadowStrength' ( in highp float)
0:239      'shadowColor' ( in highp 3-component vector of float)
0:239      'camVector' ( in highp 3-component vector of float)
0:239      'shininess' ( in highp float)
0:239      'shininess2' ( in highp float)
0:?     Sequence
0:242      switch
0:242      condition
0:242        'index' ( in highp int)
0:242      body
0:242        Sequence
0:244          default: 
0:?           Sequence
0:245            move second child to first child ( temp highp 3-component vector of float)
0:245              diffuse: direct index for structure ( global highp 3-component vector of float)
0:245                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:245                Constant:
0:245                  0 (const int)
0:245              Constant:
0:245                0.000000
0:245                0.000000
0:245                0.000000
0:246            move second child to first child ( temp highp 3-component vector of float)
0:246              specular: direct index for structure ( global highp 3-component vector of float)
0:246                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:246                Constant:
0:246                  1 (const int)
0:246              Constant:
0:246                0.000000
0:246                0.000000
0:246                0.000000
0:247            move second child to first child ( temp highp 3-component vector of float)
0:247              specular2: direct index for structure ( global highp 3-component vector of float)
0:247                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:247                Constant:
0:247                  2 (const int)
0:247              Constant:
0:247                0.000000
0:247                0.000000
0:247                0.000000
0:248            move second child to first child ( temp highp float)
0:248              shadowStrength: direct index for structure ( global highp float)
0:248                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:248                Constant:
0:248                  3 (const int)
0:248              Constant:
0:248                0.000000
0:249            Branch: Break
0:251      Branch: Return with expression
0:251        'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:254  Function Definition: TDLighting(vf3;vf3;vf3;f1;i1;vf3;vf3;f1;vf3;vf3;f1;f1; ( global void)
0:254    Function Parameters: 
0:254      'diffuseContrib' ( inout highp 3-component vector of float)
0:254      'specularContrib' ( inout highp 3-component vector of float)
0:254      'specularContrib2' ( inout highp 3-component vector of float)
0:254      'shadowStrengthOut' ( inout highp float)
0:254      'index' ( in highp int)
0:254      'worldSpacePos' ( in highp 3-component vector of float)
0:254      'normal' ( in highp 3-component vector of float)
0:254      'shadowStrength' ( in highp float)
0:254      'shadowColor' ( in highp 3-component vector of float)
0:254      'camVector' ( in highp 3-component vector of float)
0:254      'shininess' ( in highp float)
0:254      'shininess2' ( in highp float)
0:?     Sequence
0:257      switch
0:257      condition
0:257        'index' ( in highp int)
0:257      body
0:257        Sequence
0:259          default: 
0:?           Sequence
0:260            move second child to first child ( temp highp 3-component vector of float)
0:260              diffuse: direct index for structure ( global highp 3-component vector of float)
0:260                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:260                Constant:
0:260                  0 (const int)
0:260              Constant:
0:260                0.000000
0:260                0.000000
0:260                0.000000
0:261            move second child to first child ( temp highp 3-component vector of float)
0:261              specular: direct index for structure ( global highp 3-component vector of float)
0:261                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:261                Constant:
0:261                  1 (const int)
0:261              Constant:
0:261                0.000000
0:261                0.000000
0:261                0.000000
0:262            move second child to first child ( temp highp 3-component vector of float)
0:262              specular2: direct index for structure ( global highp 3-component vector of float)
0:262                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:262                Constant:
0:262                  2 (const int)
0:262              Constant:
0:262                0.000000
0:262                0.000000
0:262                0.000000
0:263            move second child to first child ( temp highp float)
0:263              shadowStrength: direct index for structure ( global highp float)
0:263                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:263                Constant:
0:263                  3 (const int)
0:263              Constant:
0:263                0.000000
0:264            Branch: Break
0:266      move second child to first child ( temp highp 3-component vector of float)
0:266        'diffuseContrib' ( inout highp 3-component vector of float)
0:266        diffuse: direct index for structure ( global highp 3-component vector of float)
0:266          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:266          Constant:
0:266            0 (const int)
0:267      move second child to first child ( temp highp 3-component vector of float)
0:267        'specularContrib' ( inout highp 3-component vector of float)
0:267        specular: direct index for structure ( global highp 3-component vector of float)
0:267          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:267          Constant:
0:267            1 (const int)
0:268      move second child to first child ( temp highp 3-component vector of float)
0:268        'specularContrib2' ( inout highp 3-component vector of float)
0:268        specular2: direct index for structure ( global highp 3-component vector of float)
0:268          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:268          Constant:
0:268            2 (const int)
0:269      move second child to first child ( temp highp float)
0:269        'shadowStrengthOut' ( inout highp float)
0:269        shadowStrength: direct index for structure ( global highp float)
0:269          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:269          Constant:
0:269            3 (const int)
0:272  Function Definition: TDLighting(vf3;vf3;vf3;i1;vf3;vf3;f1;vf3;vf3;f1;f1; ( global void)
0:272    Function Parameters: 
0:272      'diffuseContrib' ( inout highp 3-component vector of float)
0:272      'specularContrib' ( inout highp 3-component vector of float)
0:272      'specularContrib2' ( inout highp 3-component vector of float)
0:272      'index' ( in highp int)
0:272      'worldSpacePos' ( in highp 3-component vector of float)
0:272      'normal' ( in highp 3-component vector of float)
0:272      'shadowStrength' ( in highp float)
0:272      'shadowColor' ( in highp 3-component vector of float)
0:272      'camVector' ( in highp 3-component vector of float)
0:272      'shininess' ( in highp float)
0:272      'shininess2' ( in highp float)
0:?     Sequence
0:275      switch
0:275      condition
0:275        'index' ( in highp int)
0:275      body
0:275        Sequence
0:277          default: 
0:?           Sequence
0:278            move second child to first child ( temp highp 3-component vector of float)
0:278              diffuse: direct index for structure ( global highp 3-component vector of float)
0:278                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:278                Constant:
0:278                  0 (const int)
0:278              Constant:
0:278                0.000000
0:278                0.000000
0:278                0.000000
0:279            move second child to first child ( temp highp 3-component vector of float)
0:279              specular: direct index for structure ( global highp 3-component vector of float)
0:279                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:279                Constant:
0:279                  1 (const int)
0:279              Constant:
0:279                0.000000
0:279                0.000000
0:279                0.000000
0:280            move second child to first child ( temp highp 3-component vector of float)
0:280              specular2: direct index for structure ( global highp 3-component vector of float)
0:280                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:280                Constant:
0:280                  2 (const int)
0:280              Constant:
0:280                0.000000
0:280                0.000000
0:280                0.000000
0:281            move second child to first child ( temp highp float)
0:281              shadowStrength: direct index for structure ( global highp float)
0:281                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:281                Constant:
0:281                  3 (const int)
0:281              Constant:
0:281                0.000000
0:282            Branch: Break
0:284      move second child to first child ( temp highp 3-component vector of float)
0:284        'diffuseContrib' ( inout highp 3-component vector of float)
0:284        diffuse: direct index for structure ( global highp 3-component vector of float)
0:284          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:284          Constant:
0:284            0 (const int)
0:285      move second child to first child ( temp highp 3-component vector of float)
0:285        'specularContrib' ( inout highp 3-component vector of float)
0:285        specular: direct index for structure ( global highp 3-component vector of float)
0:285          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:285          Constant:
0:285            1 (const int)
0:286      move second child to first child ( temp highp 3-component vector of float)
0:286        'specularContrib2' ( inout highp 3-component vector of float)
0:286        specular2: direct index for structure ( global highp 3-component vector of float)
0:286          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:286          Constant:
0:286            2 (const int)
0:289  Function Definition: TDLighting(vf3;vf3;i1;vf3;vf3;f1;vf3;vf3;f1; ( global void)
0:289    Function Parameters: 
0:289      'diffuseContrib' ( inout highp 3-component vector of float)
0:289      'specularContrib' ( inout highp 3-component vector of float)
0:289      'index' ( in highp int)
0:289      'worldSpacePos' ( in highp 3-component vector of float)
0:289      'normal' ( in highp 3-component vector of float)
0:289      'shadowStrength' ( in highp float)
0:289      'shadowColor' ( in highp 3-component vector of float)
0:289      'camVector' ( in highp 3-component vector of float)
0:289      'shininess' ( in highp float)
0:?     Sequence
0:292      switch
0:292      condition
0:292        'index' ( in highp int)
0:292      body
0:292        Sequence
0:294          default: 
0:?           Sequence
0:295            move second child to first child ( temp highp 3-component vector of float)
0:295              diffuse: direct index for structure ( global highp 3-component vector of float)
0:295                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:295                Constant:
0:295                  0 (const int)
0:295              Constant:
0:295                0.000000
0:295                0.000000
0:295                0.000000
0:296            move second child to first child ( temp highp 3-component vector of float)
0:296              specular: direct index for structure ( global highp 3-component vector of float)
0:296                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:296                Constant:
0:296                  1 (const int)
0:296              Constant:
0:296                0.000000
0:296                0.000000
0:296                0.000000
0:297            move second child to first child ( temp highp 3-component vector of float)
0:297              specular2: direct index for structure ( global highp 3-component vector of float)
0:297                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:297                Constant:
0:297                  2 (const int)
0:297              Constant:
0:297                0.000000
0:297                0.000000
0:297                0.000000
0:298            move second child to first child ( temp highp float)
0:298              shadowStrength: direct index for structure ( global highp float)
0:298                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:298                Constant:
0:298                  3 (const int)
0:298              Constant:
0:298                0.000000
0:299            Branch: Break
0:301      move second child to first child ( temp highp 3-component vector of float)
0:301        'diffuseContrib' ( inout highp 3-component vector of float)
0:301        diffuse: direct index for structure ( global highp 3-component vector of float)
0:301          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:301          Constant:
0:301            0 (const int)
0:302      move second child to first child ( temp highp 3-component vector of float)
0:302        'specularContrib' ( inout highp 3-component vector of float)
0:302        specular: direct index for structure ( global highp 3-component vector of float)
0:302          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:302          Constant:
0:302            1 (const int)
0:305  Function Definition: TDLighting(vf3;vf3;vf3;i1;vf3;vf3;vf3;f1;f1; ( global void)
0:305    Function Parameters: 
0:305      'diffuseContrib' ( inout highp 3-component vector of float)
0:305      'specularContrib' ( inout highp 3-component vector of float)
0:305      'specularContrib2' ( inout highp 3-component vector of float)
0:305      'index' ( in highp int)
0:305      'worldSpacePos' ( in highp 3-component vector of float)
0:305      'normal' ( in highp 3-component vector of float)
0:305      'camVector' ( in highp 3-component vector of float)
0:305      'shininess' ( in highp float)
0:305      'shininess2' ( in highp float)
0:?     Sequence
0:308      switch
0:308      condition
0:308        'index' ( in highp int)
0:308      body
0:308        Sequence
0:310          default: 
0:?           Sequence
0:311            move second child to first child ( temp highp 3-component vector of float)
0:311              diffuse: direct index for structure ( global highp 3-component vector of float)
0:311                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:311                Constant:
0:311                  0 (const int)
0:311              Constant:
0:311                0.000000
0:311                0.000000
0:311                0.000000
0:312            move second child to first child ( temp highp 3-component vector of float)
0:312              specular: direct index for structure ( global highp 3-component vector of float)
0:312                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:312                Constant:
0:312                  1 (const int)
0:312              Constant:
0:312                0.000000
0:312                0.000000
0:312                0.000000
0:313            move second child to first child ( temp highp 3-component vector of float)
0:313              specular2: direct index for structure ( global highp 3-component vector of float)
0:313                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:313                Constant:
0:313                  2 (const int)
0:313              Constant:
0:313                0.000000
0:313                0.000000
0:313                0.000000
0:314            move second child to first child ( temp highp float)
0:314              shadowStrength: direct index for structure ( global highp float)
0:314                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:314                Constant:
0:314                  3 (const int)
0:314              Constant:
0:314                0.000000
0:315            Branch: Break
0:317      move second child to first child ( temp highp 3-component vector of float)
0:317        'diffuseContrib' ( inout highp 3-component vector of float)
0:317        diffuse: direct index for structure ( global highp 3-component vector of float)
0:317          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:317          Constant:
0:317            0 (const int)
0:318      move second child to first child ( temp highp 3-component vector of float)
0:318        'specularContrib' ( inout highp 3-component vector of float)
0:318        specular: direct index for structure ( global highp 3-component vector of float)
0:318          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:318          Constant:
0:318            1 (const int)
0:319      move second child to first child ( temp highp 3-component vector of float)
0:319        'specularContrib2' ( inout highp 3-component vector of float)
0:319        specular2: direct index for structure ( global highp 3-component vector of float)
0:319          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:319          Constant:
0:319            2 (const int)
0:322  Function Definition: TDLighting(vf3;vf3;i1;vf3;vf3;vf3;f1; ( global void)
0:322    Function Parameters: 
0:322      'diffuseContrib' ( inout highp 3-component vector of float)
0:322      'specularContrib' ( inout highp 3-component vector of float)
0:322      'index' ( in highp int)
0:322      'worldSpacePos' ( in highp 3-component vector of float)
0:322      'normal' ( in highp 3-component vector of float)
0:322      'camVector' ( in highp 3-component vector of float)
0:322      'shininess' ( in highp float)
0:?     Sequence
0:325      switch
0:325      condition
0:325        'index' ( in highp int)
0:325      body
0:325        Sequence
0:327          default: 
0:?           Sequence
0:328            move second child to first child ( temp highp 3-component vector of float)
0:328              diffuse: direct index for structure ( global highp 3-component vector of float)
0:328                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:328                Constant:
0:328                  0 (const int)
0:328              Constant:
0:328                0.000000
0:328                0.000000
0:328                0.000000
0:329            move second child to first child ( temp highp 3-component vector of float)
0:329              specular: direct index for structure ( global highp 3-component vector of float)
0:329                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:329                Constant:
0:329                  1 (const int)
0:329              Constant:
0:329                0.000000
0:329                0.000000
0:329                0.000000
0:330            move second child to first child ( temp highp 3-component vector of float)
0:330              specular2: direct index for structure ( global highp 3-component vector of float)
0:330                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:330                Constant:
0:330                  2 (const int)
0:330              Constant:
0:330                0.000000
0:330                0.000000
0:330                0.000000
0:331            move second child to first child ( temp highp float)
0:331              shadowStrength: direct index for structure ( global highp float)
0:331                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:331                Constant:
0:331                  3 (const int)
0:331              Constant:
0:331                0.000000
0:332            Branch: Break
0:334      move second child to first child ( temp highp 3-component vector of float)
0:334        'diffuseContrib' ( inout highp 3-component vector of float)
0:334        diffuse: direct index for structure ( global highp 3-component vector of float)
0:334          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:334          Constant:
0:334            0 (const int)
0:335      move second child to first child ( temp highp 3-component vector of float)
0:335        'specularContrib' ( inout highp 3-component vector of float)
0:335        specular: direct index for structure ( global highp 3-component vector of float)
0:335          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:335          Constant:
0:335            1 (const int)
0:338  Function Definition: TDLighting(vf3;i1;vf3;vf3; ( global void)
0:338    Function Parameters: 
0:338      'diffuseContrib' ( inout highp 3-component vector of float)
0:338      'index' ( in highp int)
0:338      'worldSpacePos' ( in highp 3-component vector of float)
0:338      'normal' ( in highp 3-component vector of float)
0:?     Sequence
0:341      switch
0:341      condition
0:341        'index' ( in highp int)
0:341      body
0:341        Sequence
0:343          default: 
0:?           Sequence
0:344            move second child to first child ( temp highp 3-component vector of float)
0:344              diffuse: direct index for structure ( global highp 3-component vector of float)
0:344                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:344                Constant:
0:344                  0 (const int)
0:344              Constant:
0:344                0.000000
0:344                0.000000
0:344                0.000000
0:345            move second child to first child ( temp highp 3-component vector of float)
0:345              specular: direct index for structure ( global highp 3-component vector of float)
0:345                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:345                Constant:
0:345                  1 (const int)
0:345              Constant:
0:345                0.000000
0:345                0.000000
0:345                0.000000
0:346            move second child to first child ( temp highp 3-component vector of float)
0:346              specular2: direct index for structure ( global highp 3-component vector of float)
0:346                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:346                Constant:
0:346                  2 (const int)
0:346              Constant:
0:346                0.000000
0:346                0.000000
0:346                0.000000
0:347            move second child to first child ( temp highp float)
0:347              shadowStrength: direct index for structure ( global highp float)
0:347                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:347                Constant:
0:347                  3 (const int)
0:347              Constant:
0:347                0.000000
0:348            Branch: Break
0:350      move second child to first child ( temp highp 3-component vector of float)
0:350        'diffuseContrib' ( inout highp 3-component vector of float)
0:350        diffuse: direct index for structure ( global highp 3-component vector of float)
0:350          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:350          Constant:
0:350            0 (const int)
0:353  Function Definition: TDLighting(vf3;i1;vf3;vf3;f1;vf3; ( global void)
0:353    Function Parameters: 
0:353      'diffuseContrib' ( inout highp 3-component vector of float)
0:353      'index' ( in highp int)
0:353      'worldSpacePos' ( in highp 3-component vector of float)
0:353      'normal' ( in highp 3-component vector of float)
0:353      'shadowStrength' ( in highp float)
0:353      'shadowColor' ( in highp 3-component vector of float)
0:?     Sequence
0:356      switch
0:356      condition
0:356        'index' ( in highp int)
0:356      body
0:356        Sequence
0:358          default: 
0:?           Sequence
0:359            move second child to first child ( temp highp 3-component vector of float)
0:359              diffuse: direct index for structure ( global highp 3-component vector of float)
0:359                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:359                Constant:
0:359                  0 (const int)
0:359              Constant:
0:359                0.000000
0:359                0.000000
0:359                0.000000
0:360            move second child to first child ( temp highp 3-component vector of float)
0:360              specular: direct index for structure ( global highp 3-component vector of float)
0:360                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:360                Constant:
0:360                  1 (const int)
0:360              Constant:
0:360                0.000000
0:360                0.000000
0:360                0.000000
0:361            move second child to first child ( temp highp 3-component vector of float)
0:361              specular2: direct index for structure ( global highp 3-component vector of float)
0:361                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:361                Constant:
0:361                  2 (const int)
0:361              Constant:
0:361                0.000000
0:361                0.000000
0:361                0.000000
0:362            move second child to first child ( temp highp float)
0:362              shadowStrength: direct index for structure ( global highp float)
0:362                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:362                Constant:
0:362                  3 (const int)
0:362              Constant:
0:362                0.000000
0:363            Branch: Break
0:365      move second child to first child ( temp highp 3-component vector of float)
0:365        'diffuseContrib' ( inout highp 3-component vector of float)
0:365        diffuse: direct index for structure ( global highp 3-component vector of float)
0:365          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:365          Constant:
0:365            0 (const int)
0:367  Function Definition: TDProjMap(i1;vf3;vf4; ( global highp 4-component vector of float)
0:367    Function Parameters: 
0:367      'index' ( in highp int)
0:367      'worldSpacePos' ( in highp 3-component vector of float)
0:367      'defaultColor' ( in highp 4-component vector of float)
0:368    Sequence
0:368      switch
0:368      condition
0:368        'index' ( in highp int)
0:368      body
0:368        Sequence
0:370          default: 
0:?           Sequence
0:370            Branch: Return with expression
0:370              'defaultColor' ( in highp 4-component vector of float)
0:373  Function Definition: TDFog(vf4;vf3;i1; ( global highp 4-component vector of float)
0:373    Function Parameters: 
0:373      'color' ( in highp 4-component vector of float)
0:373      'lightingSpacePosition' ( in highp 3-component vector of float)
0:373      'cameraIndex' ( in highp int)
0:374    Sequence
0:374      switch
0:374      condition
0:374        'cameraIndex' ( in highp int)
0:374      body
0:374        Sequence
0:375          default: 
0:376          case:  with expression
0:376            Constant:
0:376              0 (const int)
0:?           Sequence
0:378            Sequence
0:378              Branch: Return with expression
0:378                'color' ( in highp 4-component vector of float)
0:382  Function Definition: TDFog(vf4;vf3; ( global highp 4-component vector of float)
0:382    Function Parameters: 
0:382      'color' ( in highp 4-component vector of float)
0:382      'lightingSpacePosition' ( in highp 3-component vector of float)
0:384    Sequence
0:384      Branch: Return with expression
0:384        Function Call: TDFog(vf4;vf3;i1; ( global highp 4-component vector of float)
0:384          'color' ( in highp 4-component vector of float)
0:384          'lightingSpacePosition' ( in highp 3-component vector of float)
0:384          Constant:
0:384            0 (const int)
0:386  Function Definition: TDInstanceTexCoord(i1;vf3; ( global highp 3-component vector of float)
0:386    Function Parameters: 
0:386      'index' ( in highp int)
0:386      't' ( in highp 3-component vector of float)
0:?     Sequence
0:388      Sequence
0:388        move second child to first child ( temp highp int)
0:388          'coord' ( temp highp int)
0:388          'index' ( in highp int)
0:389      Sequence
0:389        move second child to first child ( temp highp 4-component vector of float)
0:389          'samp' ( temp highp 4-component vector of float)
0:389          textureFetch ( global highp 4-component vector of float)
0:389            'sTDInstanceTexCoord' (layout( binding=16) uniform highp samplerBuffer)
0:389            'coord' ( temp highp int)
0:390      move second child to first child ( temp highp float)
0:390        direct index ( temp highp float)
0:390          'v' ( temp highp 3-component vector of float)
0:390          Constant:
0:390            0 (const int)
0:390        direct index ( temp highp float)
0:390          't' ( in highp 3-component vector of float)
0:390          Constant:
0:390            0 (const int)
0:391      move second child to first child ( temp highp float)
0:391        direct index ( temp highp float)
0:391          'v' ( temp highp 3-component vector of float)
0:391          Constant:
0:391            1 (const int)
0:391        direct index ( temp highp float)
0:391          't' ( in highp 3-component vector of float)
0:391          Constant:
0:391            1 (const int)
0:392      move second child to first child ( temp highp float)
0:392        direct index ( temp highp float)
0:392          'v' ( temp highp 3-component vector of float)
0:392          Constant:
0:392            2 (const int)
0:392        direct index ( temp highp float)
0:392          'samp' ( temp highp 4-component vector of float)
0:392          Constant:
0:392            0 (const int)
0:393      move second child to first child ( temp highp 3-component vector of float)
0:393        vector swizzle ( temp highp 3-component vector of float)
0:393          't' ( in highp 3-component vector of float)
0:393          Sequence
0:393            Constant:
0:393              0 (const int)
0:393            Constant:
0:393              1 (const int)
0:393            Constant:
0:393              2 (const int)
0:393        vector swizzle ( temp highp 3-component vector of float)
0:393          'v' ( temp highp 3-component vector of float)
0:393          Sequence
0:393            Constant:
0:393              0 (const int)
0:393            Constant:
0:393              1 (const int)
0:393            Constant:
0:393              2 (const int)
0:394      Branch: Return with expression
0:394        't' ( in highp 3-component vector of float)
0:396  Function Definition: TDInstanceActive(i1; ( global bool)
0:396    Function Parameters: 
0:396      'index' ( in highp int)
0:397    Sequence
0:397      subtract second child into first child ( temp highp int)
0:397        'index' ( in highp int)
0:397        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:397          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:397          Constant:
0:397            0 (const uint)
0:399      Sequence
0:399        move second child to first child ( temp highp int)
0:399          'coord' ( temp highp int)
0:399          'index' ( in highp int)
0:400      Sequence
0:400        move second child to first child ( temp highp 4-component vector of float)
0:400          'samp' ( temp highp 4-component vector of float)
0:400          textureFetch ( global highp 4-component vector of float)
0:400            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:400            'coord' ( temp highp int)
0:401      move second child to first child ( temp highp float)
0:401        'v' ( temp highp float)
0:401        direct index ( temp highp float)
0:401          'samp' ( temp highp 4-component vector of float)
0:401          Constant:
0:401            0 (const int)
0:402      Branch: Return with expression
0:402        Compare Not Equal ( temp bool)
0:402          'v' ( temp highp float)
0:402          Constant:
0:402            0.000000
0:404  Function Definition: iTDInstanceTranslate(i1;b1; ( global highp 3-component vector of float)
0:404    Function Parameters: 
0:404      'index' ( in highp int)
0:404      'instanceActive' ( out bool)
0:405    Sequence
0:405      Sequence
0:405        move second child to first child ( temp highp int)
0:405          'origIndex' ( temp highp int)
0:405          'index' ( in highp int)
0:406      subtract second child into first child ( temp highp int)
0:406        'index' ( in highp int)
0:406        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:406          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:406          Constant:
0:406            0 (const uint)
0:408      Sequence
0:408        move second child to first child ( temp highp int)
0:408          'coord' ( temp highp int)
0:408          'index' ( in highp int)
0:409      Sequence
0:409        move second child to first child ( temp highp 4-component vector of float)
0:409          'samp' ( temp highp 4-component vector of float)
0:409          textureFetch ( global highp 4-component vector of float)
0:409            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:409            'coord' ( temp highp int)
0:410      move second child to first child ( temp highp float)
0:410        direct index ( temp highp float)
0:410          'v' ( temp highp 3-component vector of float)
0:410          Constant:
0:410            0 (const int)
0:410        direct index ( temp highp float)
0:410          'samp' ( temp highp 4-component vector of float)
0:410          Constant:
0:410            1 (const int)
0:411      move second child to first child ( temp highp float)
0:411        direct index ( temp highp float)
0:411          'v' ( temp highp 3-component vector of float)
0:411          Constant:
0:411            1 (const int)
0:411        direct index ( temp highp float)
0:411          'samp' ( temp highp 4-component vector of float)
0:411          Constant:
0:411            2 (const int)
0:412      move second child to first child ( temp highp float)
0:412        direct index ( temp highp float)
0:412          'v' ( temp highp 3-component vector of float)
0:412          Constant:
0:412            2 (const int)
0:412        direct index ( temp highp float)
0:412          'samp' ( temp highp 4-component vector of float)
0:412          Constant:
0:412            3 (const int)
0:413      move second child to first child ( temp bool)
0:413        'instanceActive' ( out bool)
0:413        Compare Not Equal ( temp bool)
0:413          direct index ( temp highp float)
0:413            'samp' ( temp highp 4-component vector of float)
0:413            Constant:
0:413              0 (const int)
0:413          Constant:
0:413            0.000000
0:414      Branch: Return with expression
0:414        'v' ( temp highp 3-component vector of float)
0:416  Function Definition: TDInstanceTranslate(i1; ( global highp 3-component vector of float)
0:416    Function Parameters: 
0:416      'index' ( in highp int)
0:417    Sequence
0:417      subtract second child into first child ( temp highp int)
0:417        'index' ( in highp int)
0:417        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:417          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:417          Constant:
0:417            0 (const uint)
0:419      Sequence
0:419        move second child to first child ( temp highp int)
0:419          'coord' ( temp highp int)
0:419          'index' ( in highp int)
0:420      Sequence
0:420        move second child to first child ( temp highp 4-component vector of float)
0:420          'samp' ( temp highp 4-component vector of float)
0:420          textureFetch ( global highp 4-component vector of float)
0:420            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:420            'coord' ( temp highp int)
0:421      move second child to first child ( temp highp float)
0:421        direct index ( temp highp float)
0:421          'v' ( temp highp 3-component vector of float)
0:421          Constant:
0:421            0 (const int)
0:421        direct index ( temp highp float)
0:421          'samp' ( temp highp 4-component vector of float)
0:421          Constant:
0:421            1 (const int)
0:422      move second child to first child ( temp highp float)
0:422        direct index ( temp highp float)
0:422          'v' ( temp highp 3-component vector of float)
0:422          Constant:
0:422            1 (const int)
0:422        direct index ( temp highp float)
0:422          'samp' ( temp highp 4-component vector of float)
0:422          Constant:
0:422            2 (const int)
0:423      move second child to first child ( temp highp float)
0:423        direct index ( temp highp float)
0:423          'v' ( temp highp 3-component vector of float)
0:423          Constant:
0:423            2 (const int)
0:423        direct index ( temp highp float)
0:423          'samp' ( temp highp 4-component vector of float)
0:423          Constant:
0:423            3 (const int)
0:424      Branch: Return with expression
0:424        'v' ( temp highp 3-component vector of float)
0:426  Function Definition: TDInstanceRotateMat(i1; ( global highp 3X3 matrix of float)
0:426    Function Parameters: 
0:426      'index' ( in highp int)
0:427    Sequence
0:427      subtract second child into first child ( temp highp int)
0:427        'index' ( in highp int)
0:427        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:427          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:427          Constant:
0:427            0 (const uint)
0:428      Sequence
0:428        move second child to first child ( temp highp 3-component vector of float)
0:428          'v' ( temp highp 3-component vector of float)
0:428          Constant:
0:428            0.000000
0:428            0.000000
0:428            0.000000
0:429      Sequence
0:429        move second child to first child ( temp highp 3X3 matrix of float)
0:429          'm' ( temp highp 3X3 matrix of float)
0:429          Constant:
0:429            1.000000
0:429            0.000000
0:429            0.000000
0:429            0.000000
0:429            1.000000
0:429            0.000000
0:429            0.000000
0:429            0.000000
0:429            1.000000
0:433      Branch: Return with expression
0:433        'm' ( temp highp 3X3 matrix of float)
0:435  Function Definition: TDInstanceScale(i1; ( global highp 3-component vector of float)
0:435    Function Parameters: 
0:435      'index' ( in highp int)
0:436    Sequence
0:436      subtract second child into first child ( temp highp int)
0:436        'index' ( in highp int)
0:436        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:436          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:436          Constant:
0:436            0 (const uint)
0:437      Sequence
0:437        move second child to first child ( temp highp 3-component vector of float)
0:437          'v' ( temp highp 3-component vector of float)
0:437          Constant:
0:437            1.000000
0:437            1.000000
0:437            1.000000
0:438      Branch: Return with expression
0:438        'v' ( temp highp 3-component vector of float)
0:440  Function Definition: TDInstancePivot(i1; ( global highp 3-component vector of float)
0:440    Function Parameters: 
0:440      'index' ( in highp int)
0:441    Sequence
0:441      subtract second child into first child ( temp highp int)
0:441        'index' ( in highp int)
0:441        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:441          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:441          Constant:
0:441            0 (const uint)
0:442      Sequence
0:442        move second child to first child ( temp highp 3-component vector of float)
0:442          'v' ( temp highp 3-component vector of float)
0:442          Constant:
0:442            0.000000
0:442            0.000000
0:442            0.000000
0:443      Branch: Return with expression
0:443        'v' ( temp highp 3-component vector of float)
0:445  Function Definition: TDInstanceRotTo(i1; ( global highp 3-component vector of float)
0:445    Function Parameters: 
0:445      'index' ( in highp int)
0:446    Sequence
0:446      subtract second child into first child ( temp highp int)
0:446        'index' ( in highp int)
0:446        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:446          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:446          Constant:
0:446            0 (const uint)
0:447      Sequence
0:447        move second child to first child ( temp highp 3-component vector of float)
0:447          'v' ( temp highp 3-component vector of float)
0:447          Constant:
0:447            0.000000
0:447            0.000000
0:447            1.000000
0:448      Branch: Return with expression
0:448        'v' ( temp highp 3-component vector of float)
0:450  Function Definition: TDInstanceRotUp(i1; ( global highp 3-component vector of float)
0:450    Function Parameters: 
0:450      'index' ( in highp int)
0:451    Sequence
0:451      subtract second child into first child ( temp highp int)
0:451        'index' ( in highp int)
0:451        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:451          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:451          Constant:
0:451            0 (const uint)
0:452      Sequence
0:452        move second child to first child ( temp highp 3-component vector of float)
0:452          'v' ( temp highp 3-component vector of float)
0:452          Constant:
0:452            0.000000
0:452            1.000000
0:452            0.000000
0:453      Branch: Return with expression
0:453        'v' ( temp highp 3-component vector of float)
0:455  Function Definition: TDInstanceMat(i1; ( global highp 4X4 matrix of float)
0:455    Function Parameters: 
0:455      'id' ( in highp int)
0:456    Sequence
0:456      Sequence
0:456        move second child to first child ( temp bool)
0:456          'instanceActive' ( temp bool)
0:456          Constant:
0:456            true (const bool)
0:457      Sequence
0:457        move second child to first child ( temp highp 3-component vector of float)
0:457          't' ( temp highp 3-component vector of float)
0:457          Function Call: iTDInstanceTranslate(i1;b1; ( global highp 3-component vector of float)
0:457            'id' ( in highp int)
0:457            'instanceActive' ( temp bool)
0:458      Test condition and select ( temp void)
0:458        Condition
0:458        Negate conditional ( temp bool)
0:458          'instanceActive' ( temp bool)
0:458        true case
0:460        Sequence
0:460          Branch: Return with expression
0:460            Constant:
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:462      Sequence
0:462        move second child to first child ( temp highp 4X4 matrix of float)
0:462          'm' ( temp highp 4X4 matrix of float)
0:462          Constant:
0:462            1.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            1.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            1.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            1.000000
0:464      Sequence
0:464        Sequence
0:464          move second child to first child ( temp highp 3-component vector of float)
0:464            'tt' ( temp highp 3-component vector of float)
0:464            't' ( temp highp 3-component vector of float)
0:465        add second child into first child ( temp highp float)
0:465          direct index ( temp highp float)
0:465            direct index ( temp highp 4-component vector of float)
0:465              'm' ( temp highp 4X4 matrix of float)
0:465              Constant:
0:465                3 (const int)
0:465            Constant:
0:465              0 (const int)
0:465          component-wise multiply ( temp highp float)
0:465            direct index ( temp highp float)
0:465              direct index ( temp highp 4-component vector of float)
0:465                'm' ( temp highp 4X4 matrix of float)
0:465                Constant:
0:465                  0 (const int)
0:465              Constant:
0:465                0 (const int)
0:465            direct index ( temp highp float)
0:465              'tt' ( temp highp 3-component vector of float)
0:465              Constant:
0:465                0 (const int)
0:466        add second child into first child ( temp highp float)
0:466          direct index ( temp highp float)
0:466            direct index ( temp highp 4-component vector of float)
0:466              'm' ( temp highp 4X4 matrix of float)
0:466              Constant:
0:466                3 (const int)
0:466            Constant:
0:466              1 (const int)
0:466          component-wise multiply ( temp highp float)
0:466            direct index ( temp highp float)
0:466              direct index ( temp highp 4-component vector of float)
0:466                'm' ( temp highp 4X4 matrix of float)
0:466                Constant:
0:466                  0 (const int)
0:466              Constant:
0:466                1 (const int)
0:466            direct index ( temp highp float)
0:466              'tt' ( temp highp 3-component vector of float)
0:466              Constant:
0:466                0 (const int)
0:467        add second child into first child ( temp highp float)
0:467          direct index ( temp highp float)
0:467            direct index ( temp highp 4-component vector of float)
0:467              'm' ( temp highp 4X4 matrix of float)
0:467              Constant:
0:467                3 (const int)
0:467            Constant:
0:467              2 (const int)
0:467          component-wise multiply ( temp highp float)
0:467            direct index ( temp highp float)
0:467              direct index ( temp highp 4-component vector of float)
0:467                'm' ( temp highp 4X4 matrix of float)
0:467                Constant:
0:467                  0 (const int)
0:467              Constant:
0:467                2 (const int)
0:467            direct index ( temp highp float)
0:467              'tt' ( temp highp 3-component vector of float)
0:467              Constant:
0:467                0 (const int)
0:468        add second child into first child ( temp highp float)
0:468          direct index ( temp highp float)
0:468            direct index ( temp highp 4-component vector of float)
0:468              'm' ( temp highp 4X4 matrix of float)
0:468              Constant:
0:468                3 (const int)
0:468            Constant:
0:468              3 (const int)
0:468          component-wise multiply ( temp highp float)
0:468            direct index ( temp highp float)
0:468              direct index ( temp highp 4-component vector of float)
0:468                'm' ( temp highp 4X4 matrix of float)
0:468                Constant:
0:468                  0 (const int)
0:468              Constant:
0:468                3 (const int)
0:468            direct index ( temp highp float)
0:468              'tt' ( temp highp 3-component vector of float)
0:468              Constant:
0:468                0 (const int)
0:469        add second child into first child ( temp highp float)
0:469          direct index ( temp highp float)
0:469            direct index ( temp highp 4-component vector of float)
0:469              'm' ( temp highp 4X4 matrix of float)
0:469              Constant:
0:469                3 (const int)
0:469            Constant:
0:469              0 (const int)
0:469          component-wise multiply ( temp highp float)
0:469            direct index ( temp highp float)
0:469              direct index ( temp highp 4-component vector of float)
0:469                'm' ( temp highp 4X4 matrix of float)
0:469                Constant:
0:469                  1 (const int)
0:469              Constant:
0:469                0 (const int)
0:469            direct index ( temp highp float)
0:469              'tt' ( temp highp 3-component vector of float)
0:469              Constant:
0:469                1 (const int)
0:470        add second child into first child ( temp highp float)
0:470          direct index ( temp highp float)
0:470            direct index ( temp highp 4-component vector of float)
0:470              'm' ( temp highp 4X4 matrix of float)
0:470              Constant:
0:470                3 (const int)
0:470            Constant:
0:470              1 (const int)
0:470          component-wise multiply ( temp highp float)
0:470            direct index ( temp highp float)
0:470              direct index ( temp highp 4-component vector of float)
0:470                'm' ( temp highp 4X4 matrix of float)
0:470                Constant:
0:470                  1 (const int)
0:470              Constant:
0:470                1 (const int)
0:470            direct index ( temp highp float)
0:470              'tt' ( temp highp 3-component vector of float)
0:470              Constant:
0:470                1 (const int)
0:471        add second child into first child ( temp highp float)
0:471          direct index ( temp highp float)
0:471            direct index ( temp highp 4-component vector of float)
0:471              'm' ( temp highp 4X4 matrix of float)
0:471              Constant:
0:471                3 (const int)
0:471            Constant:
0:471              2 (const int)
0:471          component-wise multiply ( temp highp float)
0:471            direct index ( temp highp float)
0:471              direct index ( temp highp 4-component vector of float)
0:471                'm' ( temp highp 4X4 matrix of float)
0:471                Constant:
0:471                  1 (const int)
0:471              Constant:
0:471                2 (const int)
0:471            direct index ( temp highp float)
0:471              'tt' ( temp highp 3-component vector of float)
0:471              Constant:
0:471                1 (const int)
0:472        add second child into first child ( temp highp float)
0:472          direct index ( temp highp float)
0:472            direct index ( temp highp 4-component vector of float)
0:472              'm' ( temp highp 4X4 matrix of float)
0:472              Constant:
0:472                3 (const int)
0:472            Constant:
0:472              3 (const int)
0:472          component-wise multiply ( temp highp float)
0:472            direct index ( temp highp float)
0:472              direct index ( temp highp 4-component vector of float)
0:472                'm' ( temp highp 4X4 matrix of float)
0:472                Constant:
0:472                  1 (const int)
0:472              Constant:
0:472                3 (const int)
0:472            direct index ( temp highp float)
0:472              'tt' ( temp highp 3-component vector of float)
0:472              Constant:
0:472                1 (const int)
0:473        add second child into first child ( temp highp float)
0:473          direct index ( temp highp float)
0:473            direct index ( temp highp 4-component vector of float)
0:473              'm' ( temp highp 4X4 matrix of float)
0:473              Constant:
0:473                3 (const int)
0:473            Constant:
0:473              0 (const int)
0:473          component-wise multiply ( temp highp float)
0:473            direct index ( temp highp float)
0:473              direct index ( temp highp 4-component vector of float)
0:473                'm' ( temp highp 4X4 matrix of float)
0:473                Constant:
0:473                  2 (const int)
0:473              Constant:
0:473                0 (const int)
0:473            direct index ( temp highp float)
0:473              'tt' ( temp highp 3-component vector of float)
0:473              Constant:
0:473                2 (const int)
0:474        add second child into first child ( temp highp float)
0:474          direct index ( temp highp float)
0:474            direct index ( temp highp 4-component vector of float)
0:474              'm' ( temp highp 4X4 matrix of float)
0:474              Constant:
0:474                3 (const int)
0:474            Constant:
0:474              1 (const int)
0:474          component-wise multiply ( temp highp float)
0:474            direct index ( temp highp float)
0:474              direct index ( temp highp 4-component vector of float)
0:474                'm' ( temp highp 4X4 matrix of float)
0:474                Constant:
0:474                  2 (const int)
0:474              Constant:
0:474                1 (const int)
0:474            direct index ( temp highp float)
0:474              'tt' ( temp highp 3-component vector of float)
0:474              Constant:
0:474                2 (const int)
0:475        add second child into first child ( temp highp float)
0:475          direct index ( temp highp float)
0:475            direct index ( temp highp 4-component vector of float)
0:475              'm' ( temp highp 4X4 matrix of float)
0:475              Constant:
0:475                3 (const int)
0:475            Constant:
0:475              2 (const int)
0:475          component-wise multiply ( temp highp float)
0:475            direct index ( temp highp float)
0:475              direct index ( temp highp 4-component vector of float)
0:475                'm' ( temp highp 4X4 matrix of float)
0:475                Constant:
0:475                  2 (const int)
0:475              Constant:
0:475                2 (const int)
0:475            direct index ( temp highp float)
0:475              'tt' ( temp highp 3-component vector of float)
0:475              Constant:
0:475                2 (const int)
0:476        add second child into first child ( temp highp float)
0:476          direct index ( temp highp float)
0:476            direct index ( temp highp 4-component vector of float)
0:476              'm' ( temp highp 4X4 matrix of float)
0:476              Constant:
0:476                3 (const int)
0:476            Constant:
0:476              3 (const int)
0:476          component-wise multiply ( temp highp float)
0:476            direct index ( temp highp float)
0:476              direct index ( temp highp 4-component vector of float)
0:476                'm' ( temp highp 4X4 matrix of float)
0:476                Constant:
0:476                  2 (const int)
0:476              Constant:
0:476                3 (const int)
0:476            direct index ( temp highp float)
0:476              'tt' ( temp highp 3-component vector of float)
0:476              Constant:
0:476                2 (const int)
0:478      Branch: Return with expression
0:478        'm' ( temp highp 4X4 matrix of float)
0:480  Function Definition: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:480    Function Parameters: 
0:480      'id' ( in highp int)
0:481    Sequence
0:481      Sequence
0:481        move second child to first child ( temp highp 3X3 matrix of float)
0:481          'm' ( temp highp 3X3 matrix of float)
0:481          Constant:
0:481            1.000000
0:481            0.000000
0:481            0.000000
0:481            0.000000
0:481            1.000000
0:481            0.000000
0:481            0.000000
0:481            0.000000
0:481            1.000000
0:482      Branch: Return with expression
0:482        'm' ( temp highp 3X3 matrix of float)
0:484  Function Definition: TDInstanceMat3ForNorm(i1; ( global highp 3X3 matrix of float)
0:484    Function Parameters: 
0:484      'id' ( in highp int)
0:485    Sequence
0:485      Sequence
0:485        move second child to first child ( temp highp 3X3 matrix of float)
0:485          'm' ( temp highp 3X3 matrix of float)
0:485          Function Call: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:485            'id' ( in highp int)
0:486      Branch: Return with expression
0:486        'm' ( temp highp 3X3 matrix of float)
0:488  Function Definition: TDInstanceColor(i1;vf4; ( global highp 4-component vector of float)
0:488    Function Parameters: 
0:488      'index' ( in highp int)
0:488      'curColor' ( in highp 4-component vector of float)
0:489    Sequence
0:489      subtract second child into first child ( temp highp int)
0:489        'index' ( in highp int)
0:489        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:489          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:489          Constant:
0:489            0 (const uint)
0:491      Sequence
0:491        move second child to first child ( temp highp int)
0:491          'coord' ( temp highp int)
0:491          'index' ( in highp int)
0:492      Sequence
0:492        move second child to first child ( temp highp 4-component vector of float)
0:492          'samp' ( temp highp 4-component vector of float)
0:492          textureFetch ( global highp 4-component vector of float)
0:492            'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)
0:492            'coord' ( temp highp int)
0:493      move second child to first child ( temp highp float)
0:493        direct index ( temp highp float)
0:493          'v' ( temp highp 4-component vector of float)
0:493          Constant:
0:493            0 (const int)
0:493        direct index ( temp highp float)
0:493          'samp' ( temp highp 4-component vector of float)
0:493          Constant:
0:493            0 (const int)
0:494      move second child to first child ( temp highp float)
0:494        direct index ( temp highp float)
0:494          'v' ( temp highp 4-component vector of float)
0:494          Constant:
0:494            1 (const int)
0:494        direct index ( temp highp float)
0:494          'samp' ( temp highp 4-component vector of float)
0:494          Constant:
0:494            1 (const int)
0:495      move second child to first child ( temp highp float)
0:495        direct index ( temp highp float)
0:495          'v' ( temp highp 4-component vector of float)
0:495          Constant:
0:495            2 (const int)
0:495        direct index ( temp highp float)
0:495          'samp' ( temp highp 4-component vector of float)
0:495          Constant:
0:495            2 (const int)
0:496      move second child to first child ( temp highp float)
0:496        direct index ( temp highp float)
0:496          'v' ( temp highp 4-component vector of float)
0:496          Constant:
0:496            3 (const int)
0:496        Constant:
0:496          1.000000
0:497      move second child to first child ( temp highp float)
0:497        direct index ( temp highp float)
0:497          'curColor' ( in highp 4-component vector of float)
0:497          Constant:
0:497            0 (const int)
0:497        direct index ( temp highp float)
0:497          'v' ( temp highp 4-component vector of float)
0:497          Constant:
0:497            0 (const int)
0:499      move second child to first child ( temp highp float)
0:499        direct index ( temp highp float)
0:499          'curColor' ( in highp 4-component vector of float)
0:499          Constant:
0:499            1 (const int)
0:499        direct index ( temp highp float)
0:499          'v' ( temp highp 4-component vector of float)
0:499          Constant:
0:499            1 (const int)
0:501      move second child to first child ( temp highp float)
0:501        direct index ( temp highp float)
0:501          'curColor' ( in highp 4-component vector of float)
0:501          Constant:
0:501            2 (const int)
0:501        direct index ( temp highp float)
0:501          'v' ( temp highp 4-component vector of float)
0:501          Constant:
0:501            2 (const int)
0:503      Branch: Return with expression
0:503        'curColor' ( in highp 4-component vector of float)
0:?   Linker Objects
0:?     'sTDNoiseMap' ( uniform highp sampler2D)
0:?     'sTDSineLookup' ( uniform highp sampler1D)
0:?     'sTDWhite2D' ( uniform highp sampler2D)
0:?     'sTDWhite3D' ( uniform highp sampler3D)
0:?     'sTDWhite2DArray' ( uniform highp sampler2DArray)
0:?     'sTDWhiteCube' ( uniform highp samplerCube)
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float position,  global highp 3-component vector of float direction,  global highp 3-component vector of float diffuse,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float lightSize,  global highp 4-component vector of float misc,  global highp 4-component vector of float coneLookupScaleBias,  global highp 4-component vector of float attenScaleBiasRoll, layout( column_major std140) global highp 4X4 matrix of float shadowMapMatrix, layout( column_major std140) global highp 4X4 matrix of float shadowMapCamMatrix,  global highp 4-component vector of float shadowMapRes, layout( column_major std140) global highp 4X4 matrix of float projMapMatrix} uTDLights})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 3-component vector of float color, layout( column_major std140) global highp 3X3 matrix of float rotate} uTDEnvLights})
0:?     'uTDEnvLightBuffers' (layout( column_major std430) restrict readonly buffer 1-element array of block{layout( column_major std430 offset=0) restrict readonly buffer 9-element array of highp 3-component vector of float shCoeffs})
0:?     'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:?     'anon@4' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float nearFar,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor,  global highp int renderTOPCameraIndex} uTDCamInfos})
0:?     'anon@5' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform structure{ global highp 4-component vector of float ambientColor,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float viewport,  global highp 4-component vector of float viewportRes,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor} uTDGeneral})
0:?     'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:?     'sTDInstanceTexCoord' (layout( binding=16) uniform highp samplerBuffer)
0:?     'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)

vk.relaxed.stagelink.0.2.frag
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: TDOutputSwizzle(vf4; ( global highp 4-component vector of float)
0:2    Function Parameters: 
0:2      'c' ( in highp 4-component vector of float)
0:4    Sequence
0:4      Branch: Return with expression
0:4        vector swizzle ( temp highp 4-component vector of float)
0:4          'c' ( in highp 4-component vector of float)
0:4          Sequence
0:4            Constant:
0:4              0 (const int)
0:4            Constant:
0:4              1 (const int)
0:4            Constant:
0:4              2 (const int)
0:4            Constant:
0:4              3 (const int)
0:6  Function Definition: TDOutputSwizzle(vu4; ( global highp 4-component vector of uint)
0:6    Function Parameters: 
0:6      'c' ( in highp 4-component vector of uint)
0:8    Sequence
0:8      Branch: Return with expression
0:8        vector swizzle ( temp highp 4-component vector of uint)
0:8          'c' ( in highp 4-component vector of uint)
0:8          Sequence
0:8            Constant:
0:8              0 (const int)
0:8            Constant:
0:8              1 (const int)
0:8            Constant:
0:8              2 (const int)
0:8            Constant:
0:8              3 (const int)
0:?   Linker Objects


Linked vertex stage:


Linked fragment stage:


Shader version: 460
0:? Sequence
0:11  Function Definition: main( ( global void)
0:11    Function Parameters: 
0:15    Sequence
0:15      Sequence
0:15        Sequence
0:15          move second child to first child ( temp highp 3-component vector of float)
0:15            'texcoord' ( temp highp 3-component vector of float)
0:15            Function Call: TDInstanceTexCoord(vf3; ( global highp 3-component vector of float)
0:15              direct index (layout( location=3) temp highp 3-component vector of float)
0:15                'uv' (layout( location=3) in 8-element array of highp 3-component vector of float)
0:15                Constant:
0:15                  0 (const int)
0:16        move second child to first child ( temp highp 3-component vector of float)
0:16          vector swizzle ( temp highp 3-component vector of float)
0:16            texCoord0: direct index for structure ( out highp 3-component vector of float)
0:16              'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:16              Constant:
0:16                2 (const int)
0:16            Sequence
0:16              Constant:
0:16                0 (const int)
0:16              Constant:
0:16                1 (const int)
0:16              Constant:
0:16                2 (const int)
0:16          vector swizzle ( temp highp 3-component vector of float)
0:16            'texcoord' ( temp highp 3-component vector of float)
0:16            Sequence
0:16              Constant:
0:16                0 (const int)
0:16              Constant:
0:16                1 (const int)
0:16              Constant:
0:16                2 (const int)
0:20      move second child to first child ( temp highp int)
0:20        instance: direct index for structure ( flat out highp int)
0:20          'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:20          Constant:
0:20            4 (const int)
0:20        Function Call: TDInstanceID( ( global highp int)
0:21      Sequence
0:21        move second child to first child ( temp highp 4-component vector of float)
0:21          'worldSpacePos' ( temp highp 4-component vector of float)
0:21          Function Call: TDDeform(vf3; ( global highp 4-component vector of float)
0:21            'P' (layout( location=0) in highp 3-component vector of float)
0:22      Sequence
0:22        move second child to first child ( temp highp 3-component vector of float)
0:22          'uvUnwrapCoord' ( temp highp 3-component vector of float)
0:22          Function Call: TDInstanceTexCoord(vf3; ( global highp 3-component vector of float)
0:22            Function Call: TDUVUnwrapCoord( ( global highp 3-component vector of float)
0:23      move second child to first child ( temp highp 4-component vector of float)
0:23        gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
0:23          'anon@4' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out 1-element array of float ClipDistance gl_ClipDistance,  out 1-element array of float CullDistance gl_CullDistance})
0:23          Constant:
0:23            0 (const uint)
0:23        Function Call: TDWorldToProj(vf4;vf3; ( global highp 4-component vector of float)
0:23          'worldSpacePos' ( temp highp 4-component vector of float)
0:23          'uvUnwrapCoord' ( temp highp 3-component vector of float)
0:32      Sequence
0:32        move second child to first child ( temp highp int)
0:32          'cameraIndex' ( temp highp int)
0:32          Function Call: TDCameraIndex( ( global highp int)
0:33      move second child to first child ( temp highp int)
0:33        cameraIndex: direct index for structure ( flat out highp int)
0:33          'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:33          Constant:
0:33            3 (const int)
0:33        'cameraIndex' ( temp highp int)
0:34      move second child to first child ( temp highp 3-component vector of float)
0:34        vector swizzle ( temp highp 3-component vector of float)
0:34          worldSpacePos: direct index for structure ( out highp 3-component vector of float)
0:34            'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:34            Constant:
0:34              1 (const int)
0:34          Sequence
0:34            Constant:
0:34              0 (const int)
0:34            Constant:
0:34              1 (const int)
0:34            Constant:
0:34              2 (const int)
0:34        vector swizzle ( temp highp 3-component vector of float)
0:34          'worldSpacePos' ( temp highp 4-component vector of float)
0:34          Sequence
0:34            Constant:
0:34              0 (const int)
0:34            Constant:
0:34              1 (const int)
0:34            Constant:
0:34              2 (const int)
0:35      move second child to first child ( temp highp 4-component vector of float)
0:35        color: direct index for structure ( out highp 4-component vector of float)
0:35          'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:35          Constant:
0:35            0 (const int)
0:35        Function Call: TDInstanceColor(vf4; ( global highp 4-component vector of float)
0:35          'Cd' (layout( location=2) in highp 4-component vector of float)
0:176  Function Definition: iTDCamToProj(vf4;vf3;i1;b1; ( global highp 4-component vector of float)
0:176    Function Parameters: 
0:176      'v' ( in highp 4-component vector of float)
0:176      'uv' ( in highp 3-component vector of float)
0:176      'cameraIndex' ( in highp int)
0:176      'applyPickMod' ( in bool)
0:178    Sequence
0:178      Test condition and select ( temp void)
0:178        Condition
0:178        Negate conditional ( temp bool)
0:178          Function Call: TDInstanceActive( ( global bool)
0:178        true case
0:179        Branch: Return with expression
0:179          Constant:
0:179            2.000000
0:179            2.000000
0:179            2.000000
0:179            0.000000
0:180      move second child to first child ( temp highp 4-component vector of float)
0:180        'v' ( in highp 4-component vector of float)
0:180        matrix-times-vector ( temp highp 4-component vector of float)
0:180          proj: direct index for structure (layout( column_major std140) global highp 4X4 matrix of float)
0:180            direct index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:180              uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:180                'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:180                Constant:
0:180                  0 (const uint)
0:180              Constant:
0:180                0 (const int)
0:180            Constant:
0:180              8 (const int)
0:180          'v' ( in highp 4-component vector of float)
0:181      Branch: Return with expression
0:181        'v' ( in highp 4-component vector of float)
0:183  Function Definition: iTDWorldToProj(vf4;vf3;i1;b1; ( global highp 4-component vector of float)
0:183    Function Parameters: 
0:183      'v' ( in highp 4-component vector of float)
0:183      'uv' ( in highp 3-component vector of float)
0:183      'cameraIndex' ( in highp int)
0:183      'applyPickMod' ( in bool)
0:184    Sequence
0:184      Test condition and select ( temp void)
0:184        Condition
0:184        Negate conditional ( temp bool)
0:184          Function Call: TDInstanceActive( ( global bool)
0:184        true case
0:185        Branch: Return with expression
0:185          Constant:
0:185            2.000000
0:185            2.000000
0:185            2.000000
0:185            0.000000
0:186      move second child to first child ( temp highp 4-component vector of float)
0:186        'v' ( in highp 4-component vector of float)
0:186        matrix-times-vector ( temp highp 4-component vector of float)
0:186          camProj: direct index for structure (layout( column_major std140) global highp 4X4 matrix of float)
0:186            direct index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:186              uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:186                'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:186                Constant:
0:186                  0 (const uint)
0:186              Constant:
0:186                0 (const int)
0:186            Constant:
0:186              6 (const int)
0:186          'v' ( in highp 4-component vector of float)
0:187      Branch: Return with expression
0:187        'v' ( in highp 4-component vector of float)
0:193  Function Definition: TDInstanceID( ( global highp int)
0:193    Function Parameters: 
0:194    Sequence
0:194      Branch: Return with expression
0:194        add ( temp highp int)
0:194          'gl_InstanceIndex' ( in highp int InstanceIndex)
0:194          uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:194            'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:194            Constant:
0:194              0 (const uint)
0:196  Function Definition: TDCameraIndex( ( global highp int)
0:196    Function Parameters: 
0:197    Sequence
0:197      Branch: Return with expression
0:197        Constant:
0:197          0 (const int)
0:199  Function Definition: TDUVUnwrapCoord( ( global highp 3-component vector of float)
0:199    Function Parameters: 
0:200    Sequence
0:200      Branch: Return with expression
0:200        direct index (layout( location=3) temp highp 3-component vector of float)
0:200          'uv' (layout( location=3) in 8-element array of highp 3-component vector of float)
0:200          Constant:
0:200            0 (const int)
0:205  Function Definition: TDPickID( ( global highp int)
0:205    Function Parameters: 
0:209    Sequence
0:209      Branch: Return with expression
0:209        Constant:
0:209          0 (const int)
0:212  Function Definition: iTDConvertPickId(i1; ( global highp float)
0:212    Function Parameters: 
0:212      'id' ( in highp int)
0:213    Sequence
0:213      or second child into first child ( temp highp int)
0:213        'id' ( in highp int)
0:213        Constant:
0:213          1073741824 (const int)
0:214      Branch: Return with expression
0:214        intBitsToFloat ( global highp float)
0:214          'id' ( in highp int)
0:217  Function Definition: TDWritePickingValues( ( global void)
0:217    Function Parameters: 
0:224  Function Definition: TDWorldToProj(vf4;vf3; ( global highp 4-component vector of float)
0:224    Function Parameters: 
0:224      'v' ( in highp 4-component vector of float)
0:224      'uv' ( in highp 3-component vector of float)
0:226    Sequence
0:226      Branch: Return with expression
0:226        Function Call: iTDWorldToProj(vf4;vf3;i1;b1; ( global highp 4-component vector of float)
0:226          'v' ( in highp 4-component vector of float)
0:226          'uv' ( in highp 3-component vector of float)
0:226          Function Call: TDCameraIndex( ( global highp int)
0:226          Constant:
0:226            true (const bool)
0:228  Function Definition: TDWorldToProj(vf3;vf3; ( global highp 4-component vector of float)
0:228    Function Parameters: 
0:228      'v' ( in highp 3-component vector of float)
0:228      'uv' ( in highp 3-component vector of float)
0:230    Sequence
0:230      Branch: Return with expression
0:230        Function Call: TDWorldToProj(vf4;vf3; ( global highp 4-component vector of float)
0:230          Construct vec4 ( temp highp 4-component vector of float)
0:230            'v' ( in highp 3-component vector of float)
0:230            Constant:
0:230              1.000000
0:230          'uv' ( in highp 3-component vector of float)
0:232  Function Definition: TDWorldToProj(vf4; ( global highp 4-component vector of float)
0:232    Function Parameters: 
0:232      'v' ( in highp 4-component vector of float)
0:234    Sequence
0:234      Branch: Return with expression
0:234        Function Call: TDWorldToProj(vf4;vf3; ( global highp 4-component vector of float)
0:234          'v' ( in highp 4-component vector of float)
0:234          Constant:
0:234            0.000000
0:234            0.000000
0:234            0.000000
0:236  Function Definition: TDWorldToProj(vf3; ( global highp 4-component vector of float)
0:236    Function Parameters: 
0:236      'v' ( in highp 3-component vector of float)
0:238    Sequence
0:238      Branch: Return with expression
0:238        Function Call: TDWorldToProj(vf4; ( global highp 4-component vector of float)
0:238          Construct vec4 ( temp highp 4-component vector of float)
0:238            'v' ( in highp 3-component vector of float)
0:238            Constant:
0:238              1.000000
0:240  Function Definition: TDPointColor( ( global highp 4-component vector of float)
0:240    Function Parameters: 
0:241    Sequence
0:241      Branch: Return with expression
0:241        'Cd' (layout( location=2) in highp 4-component vector of float)
0:114  Function Definition: TDInstanceTexCoord(i1;vf3; ( global highp 3-component vector of float)
0:114    Function Parameters: 
0:114      'index' ( in highp int)
0:114      't' ( in highp 3-component vector of float)
0:?     Sequence
0:116      Sequence
0:116        move second child to first child ( temp highp int)
0:116          'coord' ( temp highp int)
0:116          'index' ( in highp int)
0:117      Sequence
0:117        move second child to first child ( temp highp 4-component vector of float)
0:117          'samp' ( temp highp 4-component vector of float)
0:117          textureFetch ( global highp 4-component vector of float)
0:117            'sTDInstanceTexCoord' (layout( binding=16) uniform highp samplerBuffer)
0:117            'coord' ( temp highp int)
0:118      move second child to first child ( temp highp float)
0:118        direct index ( temp highp float)
0:118          'v' ( temp highp 3-component vector of float)
0:118          Constant:
0:118            0 (const int)
0:118        direct index ( temp highp float)
0:118          't' ( in highp 3-component vector of float)
0:118          Constant:
0:118            0 (const int)
0:119      move second child to first child ( temp highp float)
0:119        direct index ( temp highp float)
0:119          'v' ( temp highp 3-component vector of float)
0:119          Constant:
0:119            1 (const int)
0:119        direct index ( temp highp float)
0:119          't' ( in highp 3-component vector of float)
0:119          Constant:
0:119            1 (const int)
0:120      move second child to first child ( temp highp float)
0:120        direct index ( temp highp float)
0:120          'v' ( temp highp 3-component vector of float)
0:120          Constant:
0:120            2 (const int)
0:120        direct index ( temp highp float)
0:120          'samp' ( temp highp 4-component vector of float)
0:120          Constant:
0:120            0 (const int)
0:121      move second child to first child ( temp highp 3-component vector of float)
0:121        vector swizzle ( temp highp 3-component vector of float)
0:121          't' ( in highp 3-component vector of float)
0:121          Sequence
0:121            Constant:
0:121              0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121            Constant:
0:121              2 (const int)
0:121        vector swizzle ( temp highp 3-component vector of float)
0:121          'v' ( temp highp 3-component vector of float)
0:121          Sequence
0:121            Constant:
0:121              0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121            Constant:
0:121              2 (const int)
0:122      Branch: Return with expression
0:122        't' ( in highp 3-component vector of float)
0:124  Function Definition: TDInstanceActive(i1; ( global bool)
0:124    Function Parameters: 
0:124      'index' ( in highp int)
0:125    Sequence
0:125      subtract second child into first child ( temp highp int)
0:125        'index' ( in highp int)
0:125        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:125          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:125          Constant:
0:125            0 (const uint)
0:127      Sequence
0:127        move second child to first child ( temp highp int)
0:127          'coord' ( temp highp int)
0:127          'index' ( in highp int)
0:128      Sequence
0:128        move second child to first child ( temp highp 4-component vector of float)
0:128          'samp' ( temp highp 4-component vector of float)
0:128          textureFetch ( global highp 4-component vector of float)
0:128            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:128            'coord' ( temp highp int)
0:129      move second child to first child ( temp highp float)
0:129        'v' ( temp highp float)
0:129        direct index ( temp highp float)
0:129          'samp' ( temp highp 4-component vector of float)
0:129          Constant:
0:129            0 (const int)
0:130      Branch: Return with expression
0:130        Compare Not Equal ( temp bool)
0:130          'v' ( temp highp float)
0:130          Constant:
0:130            0.000000
0:132  Function Definition: iTDInstanceTranslate(i1;b1; ( global highp 3-component vector of float)
0:132    Function Parameters: 
0:132      'index' ( in highp int)
0:132      'instanceActive' ( out bool)
0:133    Sequence
0:133      Sequence
0:133        move second child to first child ( temp highp int)
0:133          'origIndex' ( temp highp int)
0:133          'index' ( in highp int)
0:134      subtract second child into first child ( temp highp int)
0:134        'index' ( in highp int)
0:134        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:134          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:134          Constant:
0:134            0 (const uint)
0:136      Sequence
0:136        move second child to first child ( temp highp int)
0:136          'coord' ( temp highp int)
0:136          'index' ( in highp int)
0:137      Sequence
0:137        move second child to first child ( temp highp 4-component vector of float)
0:137          'samp' ( temp highp 4-component vector of float)
0:137          textureFetch ( global highp 4-component vector of float)
0:137            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:137            'coord' ( temp highp int)
0:138      move second child to first child ( temp highp float)
0:138        direct index ( temp highp float)
0:138          'v' ( temp highp 3-component vector of float)
0:138          Constant:
0:138            0 (const int)
0:138        direct index ( temp highp float)
0:138          'samp' ( temp highp 4-component vector of float)
0:138          Constant:
0:138            1 (const int)
0:139      move second child to first child ( temp highp float)
0:139        direct index ( temp highp float)
0:139          'v' ( temp highp 3-component vector of float)
0:139          Constant:
0:139            1 (const int)
0:139        direct index ( temp highp float)
0:139          'samp' ( temp highp 4-component vector of float)
0:139          Constant:
0:139            2 (const int)
0:140      move second child to first child ( temp highp float)
0:140        direct index ( temp highp float)
0:140          'v' ( temp highp 3-component vector of float)
0:140          Constant:
0:140            2 (const int)
0:140        direct index ( temp highp float)
0:140          'samp' ( temp highp 4-component vector of float)
0:140          Constant:
0:140            3 (const int)
0:141      move second child to first child ( temp bool)
0:141        'instanceActive' ( out bool)
0:141        Compare Not Equal ( temp bool)
0:141          direct index ( temp highp float)
0:141            'samp' ( temp highp 4-component vector of float)
0:141            Constant:
0:141              0 (const int)
0:141          Constant:
0:141            0.000000
0:142      Branch: Return with expression
0:142        'v' ( temp highp 3-component vector of float)
0:144  Function Definition: TDInstanceTranslate(i1; ( global highp 3-component vector of float)
0:144    Function Parameters: 
0:144      'index' ( in highp int)
0:145    Sequence
0:145      subtract second child into first child ( temp highp int)
0:145        'index' ( in highp int)
0:145        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:145          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:145          Constant:
0:145            0 (const uint)
0:147      Sequence
0:147        move second child to first child ( temp highp int)
0:147          'coord' ( temp highp int)
0:147          'index' ( in highp int)
0:148      Sequence
0:148        move second child to first child ( temp highp 4-component vector of float)
0:148          'samp' ( temp highp 4-component vector of float)
0:148          textureFetch ( global highp 4-component vector of float)
0:148            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:148            'coord' ( temp highp int)
0:149      move second child to first child ( temp highp float)
0:149        direct index ( temp highp float)
0:149          'v' ( temp highp 3-component vector of float)
0:149          Constant:
0:149            0 (const int)
0:149        direct index ( temp highp float)
0:149          'samp' ( temp highp 4-component vector of float)
0:149          Constant:
0:149            1 (const int)
0:150      move second child to first child ( temp highp float)
0:150        direct index ( temp highp float)
0:150          'v' ( temp highp 3-component vector of float)
0:150          Constant:
0:150            1 (const int)
0:150        direct index ( temp highp float)
0:150          'samp' ( temp highp 4-component vector of float)
0:150          Constant:
0:150            2 (const int)
0:151      move second child to first child ( temp highp float)
0:151        direct index ( temp highp float)
0:151          'v' ( temp highp 3-component vector of float)
0:151          Constant:
0:151            2 (const int)
0:151        direct index ( temp highp float)
0:151          'samp' ( temp highp 4-component vector of float)
0:151          Constant:
0:151            3 (const int)
0:152      Branch: Return with expression
0:152        'v' ( temp highp 3-component vector of float)
0:154  Function Definition: TDInstanceRotateMat(i1; ( global highp 3X3 matrix of float)
0:154    Function Parameters: 
0:154      'index' ( in highp int)
0:155    Sequence
0:155      subtract second child into first child ( temp highp int)
0:155        'index' ( in highp int)
0:155        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:155          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:155          Constant:
0:155            0 (const uint)
0:156      Sequence
0:156        move second child to first child ( temp highp 3-component vector of float)
0:156          'v' ( temp highp 3-component vector of float)
0:156          Constant:
0:156            0.000000
0:156            0.000000
0:156            0.000000
0:157      Sequence
0:157        move second child to first child ( temp highp 3X3 matrix of float)
0:157          'm' ( temp highp 3X3 matrix of float)
0:157          Constant:
0:157            1.000000
0:157            0.000000
0:157            0.000000
0:157            0.000000
0:157            1.000000
0:157            0.000000
0:157            0.000000
0:157            0.000000
0:157            1.000000
0:161      Branch: Return with expression
0:161        'm' ( temp highp 3X3 matrix of float)
0:163  Function Definition: TDInstanceScale(i1; ( global highp 3-component vector of float)
0:163    Function Parameters: 
0:163      'index' ( in highp int)
0:164    Sequence
0:164      subtract second child into first child ( temp highp int)
0:164        'index' ( in highp int)
0:164        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:164          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:164          Constant:
0:164            0 (const uint)
0:165      Sequence
0:165        move second child to first child ( temp highp 3-component vector of float)
0:165          'v' ( temp highp 3-component vector of float)
0:165          Constant:
0:165            1.000000
0:165            1.000000
0:165            1.000000
0:166      Branch: Return with expression
0:166        'v' ( temp highp 3-component vector of float)
0:168  Function Definition: TDInstancePivot(i1; ( global highp 3-component vector of float)
0:168    Function Parameters: 
0:168      'index' ( in highp int)
0:169    Sequence
0:169      subtract second child into first child ( temp highp int)
0:169        'index' ( in highp int)
0:169        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:169          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:169          Constant:
0:169            0 (const uint)
0:170      Sequence
0:170        move second child to first child ( temp highp 3-component vector of float)
0:170          'v' ( temp highp 3-component vector of float)
0:170          Constant:
0:170            0.000000
0:170            0.000000
0:170            0.000000
0:171      Branch: Return with expression
0:171        'v' ( temp highp 3-component vector of float)
0:173  Function Definition: TDInstanceRotTo(i1; ( global highp 3-component vector of float)
0:173    Function Parameters: 
0:173      'index' ( in highp int)
0:174    Sequence
0:174      subtract second child into first child ( temp highp int)
0:174        'index' ( in highp int)
0:174        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:174          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:174          Constant:
0:174            0 (const uint)
0:175      Sequence
0:175        move second child to first child ( temp highp 3-component vector of float)
0:175          'v' ( temp highp 3-component vector of float)
0:175          Constant:
0:175            0.000000
0:175            0.000000
0:175            1.000000
0:176      Branch: Return with expression
0:176        'v' ( temp highp 3-component vector of float)
0:178  Function Definition: TDInstanceRotUp(i1; ( global highp 3-component vector of float)
0:178    Function Parameters: 
0:178      'index' ( in highp int)
0:179    Sequence
0:179      subtract second child into first child ( temp highp int)
0:179        'index' ( in highp int)
0:179        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:179          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:179          Constant:
0:179            0 (const uint)
0:180      Sequence
0:180        move second child to first child ( temp highp 3-component vector of float)
0:180          'v' ( temp highp 3-component vector of float)
0:180          Constant:
0:180            0.000000
0:180            1.000000
0:180            0.000000
0:181      Branch: Return with expression
0:181        'v' ( temp highp 3-component vector of float)
0:183  Function Definition: TDInstanceMat(i1; ( global highp 4X4 matrix of float)
0:183    Function Parameters: 
0:183      'id' ( in highp int)
0:184    Sequence
0:184      Sequence
0:184        move second child to first child ( temp bool)
0:184          'instanceActive' ( temp bool)
0:184          Constant:
0:184            true (const bool)
0:185      Sequence
0:185        move second child to first child ( temp highp 3-component vector of float)
0:185          't' ( temp highp 3-component vector of float)
0:185          Function Call: iTDInstanceTranslate(i1;b1; ( global highp 3-component vector of float)
0:185            'id' ( in highp int)
0:185            'instanceActive' ( temp bool)
0:186      Test condition and select ( temp void)
0:186        Condition
0:186        Negate conditional ( temp bool)
0:186          'instanceActive' ( temp bool)
0:186        true case
0:188        Sequence
0:188          Branch: Return with expression
0:188            Constant:
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:188              0.000000
0:190      Sequence
0:190        move second child to first child ( temp highp 4X4 matrix of float)
0:190          'm' ( temp highp 4X4 matrix of float)
0:190          Constant:
0:190            1.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            1.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            1.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            0.000000
0:190            1.000000
0:192      Sequence
0:192        Sequence
0:192          move second child to first child ( temp highp 3-component vector of float)
0:192            'tt' ( temp highp 3-component vector of float)
0:192            't' ( temp highp 3-component vector of float)
0:193        add second child into first child ( temp highp float)
0:193          direct index ( temp highp float)
0:193            direct index ( temp highp 4-component vector of float)
0:193              'm' ( temp highp 4X4 matrix of float)
0:193              Constant:
0:193                3 (const int)
0:193            Constant:
0:193              0 (const int)
0:193          component-wise multiply ( temp highp float)
0:193            direct index ( temp highp float)
0:193              direct index ( temp highp 4-component vector of float)
0:193                'm' ( temp highp 4X4 matrix of float)
0:193                Constant:
0:193                  0 (const int)
0:193              Constant:
0:193                0 (const int)
0:193            direct index ( temp highp float)
0:193              'tt' ( temp highp 3-component vector of float)
0:193              Constant:
0:193                0 (const int)
0:194        add second child into first child ( temp highp float)
0:194          direct index ( temp highp float)
0:194            direct index ( temp highp 4-component vector of float)
0:194              'm' ( temp highp 4X4 matrix of float)
0:194              Constant:
0:194                3 (const int)
0:194            Constant:
0:194              1 (const int)
0:194          component-wise multiply ( temp highp float)
0:194            direct index ( temp highp float)
0:194              direct index ( temp highp 4-component vector of float)
0:194                'm' ( temp highp 4X4 matrix of float)
0:194                Constant:
0:194                  0 (const int)
0:194              Constant:
0:194                1 (const int)
0:194            direct index ( temp highp float)
0:194              'tt' ( temp highp 3-component vector of float)
0:194              Constant:
0:194                0 (const int)
0:195        add second child into first child ( temp highp float)
0:195          direct index ( temp highp float)
0:195            direct index ( temp highp 4-component vector of float)
0:195              'm' ( temp highp 4X4 matrix of float)
0:195              Constant:
0:195                3 (const int)
0:195            Constant:
0:195              2 (const int)
0:195          component-wise multiply ( temp highp float)
0:195            direct index ( temp highp float)
0:195              direct index ( temp highp 4-component vector of float)
0:195                'm' ( temp highp 4X4 matrix of float)
0:195                Constant:
0:195                  0 (const int)
0:195              Constant:
0:195                2 (const int)
0:195            direct index ( temp highp float)
0:195              'tt' ( temp highp 3-component vector of float)
0:195              Constant:
0:195                0 (const int)
0:196        add second child into first child ( temp highp float)
0:196          direct index ( temp highp float)
0:196            direct index ( temp highp 4-component vector of float)
0:196              'm' ( temp highp 4X4 matrix of float)
0:196              Constant:
0:196                3 (const int)
0:196            Constant:
0:196              3 (const int)
0:196          component-wise multiply ( temp highp float)
0:196            direct index ( temp highp float)
0:196              direct index ( temp highp 4-component vector of float)
0:196                'm' ( temp highp 4X4 matrix of float)
0:196                Constant:
0:196                  0 (const int)
0:196              Constant:
0:196                3 (const int)
0:196            direct index ( temp highp float)
0:196              'tt' ( temp highp 3-component vector of float)
0:196              Constant:
0:196                0 (const int)
0:197        add second child into first child ( temp highp float)
0:197          direct index ( temp highp float)
0:197            direct index ( temp highp 4-component vector of float)
0:197              'm' ( temp highp 4X4 matrix of float)
0:197              Constant:
0:197                3 (const int)
0:197            Constant:
0:197              0 (const int)
0:197          component-wise multiply ( temp highp float)
0:197            direct index ( temp highp float)
0:197              direct index ( temp highp 4-component vector of float)
0:197                'm' ( temp highp 4X4 matrix of float)
0:197                Constant:
0:197                  1 (const int)
0:197              Constant:
0:197                0 (const int)
0:197            direct index ( temp highp float)
0:197              'tt' ( temp highp 3-component vector of float)
0:197              Constant:
0:197                1 (const int)
0:198        add second child into first child ( temp highp float)
0:198          direct index ( temp highp float)
0:198            direct index ( temp highp 4-component vector of float)
0:198              'm' ( temp highp 4X4 matrix of float)
0:198              Constant:
0:198                3 (const int)
0:198            Constant:
0:198              1 (const int)
0:198          component-wise multiply ( temp highp float)
0:198            direct index ( temp highp float)
0:198              direct index ( temp highp 4-component vector of float)
0:198                'm' ( temp highp 4X4 matrix of float)
0:198                Constant:
0:198                  1 (const int)
0:198              Constant:
0:198                1 (const int)
0:198            direct index ( temp highp float)
0:198              'tt' ( temp highp 3-component vector of float)
0:198              Constant:
0:198                1 (const int)
0:199        add second child into first child ( temp highp float)
0:199          direct index ( temp highp float)
0:199            direct index ( temp highp 4-component vector of float)
0:199              'm' ( temp highp 4X4 matrix of float)
0:199              Constant:
0:199                3 (const int)
0:199            Constant:
0:199              2 (const int)
0:199          component-wise multiply ( temp highp float)
0:199            direct index ( temp highp float)
0:199              direct index ( temp highp 4-component vector of float)
0:199                'm' ( temp highp 4X4 matrix of float)
0:199                Constant:
0:199                  1 (const int)
0:199              Constant:
0:199                2 (const int)
0:199            direct index ( temp highp float)
0:199              'tt' ( temp highp 3-component vector of float)
0:199              Constant:
0:199                1 (const int)
0:200        add second child into first child ( temp highp float)
0:200          direct index ( temp highp float)
0:200            direct index ( temp highp 4-component vector of float)
0:200              'm' ( temp highp 4X4 matrix of float)
0:200              Constant:
0:200                3 (const int)
0:200            Constant:
0:200              3 (const int)
0:200          component-wise multiply ( temp highp float)
0:200            direct index ( temp highp float)
0:200              direct index ( temp highp 4-component vector of float)
0:200                'm' ( temp highp 4X4 matrix of float)
0:200                Constant:
0:200                  1 (const int)
0:200              Constant:
0:200                3 (const int)
0:200            direct index ( temp highp float)
0:200              'tt' ( temp highp 3-component vector of float)
0:200              Constant:
0:200                1 (const int)
0:201        add second child into first child ( temp highp float)
0:201          direct index ( temp highp float)
0:201            direct index ( temp highp 4-component vector of float)
0:201              'm' ( temp highp 4X4 matrix of float)
0:201              Constant:
0:201                3 (const int)
0:201            Constant:
0:201              0 (const int)
0:201          component-wise multiply ( temp highp float)
0:201            direct index ( temp highp float)
0:201              direct index ( temp highp 4-component vector of float)
0:201                'm' ( temp highp 4X4 matrix of float)
0:201                Constant:
0:201                  2 (const int)
0:201              Constant:
0:201                0 (const int)
0:201            direct index ( temp highp float)
0:201              'tt' ( temp highp 3-component vector of float)
0:201              Constant:
0:201                2 (const int)
0:202        add second child into first child ( temp highp float)
0:202          direct index ( temp highp float)
0:202            direct index ( temp highp 4-component vector of float)
0:202              'm' ( temp highp 4X4 matrix of float)
0:202              Constant:
0:202                3 (const int)
0:202            Constant:
0:202              1 (const int)
0:202          component-wise multiply ( temp highp float)
0:202            direct index ( temp highp float)
0:202              direct index ( temp highp 4-component vector of float)
0:202                'm' ( temp highp 4X4 matrix of float)
0:202                Constant:
0:202                  2 (const int)
0:202              Constant:
0:202                1 (const int)
0:202            direct index ( temp highp float)
0:202              'tt' ( temp highp 3-component vector of float)
0:202              Constant:
0:202                2 (const int)
0:203        add second child into first child ( temp highp float)
0:203          direct index ( temp highp float)
0:203            direct index ( temp highp 4-component vector of float)
0:203              'm' ( temp highp 4X4 matrix of float)
0:203              Constant:
0:203                3 (const int)
0:203            Constant:
0:203              2 (const int)
0:203          component-wise multiply ( temp highp float)
0:203            direct index ( temp highp float)
0:203              direct index ( temp highp 4-component vector of float)
0:203                'm' ( temp highp 4X4 matrix of float)
0:203                Constant:
0:203                  2 (const int)
0:203              Constant:
0:203                2 (const int)
0:203            direct index ( temp highp float)
0:203              'tt' ( temp highp 3-component vector of float)
0:203              Constant:
0:203                2 (const int)
0:204        add second child into first child ( temp highp float)
0:204          direct index ( temp highp float)
0:204            direct index ( temp highp 4-component vector of float)
0:204              'm' ( temp highp 4X4 matrix of float)
0:204              Constant:
0:204                3 (const int)
0:204            Constant:
0:204              3 (const int)
0:204          component-wise multiply ( temp highp float)
0:204            direct index ( temp highp float)
0:204              direct index ( temp highp 4-component vector of float)
0:204                'm' ( temp highp 4X4 matrix of float)
0:204                Constant:
0:204                  2 (const int)
0:204              Constant:
0:204                3 (const int)
0:204            direct index ( temp highp float)
0:204              'tt' ( temp highp 3-component vector of float)
0:204              Constant:
0:204                2 (const int)
0:206      Branch: Return with expression
0:206        'm' ( temp highp 4X4 matrix of float)
0:208  Function Definition: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:208    Function Parameters: 
0:208      'id' ( in highp int)
0:209    Sequence
0:209      Sequence
0:209        move second child to first child ( temp highp 3X3 matrix of float)
0:209          'm' ( temp highp 3X3 matrix of float)
0:209          Constant:
0:209            1.000000
0:209            0.000000
0:209            0.000000
0:209            0.000000
0:209            1.000000
0:209            0.000000
0:209            0.000000
0:209            0.000000
0:209            1.000000
0:210      Branch: Return with expression
0:210        'm' ( temp highp 3X3 matrix of float)
0:212  Function Definition: TDInstanceMat3ForNorm(i1; ( global highp 3X3 matrix of float)
0:212    Function Parameters: 
0:212      'id' ( in highp int)
0:213    Sequence
0:213      Sequence
0:213        move second child to first child ( temp highp 3X3 matrix of float)
0:213          'm' ( temp highp 3X3 matrix of float)
0:213          Function Call: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:213            'id' ( in highp int)
0:214      Branch: Return with expression
0:214        'm' ( temp highp 3X3 matrix of float)
0:216  Function Definition: TDInstanceColor(i1;vf4; ( global highp 4-component vector of float)
0:216    Function Parameters: 
0:216      'index' ( in highp int)
0:216      'curColor' ( in highp 4-component vector of float)
0:217    Sequence
0:217      subtract second child into first child ( temp highp int)
0:217        'index' ( in highp int)
0:217        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:217          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:217          Constant:
0:217            0 (const uint)
0:219      Sequence
0:219        move second child to first child ( temp highp int)
0:219          'coord' ( temp highp int)
0:219          'index' ( in highp int)
0:220      Sequence
0:220        move second child to first child ( temp highp 4-component vector of float)
0:220          'samp' ( temp highp 4-component vector of float)
0:220          textureFetch ( global highp 4-component vector of float)
0:220            'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)
0:220            'coord' ( temp highp int)
0:221      move second child to first child ( temp highp float)
0:221        direct index ( temp highp float)
0:221          'v' ( temp highp 4-component vector of float)
0:221          Constant:
0:221            0 (const int)
0:221        direct index ( temp highp float)
0:221          'samp' ( temp highp 4-component vector of float)
0:221          Constant:
0:221            0 (const int)
0:222      move second child to first child ( temp highp float)
0:222        direct index ( temp highp float)
0:222          'v' ( temp highp 4-component vector of float)
0:222          Constant:
0:222            1 (const int)
0:222        direct index ( temp highp float)
0:222          'samp' ( temp highp 4-component vector of float)
0:222          Constant:
0:222            1 (const int)
0:223      move second child to first child ( temp highp float)
0:223        direct index ( temp highp float)
0:223          'v' ( temp highp 4-component vector of float)
0:223          Constant:
0:223            2 (const int)
0:223        direct index ( temp highp float)
0:223          'samp' ( temp highp 4-component vector of float)
0:223          Constant:
0:223            2 (const int)
0:224      move second child to first child ( temp highp float)
0:224        direct index ( temp highp float)
0:224          'v' ( temp highp 4-component vector of float)
0:224          Constant:
0:224            3 (const int)
0:224        Constant:
0:224          1.000000
0:225      move second child to first child ( temp highp float)
0:225        direct index ( temp highp float)
0:225          'curColor' ( in highp 4-component vector of float)
0:225          Constant:
0:225            0 (const int)
0:225        direct index ( temp highp float)
0:225          'v' ( temp highp 4-component vector of float)
0:225          Constant:
0:225            0 (const int)
0:227      move second child to first child ( temp highp float)
0:227        direct index ( temp highp float)
0:227          'curColor' ( in highp 4-component vector of float)
0:227          Constant:
0:227            1 (const int)
0:227        direct index ( temp highp float)
0:227          'v' ( temp highp 4-component vector of float)
0:227          Constant:
0:227            1 (const int)
0:229      move second child to first child ( temp highp float)
0:229        direct index ( temp highp float)
0:229          'curColor' ( in highp 4-component vector of float)
0:229          Constant:
0:229            2 (const int)
0:229        direct index ( temp highp float)
0:229          'v' ( temp highp 4-component vector of float)
0:229          Constant:
0:229            2 (const int)
0:231      Branch: Return with expression
0:231        'curColor' ( in highp 4-component vector of float)
0:233  Function Definition: TDInstanceDeform(i1;vf4; ( global highp 4-component vector of float)
0:233    Function Parameters: 
0:233      'id' ( in highp int)
0:233      'pos' ( in highp 4-component vector of float)
0:234    Sequence
0:234      move second child to first child ( temp highp 4-component vector of float)
0:234        'pos' ( in highp 4-component vector of float)
0:234        matrix-times-vector ( temp highp 4-component vector of float)
0:234          Function Call: TDInstanceMat(i1; ( global highp 4X4 matrix of float)
0:234            'id' ( in highp int)
0:234          'pos' ( in highp 4-component vector of float)
0:235      Branch: Return with expression
0:235        matrix-times-vector ( temp highp 4-component vector of float)
0:235          world: direct index for structure (layout( column_major std140) global highp 4X4 matrix of float)
0:235            indirect index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:235              uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:235                'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:235                Constant:
0:235                  0 (const uint)
0:235              Function Call: TDCameraIndex( ( global highp int)
0:235            Constant:
0:235              0 (const int)
0:235          'pos' ( in highp 4-component vector of float)
0:238  Function Definition: TDInstanceDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:238    Function Parameters: 
0:238      'id' ( in highp int)
0:238      'vec' ( in highp 3-component vector of float)
0:240    Sequence
0:240      Sequence
0:240        move second child to first child ( temp highp 3X3 matrix of float)
0:240          'm' ( temp highp 3X3 matrix of float)
0:240          Function Call: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:240            'id' ( in highp int)
0:241      Branch: Return with expression
0:241        matrix-times-vector ( temp highp 3-component vector of float)
0:241          Construct mat3 ( temp highp 3X3 matrix of float)
0:241            world: direct index for structure (layout( column_major std140) global highp 4X4 matrix of float)
0:241              indirect index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:241                uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:241                  'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:241                  Constant:
0:241                    0 (const uint)
0:241                Function Call: TDCameraIndex( ( global highp int)
0:241              Constant:
0:241                0 (const int)
0:241          matrix-times-vector ( temp highp 3-component vector of float)
0:241            'm' ( temp highp 3X3 matrix of float)
0:241            'vec' ( in highp 3-component vector of float)
0:243  Function Definition: TDInstanceDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:243    Function Parameters: 
0:243      'id' ( in highp int)
0:243      'vec' ( in highp 3-component vector of float)
0:245    Sequence
0:245      Sequence
0:245        move second child to first child ( temp highp 3X3 matrix of float)
0:245          'm' ( temp highp 3X3 matrix of float)
0:245          Function Call: TDInstanceMat3ForNorm(i1; ( global highp 3X3 matrix of float)
0:245            'id' ( in highp int)
0:246      Branch: Return with expression
0:246        matrix-times-vector ( temp highp 3-component vector of float)
0:246          Construct mat3 ( temp highp 3X3 matrix of float)
0:246            worldForNormals: direct index for structure (layout( column_major std140) global highp 3X3 matrix of float)
0:246              indirect index (layout( column_major std140 offset=0) temp structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:246                uTDMats: direct index for structure (layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals})
0:246                  'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:246                  Constant:
0:246                    0 (const uint)
0:246                Function Call: TDCameraIndex( ( global highp int)
0:246              Constant:
0:246                13 (const int)
0:246          matrix-times-vector ( temp highp 3-component vector of float)
0:246            'm' ( temp highp 3X3 matrix of float)
0:246            'vec' ( in highp 3-component vector of float)
0:248  Function Definition: TDInstanceDeform(vf4; ( global highp 4-component vector of float)
0:248    Function Parameters: 
0:248      'pos' ( in highp 4-component vector of float)
0:249    Sequence
0:249      Branch: Return with expression
0:249        Function Call: TDInstanceDeform(i1;vf4; ( global highp 4-component vector of float)
0:249          Function Call: TDInstanceID( ( global highp int)
0:249          'pos' ( in highp 4-component vector of float)
0:251  Function Definition: TDInstanceDeformVec(vf3; ( global highp 3-component vector of float)
0:251    Function Parameters: 
0:251      'vec' ( in highp 3-component vector of float)
0:252    Sequence
0:252      Branch: Return with expression
0:252        Function Call: TDInstanceDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:252          Function Call: TDInstanceID( ( global highp int)
0:252          'vec' ( in highp 3-component vector of float)
0:254  Function Definition: TDInstanceDeformNorm(vf3; ( global highp 3-component vector of float)
0:254    Function Parameters: 
0:254      'vec' ( in highp 3-component vector of float)
0:255    Sequence
0:255      Branch: Return with expression
0:255        Function Call: TDInstanceDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:255          Function Call: TDInstanceID( ( global highp int)
0:255          'vec' ( in highp 3-component vector of float)
0:257  Function Definition: TDInstanceActive( ( global bool)
0:257    Function Parameters: 
0:257    Sequence
0:257      Branch: Return with expression
0:257        Function Call: TDInstanceActive(i1; ( global bool)
0:257          Function Call: TDInstanceID( ( global highp int)
0:258  Function Definition: TDInstanceTranslate( ( global highp 3-component vector of float)
0:258    Function Parameters: 
0:258    Sequence
0:258      Branch: Return with expression
0:258        Function Call: TDInstanceTranslate(i1; ( global highp 3-component vector of float)
0:258          Function Call: TDInstanceID( ( global highp int)
0:259  Function Definition: TDInstanceRotateMat( ( global highp 3X3 matrix of float)
0:259    Function Parameters: 
0:259    Sequence
0:259      Branch: Return with expression
0:259        Function Call: TDInstanceRotateMat(i1; ( global highp 3X3 matrix of float)
0:259          Function Call: TDInstanceID( ( global highp int)
0:260  Function Definition: TDInstanceScale( ( global highp 3-component vector of float)
0:260    Function Parameters: 
0:260    Sequence
0:260      Branch: Return with expression
0:260        Function Call: TDInstanceScale(i1; ( global highp 3-component vector of float)
0:260          Function Call: TDInstanceID( ( global highp int)
0:261  Function Definition: TDInstanceMat( ( global highp 4X4 matrix of float)
0:261    Function Parameters: 
0:261    Sequence
0:261      Branch: Return with expression
0:261        Function Call: TDInstanceMat(i1; ( global highp 4X4 matrix of float)
0:261          Function Call: TDInstanceID( ( global highp int)
0:263  Function Definition: TDInstanceMat3( ( global highp 3X3 matrix of float)
0:263    Function Parameters: 
0:263    Sequence
0:263      Branch: Return with expression
0:263        Function Call: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:263          Function Call: TDInstanceID( ( global highp int)
0:265  Function Definition: TDInstanceTexCoord(vf3; ( global highp 3-component vector of float)
0:265    Function Parameters: 
0:265      't' ( in highp 3-component vector of float)
0:266    Sequence
0:266      Branch: Return with expression
0:266        Function Call: TDInstanceTexCoord(i1;vf3; ( global highp 3-component vector of float)
0:266          Function Call: TDInstanceID( ( global highp int)
0:266          't' ( in highp 3-component vector of float)
0:268  Function Definition: TDInstanceColor(vf4; ( global highp 4-component vector of float)
0:268    Function Parameters: 
0:268      'curColor' ( in highp 4-component vector of float)
0:269    Sequence
0:269      Branch: Return with expression
0:269        Function Call: TDInstanceColor(i1;vf4; ( global highp 4-component vector of float)
0:269          Function Call: TDInstanceID( ( global highp int)
0:269          'curColor' ( in highp 4-component vector of float)
0:271  Function Definition: TDSkinnedDeform(vf4; ( global highp 4-component vector of float)
0:271    Function Parameters: 
0:271      'pos' ( in highp 4-component vector of float)
0:271    Sequence
0:271      Branch: Return with expression
0:271        'pos' ( in highp 4-component vector of float)
0:273  Function Definition: TDSkinnedDeformVec(vf3; ( global highp 3-component vector of float)
0:273    Function Parameters: 
0:273      'vec' ( in highp 3-component vector of float)
0:273    Sequence
0:273      Branch: Return with expression
0:273        'vec' ( in highp 3-component vector of float)
0:275  Function Definition: TDFastDeformTangent(vf3;vf4;vf3; ( global highp 3-component vector of float)
0:275    Function Parameters: 
0:275      'oldNorm' ( in highp 3-component vector of float)
0:275      'oldTangent' ( in highp 4-component vector of float)
0:275      'deformedNorm' ( in highp 3-component vector of float)
0:276    Sequence
0:276      Branch: Return with expression
0:276        vector swizzle ( temp highp 3-component vector of float)
0:276          'oldTangent' ( in highp 4-component vector of float)
0:276          Sequence
0:276            Constant:
0:276              0 (const int)
0:276            Constant:
0:276              1 (const int)
0:276            Constant:
0:276              2 (const int)
0:277  Function Definition: TDBoneMat(i1; ( global highp 4X4 matrix of float)
0:277    Function Parameters: 
0:277      'index' ( in highp int)
0:278    Sequence
0:278      Branch: Return with expression
0:278        Constant:
0:278          1.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          1.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          1.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          0.000000
0:278          1.000000
0:280  Function Definition: TDDeform(vf4; ( global highp 4-component vector of float)
0:280    Function Parameters: 
0:280      'pos' ( in highp 4-component vector of float)
0:281    Sequence
0:281      move second child to first child ( temp highp 4-component vector of float)
0:281        'pos' ( in highp 4-component vector of float)
0:281        Function Call: TDSkinnedDeform(vf4; ( global highp 4-component vector of float)
0:281          'pos' ( in highp 4-component vector of float)
0:282      move second child to first child ( temp highp 4-component vector of float)
0:282        'pos' ( in highp 4-component vector of float)
0:282        Function Call: TDInstanceDeform(vf4; ( global highp 4-component vector of float)
0:282          'pos' ( in highp 4-component vector of float)
0:283      Branch: Return with expression
0:283        'pos' ( in highp 4-component vector of float)
0:286  Function Definition: TDDeform(i1;vf3; ( global highp 4-component vector of float)
0:286    Function Parameters: 
0:286      'instanceID' ( in highp int)
0:286      'p' ( in highp 3-component vector of float)
0:287    Sequence
0:287      Sequence
0:287        move second child to first child ( temp highp 4-component vector of float)
0:287          'pos' ( temp highp 4-component vector of float)
0:287          Construct vec4 ( temp highp 4-component vector of float)
0:287            'p' ( in highp 3-component vector of float)
0:287            Constant:
0:287              1.000000
0:288      move second child to first child ( temp highp 4-component vector of float)
0:288        'pos' ( temp highp 4-component vector of float)
0:288        Function Call: TDSkinnedDeform(vf4; ( global highp 4-component vector of float)
0:288          'pos' ( temp highp 4-component vector of float)
0:289      move second child to first child ( temp highp 4-component vector of float)
0:289        'pos' ( temp highp 4-component vector of float)
0:289        Function Call: TDInstanceDeform(i1;vf4; ( global highp 4-component vector of float)
0:289          'instanceID' ( in highp int)
0:289          'pos' ( temp highp 4-component vector of float)
0:290      Branch: Return with expression
0:290        'pos' ( temp highp 4-component vector of float)
0:293  Function Definition: TDDeform(vf3; ( global highp 4-component vector of float)
0:293    Function Parameters: 
0:293      'pos' ( in highp 3-component vector of float)
0:294    Sequence
0:294      Branch: Return with expression
0:294        Function Call: TDDeform(i1;vf3; ( global highp 4-component vector of float)
0:294          Function Call: TDInstanceID( ( global highp int)
0:294          'pos' ( in highp 3-component vector of float)
0:297  Function Definition: TDDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:297    Function Parameters: 
0:297      'instanceID' ( in highp int)
0:297      'vec' ( in highp 3-component vector of float)
0:298    Sequence
0:298      move second child to first child ( temp highp 3-component vector of float)
0:298        'vec' ( in highp 3-component vector of float)
0:298        Function Call: TDSkinnedDeformVec(vf3; ( global highp 3-component vector of float)
0:298          'vec' ( in highp 3-component vector of float)
0:299      move second child to first child ( temp highp 3-component vector of float)
0:299        'vec' ( in highp 3-component vector of float)
0:299        Function Call: TDInstanceDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:299          'instanceID' ( in highp int)
0:299          'vec' ( in highp 3-component vector of float)
0:300      Branch: Return with expression
0:300        'vec' ( in highp 3-component vector of float)
0:303  Function Definition: TDDeformVec(vf3; ( global highp 3-component vector of float)
0:303    Function Parameters: 
0:303      'vec' ( in highp 3-component vector of float)
0:304    Sequence
0:304      Branch: Return with expression
0:304        Function Call: TDDeformVec(i1;vf3; ( global highp 3-component vector of float)
0:304          Function Call: TDInstanceID( ( global highp int)
0:304          'vec' ( in highp 3-component vector of float)
0:307  Function Definition: TDDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:307    Function Parameters: 
0:307      'instanceID' ( in highp int)
0:307      'vec' ( in highp 3-component vector of float)
0:308    Sequence
0:308      move second child to first child ( temp highp 3-component vector of float)
0:308        'vec' ( in highp 3-component vector of float)
0:308        Function Call: TDSkinnedDeformVec(vf3; ( global highp 3-component vector of float)
0:308          'vec' ( in highp 3-component vector of float)
0:309      move second child to first child ( temp highp 3-component vector of float)
0:309        'vec' ( in highp 3-component vector of float)
0:309        Function Call: TDInstanceDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:309          'instanceID' ( in highp int)
0:309          'vec' ( in highp 3-component vector of float)
0:310      Branch: Return with expression
0:310        'vec' ( in highp 3-component vector of float)
0:313  Function Definition: TDDeformNorm(vf3; ( global highp 3-component vector of float)
0:313    Function Parameters: 
0:313      'vec' ( in highp 3-component vector of float)
0:314    Sequence
0:314      Branch: Return with expression
0:314        Function Call: TDDeformNorm(i1;vf3; ( global highp 3-component vector of float)
0:314          Function Call: TDInstanceID( ( global highp int)
0:314          'vec' ( in highp 3-component vector of float)
0:317  Function Definition: TDSkinnedDeformNorm(vf3; ( global highp 3-component vector of float)
0:317    Function Parameters: 
0:317      'vec' ( in highp 3-component vector of float)
0:318    Sequence
0:318      move second child to first child ( temp highp 3-component vector of float)
0:318        'vec' ( in highp 3-component vector of float)
0:318        Function Call: TDSkinnedDeformVec(vf3; ( global highp 3-component vector of float)
0:318          'vec' ( in highp 3-component vector of float)
0:319      Branch: Return with expression
0:319        'vec' ( in highp 3-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal})
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float nearFar,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor,  global highp int renderTOPCameraIndex} uTDCamInfos})
0:?     'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform structure{ global highp 4-component vector of float ambientColor,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float viewport,  global highp 4-component vector of float viewportRes,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor} uTDGeneral})
0:?     'P' (layout( location=0) in highp 3-component vector of float)
0:?     'N' (layout( location=1) in highp 3-component vector of float)
0:?     'Cd' (layout( location=2) in highp 4-component vector of float)
0:?     'uv' (layout( location=3) in 8-element array of highp 3-component vector of float)
0:?     'oVert' ( out block{ out highp 4-component vector of float color,  out highp 3-component vector of float worldSpacePos,  out highp 3-component vector of float texCoord0,  flat out highp int cameraIndex,  flat out highp int instance})
0:?     'anon@4' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out 1-element array of float ClipDistance gl_ClipDistance,  out 1-element array of float CullDistance gl_CullDistance})
0:?     'gl_VertexIndex' ( in int VertexIndex)
0:?     'gl_InstanceIndex' ( in int InstanceIndex)
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float position,  global highp 3-component vector of float direction,  global highp 3-component vector of float diffuse,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float lightSize,  global highp 4-component vector of float misc,  global highp 4-component vector of float coneLookupScaleBias,  global highp 4-component vector of float attenScaleBiasRoll, layout( column_major std140) global highp 4X4 matrix of float shadowMapMatrix, layout( column_major std140) global highp 4X4 matrix of float shadowMapCamMatrix,  global highp 4-component vector of float shadowMapRes, layout( column_major std140) global highp 4X4 matrix of float projMapMatrix} uTDLights})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 3-component vector of float color, layout( column_major std140) global highp 3X3 matrix of float rotate} uTDEnvLights})
0:?     'uTDEnvLightBuffers' (layout( column_major std430) restrict readonly buffer 1-element array of block{layout( column_major std430 offset=0) restrict readonly buffer 9-element array of highp 3-component vector of float shCoeffs})
0:?     'mTD2DImageOutputs' (layout( rgba8) uniform 1-element array of highp image2D)
0:?     'mTD2DArrayImageOutputs' (layout( rgba8) uniform 1-element array of highp image2DArray)
0:?     'mTD3DImageOutputs' (layout( rgba8) uniform 1-element array of highp image3D)
0:?     'mTDCubeImageOutputs' (layout( rgba8) uniform 1-element array of highp imageCube)
0:?     'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:?     'sTDInstanceTexCoord' (layout( binding=16) uniform highp samplerBuffer)
0:?     'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:95  Function Definition: main( ( global void)
0:95    Function Parameters: 
0:99    Sequence
0:99      Function Call: TDCheckDiscard( ( global void)
0:101      Sequence
0:101        move second child to first child ( temp highp 4-component vector of float)
0:101          'outcol' ( temp highp 4-component vector of float)
0:101          Constant:
0:101            0.000000
0:101            0.000000
0:101            0.000000
0:101            0.000000
0:103      Sequence
0:103        move second child to first child ( temp highp 3-component vector of float)
0:103          'texCoord0' ( temp highp 3-component vector of float)
0:103          vector swizzle ( temp highp 3-component vector of float)
0:103            texCoord0: direct index for structure ( in highp 3-component vector of float)
0:103              'iVert' ( in block{ in highp 4-component vector of float color,  in highp 3-component vector of float worldSpacePos,  in highp 3-component vector of float texCoord0,  flat in highp int cameraIndex,  flat in highp int instance})
0:103              Constant:
0:103                2 (const int)
0:103            Sequence
0:103              Constant:
0:103                0 (const int)
0:103              Constant:
0:103                1 (const int)
0:103              Constant:
0:103                2 (const int)
0:104      Sequence
0:104        move second child to first child ( temp highp float)
0:104          'actualTexZ' ( temp highp float)
0:104          mod ( global highp float)
0:104            Convert int to float ( temp highp float)
0:104              Convert float to int ( temp highp int)
0:104                direct index ( temp highp float)
0:104                  'texCoord0' ( temp highp 3-component vector of float)
0:104                  Constant:
0:104                    2 (const int)
0:104            Constant:
0:104              2048.000000
0:105      Sequence
0:105        move second child to first child ( temp highp float)
0:105          'instanceLoop' ( temp highp float)
0:105          Floor ( global highp float)
0:105            Convert int to float ( temp highp float)
0:105              divide ( temp highp int)
0:105                Convert float to int ( temp highp int)
0:105                  direct index ( temp highp float)
0:105                    'texCoord0' ( temp highp 3-component vector of float)
0:105                    Constant:
0:105                      2 (const int)
0:105                Constant:
0:105                  2048 (const int)
0:106      move second child to first child ( temp highp float)
0:106        direct index ( temp highp float)
0:106          'texCoord0' ( temp highp 3-component vector of float)
0:106          Constant:
0:106            2 (const int)
0:106        'actualTexZ' ( temp highp float)
0:107      Sequence
0:107        move second child to first child ( temp highp 4-component vector of float)
0:107          'colorMapColor' ( temp highp 4-component vector of float)
0:107          texture ( global highp 4-component vector of float)
0:107            'sColorMap' ( uniform highp sampler2DArray)
0:107            vector swizzle ( temp highp 3-component vector of float)
0:107              'texCoord0' ( temp highp 3-component vector of float)
0:107              Sequence
0:107                Constant:
0:107                  0 (const int)
0:107                Constant:
0:107                  1 (const int)
0:107                Constant:
0:107                  2 (const int)
0:109      Sequence
0:109        move second child to first child ( temp highp float)
0:109          'red' ( temp highp float)
0:109          indirect index ( temp highp float)
0:109            'colorMapColor' ( temp highp 4-component vector of float)
0:109            Convert float to int ( temp highp int)
0:109              'instanceLoop' ( temp highp float)
0:110      move second child to first child ( temp highp 4-component vector of float)
0:110        'colorMapColor' ( temp highp 4-component vector of float)
0:110        Construct vec4 ( temp highp 4-component vector of float)
0:110          'red' ( temp highp float)
0:112      add second child into first child ( temp highp 3-component vector of float)
0:112        vector swizzle ( temp highp 3-component vector of float)
0:112          'outcol' ( temp highp 4-component vector of float)
0:112          Sequence
0:112            Constant:
0:112              0 (const int)
0:112            Constant:
0:112              1 (const int)
0:112            Constant:
0:112              2 (const int)
0:112        component-wise multiply ( temp highp 3-component vector of float)
0:112          uConstant: direct index for structure ( uniform highp 3-component vector of float)
0:112            'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:112            Constant:
0:112              3 (const uint)
0:112          vector swizzle ( temp highp 3-component vector of float)
0:112            color: direct index for structure ( in highp 4-component vector of float)
0:112              'iVert' ( in block{ in highp 4-component vector of float color,  in highp 3-component vector of float worldSpacePos,  in highp 3-component vector of float texCoord0,  flat in highp int cameraIndex,  flat in highp int instance})
0:112              Constant:
0:112                0 (const int)
0:112            Sequence
0:112              Constant:
0:112                0 (const int)
0:112              Constant:
0:112                1 (const int)
0:112              Constant:
0:112                2 (const int)
0:114      multiply second child into first child ( temp highp 4-component vector of float)
0:114        'outcol' ( temp highp 4-component vector of float)
0:114        'colorMapColor' ( temp highp 4-component vector of float)
0:117      Sequence
0:117        move second child to first child ( temp highp float)
0:117          'alpha' ( temp highp float)
0:117          component-wise multiply ( temp highp float)
0:117            direct index ( temp highp float)
0:117              color: direct index for structure ( in highp 4-component vector of float)
0:117                'iVert' ( in block{ in highp 4-component vector of float color,  in highp 3-component vector of float worldSpacePos,  in highp 3-component vector of float texCoord0,  flat in highp int cameraIndex,  flat in highp int instance})
0:117                Constant:
0:117                  0 (const int)
0:117              Constant:
0:117                3 (const int)
0:117            direct index ( temp highp float)
0:117              'colorMapColor' ( temp highp 4-component vector of float)
0:117              Constant:
0:117                3 (const int)
0:120      move second child to first child ( temp highp 4-component vector of float)
0:120        'outcol' ( temp highp 4-component vector of float)
0:120        Function Call: TDDither(vf4; ( global highp 4-component vector of float)
0:120          'outcol' ( temp highp 4-component vector of float)
0:122      vector scale second child into first child ( temp highp 3-component vector of float)
0:122        vector swizzle ( temp highp 3-component vector of float)
0:122          'outcol' ( temp highp 4-component vector of float)
0:122          Sequence
0:122            Constant:
0:122              0 (const int)
0:122            Constant:
0:122              1 (const int)
0:122            Constant:
0:122              2 (const int)
0:122        'alpha' ( temp highp float)
0:126      Function Call: TDAlphaTest(f1; ( global void)
0:126        'alpha' ( temp highp float)
0:128      move second child to first child ( temp highp float)
0:128        direct index ( temp highp float)
0:128          'outcol' ( temp highp 4-component vector of float)
0:128          Constant:
0:128            3 (const int)
0:128        'alpha' ( temp highp float)
0:129      move second child to first child ( temp highp 4-component vector of float)
0:129        direct index (layout( location=0) temp highp 4-component vector of float)
0:129          'oFragColor' (layout( location=0) out 1-element array of highp 4-component vector of float)
0:129          Constant:
0:129            0 (const int)
0:129        Function Call: TDOutputSwizzle(vf4; ( global highp 4-component vector of float)
0:129          'outcol' ( temp highp 4-component vector of float)
0:135      Sequence
0:135        Sequence
0:135          move second child to first child ( temp highp int)
0:135            'i' ( temp highp int)
0:135            Constant:
0:135              1 (const int)
0:135        Loop with condition tested first
0:135          Loop Condition
0:135          Compare Less Than ( temp bool)
0:135            'i' ( temp highp int)
0:135            Constant:
0:135              1 (const int)
0:135          Loop Body
0:137          Sequence
0:137            move second child to first child ( temp highp 4-component vector of float)
0:137              indirect index (layout( location=0) temp highp 4-component vector of float)
0:137                'oFragColor' (layout( location=0) out 1-element array of highp 4-component vector of float)
0:137                'i' ( temp highp int)
0:137              Constant:
0:137                0.000000
0:137                0.000000
0:137                0.000000
0:137                0.000000
0:135          Loop Terminal Expression
0:135          Post-Increment ( temp highp int)
0:135            'i' ( temp highp int)
0:116  Function Definition: TDColor(vf4; ( global highp 4-component vector of float)
0:116    Function Parameters: 
0:116      'color' ( in highp 4-component vector of float)
0:116    Sequence
0:116      Branch: Return with expression
0:116        'color' ( in highp 4-component vector of float)
0:117  Function Definition: TDCheckOrderIndTrans( ( global void)
0:117    Function Parameters: 
0:119  Function Definition: TDCheckDiscard( ( global void)
0:119    Function Parameters: 
0:120    Sequence
0:120      Function Call: TDCheckOrderIndTrans( ( global void)
0:122  Function Definition: TDDither(vf4; ( global highp 4-component vector of float)
0:122    Function Parameters: 
0:122      'color' ( in highp 4-component vector of float)
0:124    Sequence
0:124      Sequence
0:124        move second child to first child ( temp highp float)
0:124          'd' ( temp highp float)
0:125          direct index ( temp highp float)
0:125            texture ( global highp 4-component vector of float)
0:124              'sTDNoiseMap' ( uniform highp sampler2D)
0:125              divide ( temp highp 2-component vector of float)
0:125                vector swizzle ( temp highp 2-component vector of float)
0:125                  'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
0:125                  Sequence
0:125                    Constant:
0:125                      0 (const int)
0:125                    Constant:
0:125                      1 (const int)
0:125                Constant:
0:125                  256.000000
0:125            Constant:
0:125              0 (const int)
0:126      subtract second child into first child ( temp highp float)
0:126        'd' ( temp highp float)
0:126        Constant:
0:126          0.500000
0:127      divide second child into first child ( temp highp float)
0:127        'd' ( temp highp float)
0:127        Constant:
0:127          256.000000
0:128      Branch: Return with expression
0:128        Construct vec4 ( temp highp 4-component vector of float)
0:128          add ( temp highp 3-component vector of float)
0:128            vector swizzle ( temp highp 3-component vector of float)
0:128              'color' ( in highp 4-component vector of float)
0:128              Sequence
0:128                Constant:
0:128                  0 (const int)
0:128                Constant:
0:128                  1 (const int)
0:128                Constant:
0:128                  2 (const int)
0:128            'd' ( temp highp float)
0:128          direct index ( temp highp float)
0:128            'color' ( in highp 4-component vector of float)
0:128            Constant:
0:128              3 (const int)
0:130  Function Definition: TDFrontFacing(vf3;vf3; ( global bool)
0:130    Function Parameters: 
0:130      'pos' ( in highp 3-component vector of float)
0:130      'normal' ( in highp 3-component vector of float)
0:132    Sequence
0:132      Branch: Return with expression
0:132        'gl_FrontFacing' ( gl_FrontFacing bool Face)
0:134  Function Definition: TDAttenuateLight(i1;f1; ( global highp float)
0:134    Function Parameters: 
0:134      'index' ( in highp int)
0:134      'lightDist' ( in highp float)
0:136    Sequence
0:136      Branch: Return with expression
0:136        Constant:
0:136          1.000000
0:138  Function Definition: TDAlphaTest(f1; ( global void)
0:138    Function Parameters: 
0:138      'alpha' ( in highp float)
0:140  Function Definition: TDHardShadow(i1;vf3; ( global highp float)
0:140    Function Parameters: 
0:140      'lightIndex' ( in highp int)
0:140      'worldSpacePos' ( in highp 3-component vector of float)
0:141    Sequence
0:141      Branch: Return with expression
0:141        Constant:
0:141          0.000000
0:142  Function Definition: TDSoftShadow(i1;vf3;i1;i1; ( global highp float)
0:142    Function Parameters: 
0:142      'lightIndex' ( in highp int)
0:142      'worldSpacePos' ( in highp 3-component vector of float)
0:142      'samples' ( in highp int)
0:142      'steps' ( in highp int)
0:143    Sequence
0:143      Branch: Return with expression
0:143        Constant:
0:143          0.000000
0:144  Function Definition: TDSoftShadow(i1;vf3; ( global highp float)
0:144    Function Parameters: 
0:144      'lightIndex' ( in highp int)
0:144      'worldSpacePos' ( in highp 3-component vector of float)
0:145    Sequence
0:145      Branch: Return with expression
0:145        Constant:
0:145          0.000000
0:146  Function Definition: TDShadow(i1;vf3; ( global highp float)
0:146    Function Parameters: 
0:146      'lightIndex' ( in highp int)
0:146      'worldSpacePos' ( in highp 3-component vector of float)
0:147    Sequence
0:147      Branch: Return with expression
0:147        Constant:
0:147          0.000000
0:152  Function Definition: iTDRadicalInverse_VdC(u1; ( global highp float)
0:152    Function Parameters: 
0:152      'bits' ( in highp uint)
0:154    Sequence
0:154      move second child to first child ( temp highp uint)
0:154        'bits' ( in highp uint)
0:154        inclusive-or ( temp highp uint)
0:154          left-shift ( temp highp uint)
0:154            'bits' ( in highp uint)
0:154            Constant:
0:154              16 (const uint)
0:154          right-shift ( temp highp uint)
0:154            'bits' ( in highp uint)
0:154            Constant:
0:154              16 (const uint)
0:155      move second child to first child ( temp highp uint)
0:155        'bits' ( in highp uint)
0:155        inclusive-or ( temp highp uint)
0:155          left-shift ( temp highp uint)
0:155            bitwise and ( temp highp uint)
0:155              'bits' ( in highp uint)
0:155              Constant:
0:155                1431655765 (const uint)
0:155            Constant:
0:155              1 (const uint)
0:155          right-shift ( temp highp uint)
0:155            bitwise and ( temp highp uint)
0:155              'bits' ( in highp uint)
0:155              Constant:
0:155                2863311530 (const uint)
0:155            Constant:
0:155              1 (const uint)
0:156      move second child to first child ( temp highp uint)
0:156        'bits' ( in highp uint)
0:156        inclusive-or ( temp highp uint)
0:156          left-shift ( temp highp uint)
0:156            bitwise and ( temp highp uint)
0:156              'bits' ( in highp uint)
0:156              Constant:
0:156                858993459 (const uint)
0:156            Constant:
0:156              2 (const uint)
0:156          right-shift ( temp highp uint)
0:156            bitwise and ( temp highp uint)
0:156              'bits' ( in highp uint)
0:156              Constant:
0:156                3435973836 (const uint)
0:156            Constant:
0:156              2 (const uint)
0:157      move second child to first child ( temp highp uint)
0:157        'bits' ( in highp uint)
0:157        inclusive-or ( temp highp uint)
0:157          left-shift ( temp highp uint)
0:157            bitwise and ( temp highp uint)
0:157              'bits' ( in highp uint)
0:157              Constant:
0:157                252645135 (const uint)
0:157            Constant:
0:157              4 (const uint)
0:157          right-shift ( temp highp uint)
0:157            bitwise and ( temp highp uint)
0:157              'bits' ( in highp uint)
0:157              Constant:
0:157                4042322160 (const uint)
0:157            Constant:
0:157              4 (const uint)
0:158      move second child to first child ( temp highp uint)
0:158        'bits' ( in highp uint)
0:158        inclusive-or ( temp highp uint)
0:158          left-shift ( temp highp uint)
0:158            bitwise and ( temp highp uint)
0:158              'bits' ( in highp uint)
0:158              Constant:
0:158                16711935 (const uint)
0:158            Constant:
0:158              8 (const uint)
0:158          right-shift ( temp highp uint)
0:158            bitwise and ( temp highp uint)
0:158              'bits' ( in highp uint)
0:158              Constant:
0:158                4278255360 (const uint)
0:158            Constant:
0:158              8 (const uint)
0:159      Branch: Return with expression
0:159        component-wise multiply ( temp highp float)
0:159          Convert uint to float ( temp highp float)
0:159            'bits' ( in highp uint)
0:159          Constant:
0:159            2.3283064365387e-10
0:161  Function Definition: iTDHammersley(u1;u1; ( global highp 2-component vector of float)
0:161    Function Parameters: 
0:161      'i' ( in highp uint)
0:161      'N' ( in highp uint)
0:163    Sequence
0:163      Branch: Return with expression
0:163        Construct vec2 ( temp highp 2-component vector of float)
0:163          divide ( temp highp float)
0:163            Convert uint to float ( temp highp float)
0:163              'i' ( in highp uint)
0:163            Convert uint to float ( temp highp float)
0:163              'N' ( in highp uint)
0:163          Function Call: iTDRadicalInverse_VdC(u1; ( global highp float)
0:163            'i' ( in highp uint)
0:165  Function Definition: iTDImportanceSampleGGX(vf2;f1;vf3; ( global highp 3-component vector of float)
0:165    Function Parameters: 
0:165      'Xi' ( in highp 2-component vector of float)
0:165      'roughness2' ( in highp float)
0:165      'N' ( in highp 3-component vector of float)
0:167    Sequence
0:167      Sequence
0:167        move second child to first child ( temp highp float)
0:167          'a' ( temp highp float)
0:167          'roughness2' ( in highp float)
0:168      Sequence
0:168        move second child to first child ( temp highp float)
0:168          'phi' ( temp highp float)
0:168          component-wise multiply ( temp highp float)
0:168            Constant:
0:168              6.283185
0:168            direct index ( temp highp float)
0:168              'Xi' ( in highp 2-component vector of float)
0:168              Constant:
0:168                0 (const int)
0:169      Sequence
0:169        move second child to first child ( temp highp float)
0:169          'cosTheta' ( temp highp float)
0:169          sqrt ( global highp float)
0:169            divide ( temp highp float)
0:169              subtract ( temp highp float)
0:169                Constant:
0:169                  1.000000
0:169                direct index ( temp highp float)
0:169                  'Xi' ( in highp 2-component vector of float)
0:169                  Constant:
0:169                    1 (const int)
0:169              add ( temp highp float)
0:169                Constant:
0:169                  1.000000
0:169                component-wise multiply ( temp highp float)
0:169                  subtract ( temp highp float)
0:169                    component-wise multiply ( temp highp float)
0:169                      'a' ( temp highp float)
0:169                      'a' ( temp highp float)
0:169                    Constant:
0:169                      1.000000
0:169                  direct index ( temp highp float)
0:169                    'Xi' ( in highp 2-component vector of float)
0:169                    Constant:
0:169                      1 (const int)
0:170      Sequence
0:170        move second child to first child ( temp highp float)
0:170          'sinTheta' ( temp highp float)
0:170          sqrt ( global highp float)
0:170            subtract ( temp highp float)
0:170              Constant:
0:170                1.000000
0:170              component-wise multiply ( temp highp float)
0:170                'cosTheta' ( temp highp float)
0:170                'cosTheta' ( temp highp float)
0:173      move second child to first child ( temp highp float)
0:173        direct index ( temp highp float)
0:173          'H' ( temp highp 3-component vector of float)
0:173          Constant:
0:173            0 (const int)
0:173        component-wise multiply ( temp highp float)
0:173          'sinTheta' ( temp highp float)
0:173          cosine ( global highp float)
0:173            'phi' ( temp highp float)
0:174      move second child to first child ( temp highp float)
0:174        direct index ( temp highp float)
0:174          'H' ( temp highp 3-component vector of float)
0:174          Constant:
0:174            1 (const int)
0:174        component-wise multiply ( temp highp float)
0:174          'sinTheta' ( temp highp float)
0:174          sine ( global highp float)
0:174            'phi' ( temp highp float)
0:175      move second child to first child ( temp highp float)
0:175        direct index ( temp highp float)
0:175          'H' ( temp highp 3-component vector of float)
0:175          Constant:
0:175            2 (const int)
0:175        'cosTheta' ( temp highp float)
0:177      Sequence
0:177        move second child to first child ( temp highp 3-component vector of float)
0:177          'upVector' ( temp highp 3-component vector of float)
0:177          Test condition and select ( temp highp 3-component vector of float)
0:177            Condition
0:177            Compare Less Than ( temp bool)
0:177              Absolute value ( global highp float)
0:177                direct index ( temp highp float)
0:177                  'N' ( in highp 3-component vector of float)
0:177                  Constant:
0:177                    2 (const int)
0:177              Constant:
0:177                0.999000
0:177            true case
0:177            Constant:
0:177              0.000000
0:177              0.000000
0:177              1.000000
0:177            false case
0:177            Constant:
0:177              1.000000
0:177              0.000000
0:177              0.000000
0:178      Sequence
0:178        move second child to first child ( temp highp 3-component vector of float)
0:178          'tangentX' ( temp highp 3-component vector of float)
0:178          normalize ( global highp 3-component vector of float)
0:178            cross-product ( global highp 3-component vector of float)
0:178              'upVector' ( temp highp 3-component vector of float)
0:178              'N' ( in highp 3-component vector of float)
0:179      Sequence
0:179        move second child to first child ( temp highp 3-component vector of float)
0:179          'tangentY' ( temp highp 3-component vector of float)
0:179          cross-product ( global highp 3-component vector of float)
0:179            'N' ( in highp 3-component vector of float)
0:179            'tangentX' ( temp highp 3-component vector of float)
0:182      Sequence
0:182        move second child to first child ( temp highp 3-component vector of float)
0:182          'worldResult' ( temp highp 3-component vector of float)
0:182          add ( temp highp 3-component vector of float)
0:182            add ( temp highp 3-component vector of float)
0:182              vector-scale ( temp highp 3-component vector of float)
0:182                'tangentX' ( temp highp 3-component vector of float)
0:182                direct index ( temp highp float)
0:182                  'H' ( temp highp 3-component vector of float)
0:182                  Constant:
0:182                    0 (const int)
0:182              vector-scale ( temp highp 3-component vector of float)
0:182                'tangentY' ( temp highp 3-component vector of float)
0:182                direct index ( temp highp float)
0:182                  'H' ( temp highp 3-component vector of float)
0:182                  Constant:
0:182                    1 (const int)
0:182            vector-scale ( temp highp 3-component vector of float)
0:182              'N' ( in highp 3-component vector of float)
0:182              direct index ( temp highp float)
0:182                'H' ( temp highp 3-component vector of float)
0:182                Constant:
0:182                  2 (const int)
0:183      Branch: Return with expression
0:183        'worldResult' ( temp highp 3-component vector of float)
0:185  Function Definition: iTDDistributionGGX(vf3;vf3;f1; ( global highp float)
0:185    Function Parameters: 
0:185      'normal' ( in highp 3-component vector of float)
0:185      'half_vector' ( in highp 3-component vector of float)
0:185      'roughness2' ( in highp float)
0:?     Sequence
0:189      Sequence
0:189        move second child to first child ( temp highp float)
0:189          'NdotH' ( temp highp float)
0:189          clamp ( global highp float)
0:189            dot-product ( global highp float)
0:189              'normal' ( in highp 3-component vector of float)
0:189              'half_vector' ( in highp 3-component vector of float)
0:189            Constant:
0:189              1.0000000000000e-06
0:189            Constant:
0:189              1.000000
0:191      Sequence
0:191        move second child to first child ( temp highp float)
0:191          'alpha2' ( temp highp float)
0:191          component-wise multiply ( temp highp float)
0:191            'roughness2' ( in highp float)
0:191            'roughness2' ( in highp float)
0:193      Sequence
0:193        move second child to first child ( temp highp float)
0:193          'denom' ( temp highp float)
0:193          add ( temp highp float)
0:193            component-wise multiply ( temp highp float)
0:193              component-wise multiply ( temp highp float)
0:193                'NdotH' ( temp highp float)
0:193                'NdotH' ( temp highp float)
0:193              subtract ( temp highp float)
0:193                'alpha2' ( temp highp float)
0:193                Constant:
0:193                  1.000000
0:193            Constant:
0:193              1.000000
0:194      move second child to first child ( temp highp float)
0:194        'denom' ( temp highp float)
0:194        max ( global highp float)
0:194          Constant:
0:194            1.0000000000000e-08
0:194          'denom' ( temp highp float)
0:195      Branch: Return with expression
0:195        divide ( temp highp float)
0:195          'alpha2' ( temp highp float)
0:195          component-wise multiply ( temp highp float)
0:195            component-wise multiply ( temp highp float)
0:195              Constant:
0:195                3.141593
0:195              'denom' ( temp highp float)
0:195            'denom' ( temp highp float)
0:197  Function Definition: iTDCalcF(vf3;f1; ( global highp 3-component vector of float)
0:197    Function Parameters: 
0:197      'F0' ( in highp 3-component vector of float)
0:197      'VdotH' ( in highp float)
0:198    Sequence
0:198      Branch: Return with expression
0:198        add ( temp highp 3-component vector of float)
0:198          'F0' ( in highp 3-component vector of float)
0:198          vector-scale ( temp highp 3-component vector of float)
0:198            subtract ( temp highp 3-component vector of float)
0:198              Constant:
0:198                1.000000
0:198                1.000000
0:198                1.000000
0:198              'F0' ( in highp 3-component vector of float)
0:198            pow ( global highp float)
0:198              Constant:
0:198                2.000000
0:198              component-wise multiply ( temp highp float)
0:198                subtract ( temp highp float)
0:198                  component-wise multiply ( temp highp float)
0:198                    Constant:
0:198                      -5.554730
0:198                    'VdotH' ( in highp float)
0:198                  Constant:
0:198                    6.983160
0:198                'VdotH' ( in highp float)
0:201  Function Definition: iTDCalcG(f1;f1;f1; ( global highp float)
0:201    Function Parameters: 
0:201      'NdotL' ( in highp float)
0:201      'NdotV' ( in highp float)
0:201      'k' ( in highp float)
0:202    Sequence
0:202      Sequence
0:202        move second child to first child ( temp highp float)
0:202          'Gl' ( temp highp float)
0:202          divide ( temp highp float)
0:202            Constant:
0:202              1.000000
0:202            add ( temp highp float)
0:202              component-wise multiply ( temp highp float)
0:202                'NdotL' ( in highp float)
0:202                subtract ( temp highp float)
0:202                  Constant:
0:202                    1.000000
0:202                  'k' ( in highp float)
0:202              'k' ( in highp float)
0:203      Sequence
0:203        move second child to first child ( temp highp float)
0:203          'Gv' ( temp highp float)
0:203          divide ( temp highp float)
0:203            Constant:
0:203              1.000000
0:203            add ( temp highp float)
0:203              component-wise multiply ( temp highp float)
0:203                'NdotV' ( in highp float)
0:203                subtract ( temp highp float)
0:203                  Constant:
0:203                    1.000000
0:203                  'k' ( in highp float)
0:203              'k' ( in highp float)
0:204      Branch: Return with expression
0:204        component-wise multiply ( temp highp float)
0:204          'Gl' ( temp highp float)
0:204          'Gv' ( temp highp float)
0:207  Function Definition: TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:207    Function Parameters: 
0:207      'index' ( in highp int)
0:207      'diffuseColor' ( in highp 3-component vector of float)
0:207      'specularColor' ( in highp 3-component vector of float)
0:207      'worldSpacePos' ( in highp 3-component vector of float)
0:207      'normal' ( in highp 3-component vector of float)
0:207      'shadowStrength' ( in highp float)
0:207      'shadowColor' ( in highp 3-component vector of float)
0:207      'camVector' ( in highp 3-component vector of float)
0:207      'roughness' ( in highp float)
0:?     Sequence
0:210      Branch: Return with expression
0:210        'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:213  Function Definition: TDLightingPBR(vf3;vf3;f1;i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global void)
0:213    Function Parameters: 
0:213      'diffuseContrib' ( inout highp 3-component vector of float)
0:213      'specularContrib' ( inout highp 3-component vector of float)
0:213      'shadowStrengthOut' ( inout highp float)
0:213      'index' ( in highp int)
0:213      'diffuseColor' ( in highp 3-component vector of float)
0:213      'specularColor' ( in highp 3-component vector of float)
0:213      'worldSpacePos' ( in highp 3-component vector of float)
0:213      'normal' ( in highp 3-component vector of float)
0:213      'shadowStrength' ( in highp float)
0:213      'shadowColor' ( in highp 3-component vector of float)
0:213      'camVector' ( in highp 3-component vector of float)
0:213      'roughness' ( in highp float)
0:215    Sequence
0:215      Sequence
0:215        move second child to first child ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:215          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:215          Function Call: TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:215            'index' ( in highp int)
0:215            'diffuseColor' ( in highp 3-component vector of float)
0:215            'specularColor' ( in highp 3-component vector of float)
0:215            'worldSpacePos' ( in highp 3-component vector of float)
0:215            'normal' ( in highp 3-component vector of float)
0:215            'shadowStrength' ( in highp float)
0:215            'shadowColor' ( in highp 3-component vector of float)
0:215            'camVector' ( in highp 3-component vector of float)
0:215            'roughness' ( in highp float)
0:215      move second child to first child ( temp highp 3-component vector of float)
0:215        'diffuseContrib' ( inout highp 3-component vector of float)
0:215        diffuse: direct index for structure ( global highp 3-component vector of float)
0:215          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:215          Constant:
0:215            0 (const int)
0:216      move second child to first child ( temp highp 3-component vector of float)
0:216        'specularContrib' ( inout highp 3-component vector of float)
0:216        specular: direct index for structure ( global highp 3-component vector of float)
0:216          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:216          Constant:
0:216            1 (const int)
0:217      move second child to first child ( temp highp float)
0:217        'shadowStrengthOut' ( inout highp float)
0:217        shadowStrength: direct index for structure ( global highp float)
0:217          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:217          Constant:
0:217            2 (const int)
0:220  Function Definition: TDLightingPBR(vf3;vf3;i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global void)
0:220    Function Parameters: 
0:220      'diffuseContrib' ( inout highp 3-component vector of float)
0:220      'specularContrib' ( inout highp 3-component vector of float)
0:220      'index' ( in highp int)
0:220      'diffuseColor' ( in highp 3-component vector of float)
0:220      'specularColor' ( in highp 3-component vector of float)
0:220      'worldSpacePos' ( in highp 3-component vector of float)
0:220      'normal' ( in highp 3-component vector of float)
0:220      'shadowStrength' ( in highp float)
0:220      'shadowColor' ( in highp 3-component vector of float)
0:220      'camVector' ( in highp 3-component vector of float)
0:220      'roughness' ( in highp float)
0:222    Sequence
0:222      Sequence
0:222        move second child to first child ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:222          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:222          Function Call: TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:222            'index' ( in highp int)
0:222            'diffuseColor' ( in highp 3-component vector of float)
0:222            'specularColor' ( in highp 3-component vector of float)
0:222            'worldSpacePos' ( in highp 3-component vector of float)
0:222            'normal' ( in highp 3-component vector of float)
0:222            'shadowStrength' ( in highp float)
0:222            'shadowColor' ( in highp 3-component vector of float)
0:222            'camVector' ( in highp 3-component vector of float)
0:222            'roughness' ( in highp float)
0:222      move second child to first child ( temp highp 3-component vector of float)
0:222        'diffuseContrib' ( inout highp 3-component vector of float)
0:222        diffuse: direct index for structure ( global highp 3-component vector of float)
0:222          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:222          Constant:
0:222            0 (const int)
0:223      move second child to first child ( temp highp 3-component vector of float)
0:223        'specularContrib' ( inout highp 3-component vector of float)
0:223        specular: direct index for structure ( global highp 3-component vector of float)
0:223          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:223          Constant:
0:223            1 (const int)
0:226  Function Definition: TDEnvLightingPBR(i1;vf3;vf3;vf3;vf3;f1;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:226    Function Parameters: 
0:226      'index' ( in highp int)
0:226      'diffuseColor' ( in highp 3-component vector of float)
0:226      'specularColor' ( in highp 3-component vector of float)
0:226      'normal' ( in highp 3-component vector of float)
0:226      'camVector' ( in highp 3-component vector of float)
0:226      'roughness' ( in highp float)
0:226      'ambientOcclusion' ( in highp float)
0:?     Sequence
0:229      Branch: Return with expression
0:229        'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:232  Function Definition: TDEnvLightingPBR(vf3;vf3;i1;vf3;vf3;vf3;vf3;f1;f1; ( global void)
0:232    Function Parameters: 
0:232      'diffuseContrib' ( inout highp 3-component vector of float)
0:232      'specularContrib' ( inout highp 3-component vector of float)
0:232      'index' ( in highp int)
0:232      'diffuseColor' ( in highp 3-component vector of float)
0:232      'specularColor' ( in highp 3-component vector of float)
0:232      'normal' ( in highp 3-component vector of float)
0:232      'camVector' ( in highp 3-component vector of float)
0:232      'roughness' ( in highp float)
0:232      'ambientOcclusion' ( in highp float)
0:234    Sequence
0:234      Sequence
0:234        move second child to first child ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:234          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:234          Function Call: TDEnvLightingPBR(i1;vf3;vf3;vf3;vf3;f1;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:234            'index' ( in highp int)
0:234            'diffuseColor' ( in highp 3-component vector of float)
0:234            'specularColor' ( in highp 3-component vector of float)
0:234            'normal' ( in highp 3-component vector of float)
0:234            'camVector' ( in highp 3-component vector of float)
0:234            'roughness' ( in highp float)
0:234            'ambientOcclusion' ( in highp float)
0:235      move second child to first child ( temp highp 3-component vector of float)
0:235        'diffuseContrib' ( inout highp 3-component vector of float)
0:235        diffuse: direct index for structure ( global highp 3-component vector of float)
0:235          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:235          Constant:
0:235            0 (const int)
0:236      move second child to first child ( temp highp 3-component vector of float)
0:236        'specularContrib' ( inout highp 3-component vector of float)
0:236        specular: direct index for structure ( global highp 3-component vector of float)
0:236          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp float shadowStrength})
0:236          Constant:
0:236            1 (const int)
0:239  Function Definition: TDLighting(i1;vf3;vf3;f1;vf3;vf3;f1;f1; ( global structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:239    Function Parameters: 
0:239      'index' ( in highp int)
0:239      'worldSpacePos' ( in highp 3-component vector of float)
0:239      'normal' ( in highp 3-component vector of float)
0:239      'shadowStrength' ( in highp float)
0:239      'shadowColor' ( in highp 3-component vector of float)
0:239      'camVector' ( in highp 3-component vector of float)
0:239      'shininess' ( in highp float)
0:239      'shininess2' ( in highp float)
0:?     Sequence
0:242      switch
0:242      condition
0:242        'index' ( in highp int)
0:242      body
0:242        Sequence
0:244          default: 
0:?           Sequence
0:245            move second child to first child ( temp highp 3-component vector of float)
0:245              diffuse: direct index for structure ( global highp 3-component vector of float)
0:245                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:245                Constant:
0:245                  0 (const int)
0:245              Constant:
0:245                0.000000
0:245                0.000000
0:245                0.000000
0:246            move second child to first child ( temp highp 3-component vector of float)
0:246              specular: direct index for structure ( global highp 3-component vector of float)
0:246                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:246                Constant:
0:246                  1 (const int)
0:246              Constant:
0:246                0.000000
0:246                0.000000
0:246                0.000000
0:247            move second child to first child ( temp highp 3-component vector of float)
0:247              specular2: direct index for structure ( global highp 3-component vector of float)
0:247                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:247                Constant:
0:247                  2 (const int)
0:247              Constant:
0:247                0.000000
0:247                0.000000
0:247                0.000000
0:248            move second child to first child ( temp highp float)
0:248              shadowStrength: direct index for structure ( global highp float)
0:248                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:248                Constant:
0:248                  3 (const int)
0:248              Constant:
0:248                0.000000
0:249            Branch: Break
0:251      Branch: Return with expression
0:251        'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:254  Function Definition: TDLighting(vf3;vf3;vf3;f1;i1;vf3;vf3;f1;vf3;vf3;f1;f1; ( global void)
0:254    Function Parameters: 
0:254      'diffuseContrib' ( inout highp 3-component vector of float)
0:254      'specularContrib' ( inout highp 3-component vector of float)
0:254      'specularContrib2' ( inout highp 3-component vector of float)
0:254      'shadowStrengthOut' ( inout highp float)
0:254      'index' ( in highp int)
0:254      'worldSpacePos' ( in highp 3-component vector of float)
0:254      'normal' ( in highp 3-component vector of float)
0:254      'shadowStrength' ( in highp float)
0:254      'shadowColor' ( in highp 3-component vector of float)
0:254      'camVector' ( in highp 3-component vector of float)
0:254      'shininess' ( in highp float)
0:254      'shininess2' ( in highp float)
0:?     Sequence
0:257      switch
0:257      condition
0:257        'index' ( in highp int)
0:257      body
0:257        Sequence
0:259          default: 
0:?           Sequence
0:260            move second child to first child ( temp highp 3-component vector of float)
0:260              diffuse: direct index for structure ( global highp 3-component vector of float)
0:260                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:260                Constant:
0:260                  0 (const int)
0:260              Constant:
0:260                0.000000
0:260                0.000000
0:260                0.000000
0:261            move second child to first child ( temp highp 3-component vector of float)
0:261              specular: direct index for structure ( global highp 3-component vector of float)
0:261                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:261                Constant:
0:261                  1 (const int)
0:261              Constant:
0:261                0.000000
0:261                0.000000
0:261                0.000000
0:262            move second child to first child ( temp highp 3-component vector of float)
0:262              specular2: direct index for structure ( global highp 3-component vector of float)
0:262                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:262                Constant:
0:262                  2 (const int)
0:262              Constant:
0:262                0.000000
0:262                0.000000
0:262                0.000000
0:263            move second child to first child ( temp highp float)
0:263              shadowStrength: direct index for structure ( global highp float)
0:263                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:263                Constant:
0:263                  3 (const int)
0:263              Constant:
0:263                0.000000
0:264            Branch: Break
0:266      move second child to first child ( temp highp 3-component vector of float)
0:266        'diffuseContrib' ( inout highp 3-component vector of float)
0:266        diffuse: direct index for structure ( global highp 3-component vector of float)
0:266          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:266          Constant:
0:266            0 (const int)
0:267      move second child to first child ( temp highp 3-component vector of float)
0:267        'specularContrib' ( inout highp 3-component vector of float)
0:267        specular: direct index for structure ( global highp 3-component vector of float)
0:267          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:267          Constant:
0:267            1 (const int)
0:268      move second child to first child ( temp highp 3-component vector of float)
0:268        'specularContrib2' ( inout highp 3-component vector of float)
0:268        specular2: direct index for structure ( global highp 3-component vector of float)
0:268          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:268          Constant:
0:268            2 (const int)
0:269      move second child to first child ( temp highp float)
0:269        'shadowStrengthOut' ( inout highp float)
0:269        shadowStrength: direct index for structure ( global highp float)
0:269          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:269          Constant:
0:269            3 (const int)
0:272  Function Definition: TDLighting(vf3;vf3;vf3;i1;vf3;vf3;f1;vf3;vf3;f1;f1; ( global void)
0:272    Function Parameters: 
0:272      'diffuseContrib' ( inout highp 3-component vector of float)
0:272      'specularContrib' ( inout highp 3-component vector of float)
0:272      'specularContrib2' ( inout highp 3-component vector of float)
0:272      'index' ( in highp int)
0:272      'worldSpacePos' ( in highp 3-component vector of float)
0:272      'normal' ( in highp 3-component vector of float)
0:272      'shadowStrength' ( in highp float)
0:272      'shadowColor' ( in highp 3-component vector of float)
0:272      'camVector' ( in highp 3-component vector of float)
0:272      'shininess' ( in highp float)
0:272      'shininess2' ( in highp float)
0:?     Sequence
0:275      switch
0:275      condition
0:275        'index' ( in highp int)
0:275      body
0:275        Sequence
0:277          default: 
0:?           Sequence
0:278            move second child to first child ( temp highp 3-component vector of float)
0:278              diffuse: direct index for structure ( global highp 3-component vector of float)
0:278                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:278                Constant:
0:278                  0 (const int)
0:278              Constant:
0:278                0.000000
0:278                0.000000
0:278                0.000000
0:279            move second child to first child ( temp highp 3-component vector of float)
0:279              specular: direct index for structure ( global highp 3-component vector of float)
0:279                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:279                Constant:
0:279                  1 (const int)
0:279              Constant:
0:279                0.000000
0:279                0.000000
0:279                0.000000
0:280            move second child to first child ( temp highp 3-component vector of float)
0:280              specular2: direct index for structure ( global highp 3-component vector of float)
0:280                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:280                Constant:
0:280                  2 (const int)
0:280              Constant:
0:280                0.000000
0:280                0.000000
0:280                0.000000
0:281            move second child to first child ( temp highp float)
0:281              shadowStrength: direct index for structure ( global highp float)
0:281                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:281                Constant:
0:281                  3 (const int)
0:281              Constant:
0:281                0.000000
0:282            Branch: Break
0:284      move second child to first child ( temp highp 3-component vector of float)
0:284        'diffuseContrib' ( inout highp 3-component vector of float)
0:284        diffuse: direct index for structure ( global highp 3-component vector of float)
0:284          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:284          Constant:
0:284            0 (const int)
0:285      move second child to first child ( temp highp 3-component vector of float)
0:285        'specularContrib' ( inout highp 3-component vector of float)
0:285        specular: direct index for structure ( global highp 3-component vector of float)
0:285          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:285          Constant:
0:285            1 (const int)
0:286      move second child to first child ( temp highp 3-component vector of float)
0:286        'specularContrib2' ( inout highp 3-component vector of float)
0:286        specular2: direct index for structure ( global highp 3-component vector of float)
0:286          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:286          Constant:
0:286            2 (const int)
0:289  Function Definition: TDLighting(vf3;vf3;i1;vf3;vf3;f1;vf3;vf3;f1; ( global void)
0:289    Function Parameters: 
0:289      'diffuseContrib' ( inout highp 3-component vector of float)
0:289      'specularContrib' ( inout highp 3-component vector of float)
0:289      'index' ( in highp int)
0:289      'worldSpacePos' ( in highp 3-component vector of float)
0:289      'normal' ( in highp 3-component vector of float)
0:289      'shadowStrength' ( in highp float)
0:289      'shadowColor' ( in highp 3-component vector of float)
0:289      'camVector' ( in highp 3-component vector of float)
0:289      'shininess' ( in highp float)
0:?     Sequence
0:292      switch
0:292      condition
0:292        'index' ( in highp int)
0:292      body
0:292        Sequence
0:294          default: 
0:?           Sequence
0:295            move second child to first child ( temp highp 3-component vector of float)
0:295              diffuse: direct index for structure ( global highp 3-component vector of float)
0:295                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:295                Constant:
0:295                  0 (const int)
0:295              Constant:
0:295                0.000000
0:295                0.000000
0:295                0.000000
0:296            move second child to first child ( temp highp 3-component vector of float)
0:296              specular: direct index for structure ( global highp 3-component vector of float)
0:296                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:296                Constant:
0:296                  1 (const int)
0:296              Constant:
0:296                0.000000
0:296                0.000000
0:296                0.000000
0:297            move second child to first child ( temp highp 3-component vector of float)
0:297              specular2: direct index for structure ( global highp 3-component vector of float)
0:297                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:297                Constant:
0:297                  2 (const int)
0:297              Constant:
0:297                0.000000
0:297                0.000000
0:297                0.000000
0:298            move second child to first child ( temp highp float)
0:298              shadowStrength: direct index for structure ( global highp float)
0:298                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:298                Constant:
0:298                  3 (const int)
0:298              Constant:
0:298                0.000000
0:299            Branch: Break
0:301      move second child to first child ( temp highp 3-component vector of float)
0:301        'diffuseContrib' ( inout highp 3-component vector of float)
0:301        diffuse: direct index for structure ( global highp 3-component vector of float)
0:301          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:301          Constant:
0:301            0 (const int)
0:302      move second child to first child ( temp highp 3-component vector of float)
0:302        'specularContrib' ( inout highp 3-component vector of float)
0:302        specular: direct index for structure ( global highp 3-component vector of float)
0:302          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:302          Constant:
0:302            1 (const int)
0:305  Function Definition: TDLighting(vf3;vf3;vf3;i1;vf3;vf3;vf3;f1;f1; ( global void)
0:305    Function Parameters: 
0:305      'diffuseContrib' ( inout highp 3-component vector of float)
0:305      'specularContrib' ( inout highp 3-component vector of float)
0:305      'specularContrib2' ( inout highp 3-component vector of float)
0:305      'index' ( in highp int)
0:305      'worldSpacePos' ( in highp 3-component vector of float)
0:305      'normal' ( in highp 3-component vector of float)
0:305      'camVector' ( in highp 3-component vector of float)
0:305      'shininess' ( in highp float)
0:305      'shininess2' ( in highp float)
0:?     Sequence
0:308      switch
0:308      condition
0:308        'index' ( in highp int)
0:308      body
0:308        Sequence
0:310          default: 
0:?           Sequence
0:311            move second child to first child ( temp highp 3-component vector of float)
0:311              diffuse: direct index for structure ( global highp 3-component vector of float)
0:311                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:311                Constant:
0:311                  0 (const int)
0:311              Constant:
0:311                0.000000
0:311                0.000000
0:311                0.000000
0:312            move second child to first child ( temp highp 3-component vector of float)
0:312              specular: direct index for structure ( global highp 3-component vector of float)
0:312                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:312                Constant:
0:312                  1 (const int)
0:312              Constant:
0:312                0.000000
0:312                0.000000
0:312                0.000000
0:313            move second child to first child ( temp highp 3-component vector of float)
0:313              specular2: direct index for structure ( global highp 3-component vector of float)
0:313                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:313                Constant:
0:313                  2 (const int)
0:313              Constant:
0:313                0.000000
0:313                0.000000
0:313                0.000000
0:314            move second child to first child ( temp highp float)
0:314              shadowStrength: direct index for structure ( global highp float)
0:314                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:314                Constant:
0:314                  3 (const int)
0:314              Constant:
0:314                0.000000
0:315            Branch: Break
0:317      move second child to first child ( temp highp 3-component vector of float)
0:317        'diffuseContrib' ( inout highp 3-component vector of float)
0:317        diffuse: direct index for structure ( global highp 3-component vector of float)
0:317          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:317          Constant:
0:317            0 (const int)
0:318      move second child to first child ( temp highp 3-component vector of float)
0:318        'specularContrib' ( inout highp 3-component vector of float)
0:318        specular: direct index for structure ( global highp 3-component vector of float)
0:318          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:318          Constant:
0:318            1 (const int)
0:319      move second child to first child ( temp highp 3-component vector of float)
0:319        'specularContrib2' ( inout highp 3-component vector of float)
0:319        specular2: direct index for structure ( global highp 3-component vector of float)
0:319          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:319          Constant:
0:319            2 (const int)
0:322  Function Definition: TDLighting(vf3;vf3;i1;vf3;vf3;vf3;f1; ( global void)
0:322    Function Parameters: 
0:322      'diffuseContrib' ( inout highp 3-component vector of float)
0:322      'specularContrib' ( inout highp 3-component vector of float)
0:322      'index' ( in highp int)
0:322      'worldSpacePos' ( in highp 3-component vector of float)
0:322      'normal' ( in highp 3-component vector of float)
0:322      'camVector' ( in highp 3-component vector of float)
0:322      'shininess' ( in highp float)
0:?     Sequence
0:325      switch
0:325      condition
0:325        'index' ( in highp int)
0:325      body
0:325        Sequence
0:327          default: 
0:?           Sequence
0:328            move second child to first child ( temp highp 3-component vector of float)
0:328              diffuse: direct index for structure ( global highp 3-component vector of float)
0:328                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:328                Constant:
0:328                  0 (const int)
0:328              Constant:
0:328                0.000000
0:328                0.000000
0:328                0.000000
0:329            move second child to first child ( temp highp 3-component vector of float)
0:329              specular: direct index for structure ( global highp 3-component vector of float)
0:329                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:329                Constant:
0:329                  1 (const int)
0:329              Constant:
0:329                0.000000
0:329                0.000000
0:329                0.000000
0:330            move second child to first child ( temp highp 3-component vector of float)
0:330              specular2: direct index for structure ( global highp 3-component vector of float)
0:330                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:330                Constant:
0:330                  2 (const int)
0:330              Constant:
0:330                0.000000
0:330                0.000000
0:330                0.000000
0:331            move second child to first child ( temp highp float)
0:331              shadowStrength: direct index for structure ( global highp float)
0:331                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:331                Constant:
0:331                  3 (const int)
0:331              Constant:
0:331                0.000000
0:332            Branch: Break
0:334      move second child to first child ( temp highp 3-component vector of float)
0:334        'diffuseContrib' ( inout highp 3-component vector of float)
0:334        diffuse: direct index for structure ( global highp 3-component vector of float)
0:334          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:334          Constant:
0:334            0 (const int)
0:335      move second child to first child ( temp highp 3-component vector of float)
0:335        'specularContrib' ( inout highp 3-component vector of float)
0:335        specular: direct index for structure ( global highp 3-component vector of float)
0:335          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:335          Constant:
0:335            1 (const int)
0:338  Function Definition: TDLighting(vf3;i1;vf3;vf3; ( global void)
0:338    Function Parameters: 
0:338      'diffuseContrib' ( inout highp 3-component vector of float)
0:338      'index' ( in highp int)
0:338      'worldSpacePos' ( in highp 3-component vector of float)
0:338      'normal' ( in highp 3-component vector of float)
0:?     Sequence
0:341      switch
0:341      condition
0:341        'index' ( in highp int)
0:341      body
0:341        Sequence
0:343          default: 
0:?           Sequence
0:344            move second child to first child ( temp highp 3-component vector of float)
0:344              diffuse: direct index for structure ( global highp 3-component vector of float)
0:344                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:344                Constant:
0:344                  0 (const int)
0:344              Constant:
0:344                0.000000
0:344                0.000000
0:344                0.000000
0:345            move second child to first child ( temp highp 3-component vector of float)
0:345              specular: direct index for structure ( global highp 3-component vector of float)
0:345                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:345                Constant:
0:345                  1 (const int)
0:345              Constant:
0:345                0.000000
0:345                0.000000
0:345                0.000000
0:346            move second child to first child ( temp highp 3-component vector of float)
0:346              specular2: direct index for structure ( global highp 3-component vector of float)
0:346                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:346                Constant:
0:346                  2 (const int)
0:346              Constant:
0:346                0.000000
0:346                0.000000
0:346                0.000000
0:347            move second child to first child ( temp highp float)
0:347              shadowStrength: direct index for structure ( global highp float)
0:347                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:347                Constant:
0:347                  3 (const int)
0:347              Constant:
0:347                0.000000
0:348            Branch: Break
0:350      move second child to first child ( temp highp 3-component vector of float)
0:350        'diffuseContrib' ( inout highp 3-component vector of float)
0:350        diffuse: direct index for structure ( global highp 3-component vector of float)
0:350          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:350          Constant:
0:350            0 (const int)
0:353  Function Definition: TDLighting(vf3;i1;vf3;vf3;f1;vf3; ( global void)
0:353    Function Parameters: 
0:353      'diffuseContrib' ( inout highp 3-component vector of float)
0:353      'index' ( in highp int)
0:353      'worldSpacePos' ( in highp 3-component vector of float)
0:353      'normal' ( in highp 3-component vector of float)
0:353      'shadowStrength' ( in highp float)
0:353      'shadowColor' ( in highp 3-component vector of float)
0:?     Sequence
0:356      switch
0:356      condition
0:356        'index' ( in highp int)
0:356      body
0:356        Sequence
0:358          default: 
0:?           Sequence
0:359            move second child to first child ( temp highp 3-component vector of float)
0:359              diffuse: direct index for structure ( global highp 3-component vector of float)
0:359                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:359                Constant:
0:359                  0 (const int)
0:359              Constant:
0:359                0.000000
0:359                0.000000
0:359                0.000000
0:360            move second child to first child ( temp highp 3-component vector of float)
0:360              specular: direct index for structure ( global highp 3-component vector of float)
0:360                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:360                Constant:
0:360                  1 (const int)
0:360              Constant:
0:360                0.000000
0:360                0.000000
0:360                0.000000
0:361            move second child to first child ( temp highp 3-component vector of float)
0:361              specular2: direct index for structure ( global highp 3-component vector of float)
0:361                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:361                Constant:
0:361                  2 (const int)
0:361              Constant:
0:361                0.000000
0:361                0.000000
0:361                0.000000
0:362            move second child to first child ( temp highp float)
0:362              shadowStrength: direct index for structure ( global highp float)
0:362                'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:362                Constant:
0:362                  3 (const int)
0:362              Constant:
0:362                0.000000
0:363            Branch: Break
0:365      move second child to first child ( temp highp 3-component vector of float)
0:365        'diffuseContrib' ( inout highp 3-component vector of float)
0:365        diffuse: direct index for structure ( global highp 3-component vector of float)
0:365          'res' ( temp structure{ global highp 3-component vector of float diffuse,  global highp 3-component vector of float specular,  global highp 3-component vector of float specular2,  global highp float shadowStrength})
0:365          Constant:
0:365            0 (const int)
0:367  Function Definition: TDProjMap(i1;vf3;vf4; ( global highp 4-component vector of float)
0:367    Function Parameters: 
0:367      'index' ( in highp int)
0:367      'worldSpacePos' ( in highp 3-component vector of float)
0:367      'defaultColor' ( in highp 4-component vector of float)
0:368    Sequence
0:368      switch
0:368      condition
0:368        'index' ( in highp int)
0:368      body
0:368        Sequence
0:370          default: 
0:?           Sequence
0:370            Branch: Return with expression
0:370              'defaultColor' ( in highp 4-component vector of float)
0:373  Function Definition: TDFog(vf4;vf3;i1; ( global highp 4-component vector of float)
0:373    Function Parameters: 
0:373      'color' ( in highp 4-component vector of float)
0:373      'lightingSpacePosition' ( in highp 3-component vector of float)
0:373      'cameraIndex' ( in highp int)
0:374    Sequence
0:374      switch
0:374      condition
0:374        'cameraIndex' ( in highp int)
0:374      body
0:374        Sequence
0:375          default: 
0:376          case:  with expression
0:376            Constant:
0:376              0 (const int)
0:?           Sequence
0:378            Sequence
0:378              Branch: Return with expression
0:378                'color' ( in highp 4-component vector of float)
0:382  Function Definition: TDFog(vf4;vf3; ( global highp 4-component vector of float)
0:382    Function Parameters: 
0:382      'color' ( in highp 4-component vector of float)
0:382      'lightingSpacePosition' ( in highp 3-component vector of float)
0:384    Sequence
0:384      Branch: Return with expression
0:384        Function Call: TDFog(vf4;vf3;i1; ( global highp 4-component vector of float)
0:384          'color' ( in highp 4-component vector of float)
0:384          'lightingSpacePosition' ( in highp 3-component vector of float)
0:384          Constant:
0:384            0 (const int)
0:386  Function Definition: TDInstanceTexCoord(i1;vf3; ( global highp 3-component vector of float)
0:386    Function Parameters: 
0:386      'index' ( in highp int)
0:386      't' ( in highp 3-component vector of float)
0:?     Sequence
0:388      Sequence
0:388        move second child to first child ( temp highp int)
0:388          'coord' ( temp highp int)
0:388          'index' ( in highp int)
0:389      Sequence
0:389        move second child to first child ( temp highp 4-component vector of float)
0:389          'samp' ( temp highp 4-component vector of float)
0:389          textureFetch ( global highp 4-component vector of float)
0:389            'sTDInstanceTexCoord' (layout( binding=16) uniform highp samplerBuffer)
0:389            'coord' ( temp highp int)
0:390      move second child to first child ( temp highp float)
0:390        direct index ( temp highp float)
0:390          'v' ( temp highp 3-component vector of float)
0:390          Constant:
0:390            0 (const int)
0:390        direct index ( temp highp float)
0:390          't' ( in highp 3-component vector of float)
0:390          Constant:
0:390            0 (const int)
0:391      move second child to first child ( temp highp float)
0:391        direct index ( temp highp float)
0:391          'v' ( temp highp 3-component vector of float)
0:391          Constant:
0:391            1 (const int)
0:391        direct index ( temp highp float)
0:391          't' ( in highp 3-component vector of float)
0:391          Constant:
0:391            1 (const int)
0:392      move second child to first child ( temp highp float)
0:392        direct index ( temp highp float)
0:392          'v' ( temp highp 3-component vector of float)
0:392          Constant:
0:392            2 (const int)
0:392        direct index ( temp highp float)
0:392          'samp' ( temp highp 4-component vector of float)
0:392          Constant:
0:392            0 (const int)
0:393      move second child to first child ( temp highp 3-component vector of float)
0:393        vector swizzle ( temp highp 3-component vector of float)
0:393          't' ( in highp 3-component vector of float)
0:393          Sequence
0:393            Constant:
0:393              0 (const int)
0:393            Constant:
0:393              1 (const int)
0:393            Constant:
0:393              2 (const int)
0:393        vector swizzle ( temp highp 3-component vector of float)
0:393          'v' ( temp highp 3-component vector of float)
0:393          Sequence
0:393            Constant:
0:393              0 (const int)
0:393            Constant:
0:393              1 (const int)
0:393            Constant:
0:393              2 (const int)
0:394      Branch: Return with expression
0:394        't' ( in highp 3-component vector of float)
0:396  Function Definition: TDInstanceActive(i1; ( global bool)
0:396    Function Parameters: 
0:396      'index' ( in highp int)
0:397    Sequence
0:397      subtract second child into first child ( temp highp int)
0:397        'index' ( in highp int)
0:397        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:397          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:397          Constant:
0:397            0 (const uint)
0:399      Sequence
0:399        move second child to first child ( temp highp int)
0:399          'coord' ( temp highp int)
0:399          'index' ( in highp int)
0:400      Sequence
0:400        move second child to first child ( temp highp 4-component vector of float)
0:400          'samp' ( temp highp 4-component vector of float)
0:400          textureFetch ( global highp 4-component vector of float)
0:400            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:400            'coord' ( temp highp int)
0:401      move second child to first child ( temp highp float)
0:401        'v' ( temp highp float)
0:401        direct index ( temp highp float)
0:401          'samp' ( temp highp 4-component vector of float)
0:401          Constant:
0:401            0 (const int)
0:402      Branch: Return with expression
0:402        Compare Not Equal ( temp bool)
0:402          'v' ( temp highp float)
0:402          Constant:
0:402            0.000000
0:404  Function Definition: iTDInstanceTranslate(i1;b1; ( global highp 3-component vector of float)
0:404    Function Parameters: 
0:404      'index' ( in highp int)
0:404      'instanceActive' ( out bool)
0:405    Sequence
0:405      Sequence
0:405        move second child to first child ( temp highp int)
0:405          'origIndex' ( temp highp int)
0:405          'index' ( in highp int)
0:406      subtract second child into first child ( temp highp int)
0:406        'index' ( in highp int)
0:406        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:406          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:406          Constant:
0:406            0 (const uint)
0:408      Sequence
0:408        move second child to first child ( temp highp int)
0:408          'coord' ( temp highp int)
0:408          'index' ( in highp int)
0:409      Sequence
0:409        move second child to first child ( temp highp 4-component vector of float)
0:409          'samp' ( temp highp 4-component vector of float)
0:409          textureFetch ( global highp 4-component vector of float)
0:409            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:409            'coord' ( temp highp int)
0:410      move second child to first child ( temp highp float)
0:410        direct index ( temp highp float)
0:410          'v' ( temp highp 3-component vector of float)
0:410          Constant:
0:410            0 (const int)
0:410        direct index ( temp highp float)
0:410          'samp' ( temp highp 4-component vector of float)
0:410          Constant:
0:410            1 (const int)
0:411      move second child to first child ( temp highp float)
0:411        direct index ( temp highp float)
0:411          'v' ( temp highp 3-component vector of float)
0:411          Constant:
0:411            1 (const int)
0:411        direct index ( temp highp float)
0:411          'samp' ( temp highp 4-component vector of float)
0:411          Constant:
0:411            2 (const int)
0:412      move second child to first child ( temp highp float)
0:412        direct index ( temp highp float)
0:412          'v' ( temp highp 3-component vector of float)
0:412          Constant:
0:412            2 (const int)
0:412        direct index ( temp highp float)
0:412          'samp' ( temp highp 4-component vector of float)
0:412          Constant:
0:412            3 (const int)
0:413      move second child to first child ( temp bool)
0:413        'instanceActive' ( out bool)
0:413        Compare Not Equal ( temp bool)
0:413          direct index ( temp highp float)
0:413            'samp' ( temp highp 4-component vector of float)
0:413            Constant:
0:413              0 (const int)
0:413          Constant:
0:413            0.000000
0:414      Branch: Return with expression
0:414        'v' ( temp highp 3-component vector of float)
0:416  Function Definition: TDInstanceTranslate(i1; ( global highp 3-component vector of float)
0:416    Function Parameters: 
0:416      'index' ( in highp int)
0:417    Sequence
0:417      subtract second child into first child ( temp highp int)
0:417        'index' ( in highp int)
0:417        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:417          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:417          Constant:
0:417            0 (const uint)
0:419      Sequence
0:419        move second child to first child ( temp highp int)
0:419          'coord' ( temp highp int)
0:419          'index' ( in highp int)
0:420      Sequence
0:420        move second child to first child ( temp highp 4-component vector of float)
0:420          'samp' ( temp highp 4-component vector of float)
0:420          textureFetch ( global highp 4-component vector of float)
0:420            'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:420            'coord' ( temp highp int)
0:421      move second child to first child ( temp highp float)
0:421        direct index ( temp highp float)
0:421          'v' ( temp highp 3-component vector of float)
0:421          Constant:
0:421            0 (const int)
0:421        direct index ( temp highp float)
0:421          'samp' ( temp highp 4-component vector of float)
0:421          Constant:
0:421            1 (const int)
0:422      move second child to first child ( temp highp float)
0:422        direct index ( temp highp float)
0:422          'v' ( temp highp 3-component vector of float)
0:422          Constant:
0:422            1 (const int)
0:422        direct index ( temp highp float)
0:422          'samp' ( temp highp 4-component vector of float)
0:422          Constant:
0:422            2 (const int)
0:423      move second child to first child ( temp highp float)
0:423        direct index ( temp highp float)
0:423          'v' ( temp highp 3-component vector of float)
0:423          Constant:
0:423            2 (const int)
0:423        direct index ( temp highp float)
0:423          'samp' ( temp highp 4-component vector of float)
0:423          Constant:
0:423            3 (const int)
0:424      Branch: Return with expression
0:424        'v' ( temp highp 3-component vector of float)
0:426  Function Definition: TDInstanceRotateMat(i1; ( global highp 3X3 matrix of float)
0:426    Function Parameters: 
0:426      'index' ( in highp int)
0:427    Sequence
0:427      subtract second child into first child ( temp highp int)
0:427        'index' ( in highp int)
0:427        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:427          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:427          Constant:
0:427            0 (const uint)
0:428      Sequence
0:428        move second child to first child ( temp highp 3-component vector of float)
0:428          'v' ( temp highp 3-component vector of float)
0:428          Constant:
0:428            0.000000
0:428            0.000000
0:428            0.000000
0:429      Sequence
0:429        move second child to first child ( temp highp 3X3 matrix of float)
0:429          'm' ( temp highp 3X3 matrix of float)
0:429          Constant:
0:429            1.000000
0:429            0.000000
0:429            0.000000
0:429            0.000000
0:429            1.000000
0:429            0.000000
0:429            0.000000
0:429            0.000000
0:429            1.000000
0:433      Branch: Return with expression
0:433        'm' ( temp highp 3X3 matrix of float)
0:435  Function Definition: TDInstanceScale(i1; ( global highp 3-component vector of float)
0:435    Function Parameters: 
0:435      'index' ( in highp int)
0:436    Sequence
0:436      subtract second child into first child ( temp highp int)
0:436        'index' ( in highp int)
0:436        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:436          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:436          Constant:
0:436            0 (const uint)
0:437      Sequence
0:437        move second child to first child ( temp highp 3-component vector of float)
0:437          'v' ( temp highp 3-component vector of float)
0:437          Constant:
0:437            1.000000
0:437            1.000000
0:437            1.000000
0:438      Branch: Return with expression
0:438        'v' ( temp highp 3-component vector of float)
0:440  Function Definition: TDInstancePivot(i1; ( global highp 3-component vector of float)
0:440    Function Parameters: 
0:440      'index' ( in highp int)
0:441    Sequence
0:441      subtract second child into first child ( temp highp int)
0:441        'index' ( in highp int)
0:441        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:441          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:441          Constant:
0:441            0 (const uint)
0:442      Sequence
0:442        move second child to first child ( temp highp 3-component vector of float)
0:442          'v' ( temp highp 3-component vector of float)
0:442          Constant:
0:442            0.000000
0:442            0.000000
0:442            0.000000
0:443      Branch: Return with expression
0:443        'v' ( temp highp 3-component vector of float)
0:445  Function Definition: TDInstanceRotTo(i1; ( global highp 3-component vector of float)
0:445    Function Parameters: 
0:445      'index' ( in highp int)
0:446    Sequence
0:446      subtract second child into first child ( temp highp int)
0:446        'index' ( in highp int)
0:446        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:446          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:446          Constant:
0:446            0 (const uint)
0:447      Sequence
0:447        move second child to first child ( temp highp 3-component vector of float)
0:447          'v' ( temp highp 3-component vector of float)
0:447          Constant:
0:447            0.000000
0:447            0.000000
0:447            1.000000
0:448      Branch: Return with expression
0:448        'v' ( temp highp 3-component vector of float)
0:450  Function Definition: TDInstanceRotUp(i1; ( global highp 3-component vector of float)
0:450    Function Parameters: 
0:450      'index' ( in highp int)
0:451    Sequence
0:451      subtract second child into first child ( temp highp int)
0:451        'index' ( in highp int)
0:451        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:451          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:451          Constant:
0:451            0 (const uint)
0:452      Sequence
0:452        move second child to first child ( temp highp 3-component vector of float)
0:452          'v' ( temp highp 3-component vector of float)
0:452          Constant:
0:452            0.000000
0:452            1.000000
0:452            0.000000
0:453      Branch: Return with expression
0:453        'v' ( temp highp 3-component vector of float)
0:455  Function Definition: TDInstanceMat(i1; ( global highp 4X4 matrix of float)
0:455    Function Parameters: 
0:455      'id' ( in highp int)
0:456    Sequence
0:456      Sequence
0:456        move second child to first child ( temp bool)
0:456          'instanceActive' ( temp bool)
0:456          Constant:
0:456            true (const bool)
0:457      Sequence
0:457        move second child to first child ( temp highp 3-component vector of float)
0:457          't' ( temp highp 3-component vector of float)
0:457          Function Call: iTDInstanceTranslate(i1;b1; ( global highp 3-component vector of float)
0:457            'id' ( in highp int)
0:457            'instanceActive' ( temp bool)
0:458      Test condition and select ( temp void)
0:458        Condition
0:458        Negate conditional ( temp bool)
0:458          'instanceActive' ( temp bool)
0:458        true case
0:460        Sequence
0:460          Branch: Return with expression
0:460            Constant:
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:460              0.000000
0:462      Sequence
0:462        move second child to first child ( temp highp 4X4 matrix of float)
0:462          'm' ( temp highp 4X4 matrix of float)
0:462          Constant:
0:462            1.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            1.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            1.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            0.000000
0:462            1.000000
0:464      Sequence
0:464        Sequence
0:464          move second child to first child ( temp highp 3-component vector of float)
0:464            'tt' ( temp highp 3-component vector of float)
0:464            't' ( temp highp 3-component vector of float)
0:465        add second child into first child ( temp highp float)
0:465          direct index ( temp highp float)
0:465            direct index ( temp highp 4-component vector of float)
0:465              'm' ( temp highp 4X4 matrix of float)
0:465              Constant:
0:465                3 (const int)
0:465            Constant:
0:465              0 (const int)
0:465          component-wise multiply ( temp highp float)
0:465            direct index ( temp highp float)
0:465              direct index ( temp highp 4-component vector of float)
0:465                'm' ( temp highp 4X4 matrix of float)
0:465                Constant:
0:465                  0 (const int)
0:465              Constant:
0:465                0 (const int)
0:465            direct index ( temp highp float)
0:465              'tt' ( temp highp 3-component vector of float)
0:465              Constant:
0:465                0 (const int)
0:466        add second child into first child ( temp highp float)
0:466          direct index ( temp highp float)
0:466            direct index ( temp highp 4-component vector of float)
0:466              'm' ( temp highp 4X4 matrix of float)
0:466              Constant:
0:466                3 (const int)
0:466            Constant:
0:466              1 (const int)
0:466          component-wise multiply ( temp highp float)
0:466            direct index ( temp highp float)
0:466              direct index ( temp highp 4-component vector of float)
0:466                'm' ( temp highp 4X4 matrix of float)
0:466                Constant:
0:466                  0 (const int)
0:466              Constant:
0:466                1 (const int)
0:466            direct index ( temp highp float)
0:466              'tt' ( temp highp 3-component vector of float)
0:466              Constant:
0:466                0 (const int)
0:467        add second child into first child ( temp highp float)
0:467          direct index ( temp highp float)
0:467            direct index ( temp highp 4-component vector of float)
0:467              'm' ( temp highp 4X4 matrix of float)
0:467              Constant:
0:467                3 (const int)
0:467            Constant:
0:467              2 (const int)
0:467          component-wise multiply ( temp highp float)
0:467            direct index ( temp highp float)
0:467              direct index ( temp highp 4-component vector of float)
0:467                'm' ( temp highp 4X4 matrix of float)
0:467                Constant:
0:467                  0 (const int)
0:467              Constant:
0:467                2 (const int)
0:467            direct index ( temp highp float)
0:467              'tt' ( temp highp 3-component vector of float)
0:467              Constant:
0:467                0 (const int)
0:468        add second child into first child ( temp highp float)
0:468          direct index ( temp highp float)
0:468            direct index ( temp highp 4-component vector of float)
0:468              'm' ( temp highp 4X4 matrix of float)
0:468              Constant:
0:468                3 (const int)
0:468            Constant:
0:468              3 (const int)
0:468          component-wise multiply ( temp highp float)
0:468            direct index ( temp highp float)
0:468              direct index ( temp highp 4-component vector of float)
0:468                'm' ( temp highp 4X4 matrix of float)
0:468                Constant:
0:468                  0 (const int)
0:468              Constant:
0:468                3 (const int)
0:468            direct index ( temp highp float)
0:468              'tt' ( temp highp 3-component vector of float)
0:468              Constant:
0:468                0 (const int)
0:469        add second child into first child ( temp highp float)
0:469          direct index ( temp highp float)
0:469            direct index ( temp highp 4-component vector of float)
0:469              'm' ( temp highp 4X4 matrix of float)
0:469              Constant:
0:469                3 (const int)
0:469            Constant:
0:469              0 (const int)
0:469          component-wise multiply ( temp highp float)
0:469            direct index ( temp highp float)
0:469              direct index ( temp highp 4-component vector of float)
0:469                'm' ( temp highp 4X4 matrix of float)
0:469                Constant:
0:469                  1 (const int)
0:469              Constant:
0:469                0 (const int)
0:469            direct index ( temp highp float)
0:469              'tt' ( temp highp 3-component vector of float)
0:469              Constant:
0:469                1 (const int)
0:470        add second child into first child ( temp highp float)
0:470          direct index ( temp highp float)
0:470            direct index ( temp highp 4-component vector of float)
0:470              'm' ( temp highp 4X4 matrix of float)
0:470              Constant:
0:470                3 (const int)
0:470            Constant:
0:470              1 (const int)
0:470          component-wise multiply ( temp highp float)
0:470            direct index ( temp highp float)
0:470              direct index ( temp highp 4-component vector of float)
0:470                'm' ( temp highp 4X4 matrix of float)
0:470                Constant:
0:470                  1 (const int)
0:470              Constant:
0:470                1 (const int)
0:470            direct index ( temp highp float)
0:470              'tt' ( temp highp 3-component vector of float)
0:470              Constant:
0:470                1 (const int)
0:471        add second child into first child ( temp highp float)
0:471          direct index ( temp highp float)
0:471            direct index ( temp highp 4-component vector of float)
0:471              'm' ( temp highp 4X4 matrix of float)
0:471              Constant:
0:471                3 (const int)
0:471            Constant:
0:471              2 (const int)
0:471          component-wise multiply ( temp highp float)
0:471            direct index ( temp highp float)
0:471              direct index ( temp highp 4-component vector of float)
0:471                'm' ( temp highp 4X4 matrix of float)
0:471                Constant:
0:471                  1 (const int)
0:471              Constant:
0:471                2 (const int)
0:471            direct index ( temp highp float)
0:471              'tt' ( temp highp 3-component vector of float)
0:471              Constant:
0:471                1 (const int)
0:472        add second child into first child ( temp highp float)
0:472          direct index ( temp highp float)
0:472            direct index ( temp highp 4-component vector of float)
0:472              'm' ( temp highp 4X4 matrix of float)
0:472              Constant:
0:472                3 (const int)
0:472            Constant:
0:472              3 (const int)
0:472          component-wise multiply ( temp highp float)
0:472            direct index ( temp highp float)
0:472              direct index ( temp highp 4-component vector of float)
0:472                'm' ( temp highp 4X4 matrix of float)
0:472                Constant:
0:472                  1 (const int)
0:472              Constant:
0:472                3 (const int)
0:472            direct index ( temp highp float)
0:472              'tt' ( temp highp 3-component vector of float)
0:472              Constant:
0:472                1 (const int)
0:473        add second child into first child ( temp highp float)
0:473          direct index ( temp highp float)
0:473            direct index ( temp highp 4-component vector of float)
0:473              'm' ( temp highp 4X4 matrix of float)
0:473              Constant:
0:473                3 (const int)
0:473            Constant:
0:473              0 (const int)
0:473          component-wise multiply ( temp highp float)
0:473            direct index ( temp highp float)
0:473              direct index ( temp highp 4-component vector of float)
0:473                'm' ( temp highp 4X4 matrix of float)
0:473                Constant:
0:473                  2 (const int)
0:473              Constant:
0:473                0 (const int)
0:473            direct index ( temp highp float)
0:473              'tt' ( temp highp 3-component vector of float)
0:473              Constant:
0:473                2 (const int)
0:474        add second child into first child ( temp highp float)
0:474          direct index ( temp highp float)
0:474            direct index ( temp highp 4-component vector of float)
0:474              'm' ( temp highp 4X4 matrix of float)
0:474              Constant:
0:474                3 (const int)
0:474            Constant:
0:474              1 (const int)
0:474          component-wise multiply ( temp highp float)
0:474            direct index ( temp highp float)
0:474              direct index ( temp highp 4-component vector of float)
0:474                'm' ( temp highp 4X4 matrix of float)
0:474                Constant:
0:474                  2 (const int)
0:474              Constant:
0:474                1 (const int)
0:474            direct index ( temp highp float)
0:474              'tt' ( temp highp 3-component vector of float)
0:474              Constant:
0:474                2 (const int)
0:475        add second child into first child ( temp highp float)
0:475          direct index ( temp highp float)
0:475            direct index ( temp highp 4-component vector of float)
0:475              'm' ( temp highp 4X4 matrix of float)
0:475              Constant:
0:475                3 (const int)
0:475            Constant:
0:475              2 (const int)
0:475          component-wise multiply ( temp highp float)
0:475            direct index ( temp highp float)
0:475              direct index ( temp highp 4-component vector of float)
0:475                'm' ( temp highp 4X4 matrix of float)
0:475                Constant:
0:475                  2 (const int)
0:475              Constant:
0:475                2 (const int)
0:475            direct index ( temp highp float)
0:475              'tt' ( temp highp 3-component vector of float)
0:475              Constant:
0:475                2 (const int)
0:476        add second child into first child ( temp highp float)
0:476          direct index ( temp highp float)
0:476            direct index ( temp highp 4-component vector of float)
0:476              'm' ( temp highp 4X4 matrix of float)
0:476              Constant:
0:476                3 (const int)
0:476            Constant:
0:476              3 (const int)
0:476          component-wise multiply ( temp highp float)
0:476            direct index ( temp highp float)
0:476              direct index ( temp highp 4-component vector of float)
0:476                'm' ( temp highp 4X4 matrix of float)
0:476                Constant:
0:476                  2 (const int)
0:476              Constant:
0:476                3 (const int)
0:476            direct index ( temp highp float)
0:476              'tt' ( temp highp 3-component vector of float)
0:476              Constant:
0:476                2 (const int)
0:478      Branch: Return with expression
0:478        'm' ( temp highp 4X4 matrix of float)
0:480  Function Definition: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:480    Function Parameters: 
0:480      'id' ( in highp int)
0:481    Sequence
0:481      Sequence
0:481        move second child to first child ( temp highp 3X3 matrix of float)
0:481          'm' ( temp highp 3X3 matrix of float)
0:481          Constant:
0:481            1.000000
0:481            0.000000
0:481            0.000000
0:481            0.000000
0:481            1.000000
0:481            0.000000
0:481            0.000000
0:481            0.000000
0:481            1.000000
0:482      Branch: Return with expression
0:482        'm' ( temp highp 3X3 matrix of float)
0:484  Function Definition: TDInstanceMat3ForNorm(i1; ( global highp 3X3 matrix of float)
0:484    Function Parameters: 
0:484      'id' ( in highp int)
0:485    Sequence
0:485      Sequence
0:485        move second child to first child ( temp highp 3X3 matrix of float)
0:485          'm' ( temp highp 3X3 matrix of float)
0:485          Function Call: TDInstanceMat3(i1; ( global highp 3X3 matrix of float)
0:485            'id' ( in highp int)
0:486      Branch: Return with expression
0:486        'm' ( temp highp 3X3 matrix of float)
0:488  Function Definition: TDInstanceColor(i1;vf4; ( global highp 4-component vector of float)
0:488    Function Parameters: 
0:488      'index' ( in highp int)
0:488      'curColor' ( in highp 4-component vector of float)
0:489    Sequence
0:489      subtract second child into first child ( temp highp int)
0:489        'index' ( in highp int)
0:489        uTDInstanceIDOffset: direct index for structure ( uniform highp int)
0:489          'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:489          Constant:
0:489            0 (const uint)
0:491      Sequence
0:491        move second child to first child ( temp highp int)
0:491          'coord' ( temp highp int)
0:491          'index' ( in highp int)
0:492      Sequence
0:492        move second child to first child ( temp highp 4-component vector of float)
0:492          'samp' ( temp highp 4-component vector of float)
0:492          textureFetch ( global highp 4-component vector of float)
0:492            'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)
0:492            'coord' ( temp highp int)
0:493      move second child to first child ( temp highp float)
0:493        direct index ( temp highp float)
0:493          'v' ( temp highp 4-component vector of float)
0:493          Constant:
0:493            0 (const int)
0:493        direct index ( temp highp float)
0:493          'samp' ( temp highp 4-component vector of float)
0:493          Constant:
0:493            0 (const int)
0:494      move second child to first child ( temp highp float)
0:494        direct index ( temp highp float)
0:494          'v' ( temp highp 4-component vector of float)
0:494          Constant:
0:494            1 (const int)
0:494        direct index ( temp highp float)
0:494          'samp' ( temp highp 4-component vector of float)
0:494          Constant:
0:494            1 (const int)
0:495      move second child to first child ( temp highp float)
0:495        direct index ( temp highp float)
0:495          'v' ( temp highp 4-component vector of float)
0:495          Constant:
0:495            2 (const int)
0:495        direct index ( temp highp float)
0:495          'samp' ( temp highp 4-component vector of float)
0:495          Constant:
0:495            2 (const int)
0:496      move second child to first child ( temp highp float)
0:496        direct index ( temp highp float)
0:496          'v' ( temp highp 4-component vector of float)
0:496          Constant:
0:496            3 (const int)
0:496        Constant:
0:496          1.000000
0:497      move second child to first child ( temp highp float)
0:497        direct index ( temp highp float)
0:497          'curColor' ( in highp 4-component vector of float)
0:497          Constant:
0:497            0 (const int)
0:497        direct index ( temp highp float)
0:497          'v' ( temp highp 4-component vector of float)
0:497          Constant:
0:497            0 (const int)
0:499      move second child to first child ( temp highp float)
0:499        direct index ( temp highp float)
0:499          'curColor' ( in highp 4-component vector of float)
0:499          Constant:
0:499            1 (const int)
0:499        direct index ( temp highp float)
0:499          'v' ( temp highp 4-component vector of float)
0:499          Constant:
0:499            1 (const int)
0:501      move second child to first child ( temp highp float)
0:501        direct index ( temp highp float)
0:501          'curColor' ( in highp 4-component vector of float)
0:501          Constant:
0:501            2 (const int)
0:501        direct index ( temp highp float)
0:501          'v' ( temp highp 4-component vector of float)
0:501          Constant:
0:501            2 (const int)
0:503      Branch: Return with expression
0:503        'curColor' ( in highp 4-component vector of float)
0:2  Function Definition: TDOutputSwizzle(vf4; ( global highp 4-component vector of float)
0:2    Function Parameters: 
0:2      'c' ( in highp 4-component vector of float)
0:4    Sequence
0:4      Branch: Return with expression
0:4        vector swizzle ( temp highp 4-component vector of float)
0:4          'c' ( in highp 4-component vector of float)
0:4          Sequence
0:4            Constant:
0:4              0 (const int)
0:4            Constant:
0:4              1 (const int)
0:4            Constant:
0:4              2 (const int)
0:4            Constant:
0:4              3 (const int)
0:6  Function Definition: TDOutputSwizzle(vu4; ( global highp 4-component vector of uint)
0:6    Function Parameters: 
0:6      'c' ( in highp 4-component vector of uint)
0:8    Sequence
0:8      Branch: Return with expression
0:8        vector swizzle ( temp highp 4-component vector of uint)
0:8          'c' ( in highp 4-component vector of uint)
0:8          Sequence
0:8            Constant:
0:8              0 (const int)
0:8            Constant:
0:8              1 (const int)
0:8            Constant:
0:8              2 (const int)
0:8            Constant:
0:8              3 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp int uTDInstanceIDOffset,  uniform highp int uTDNumInstances,  uniform highp float uTDAlphaTestVal,  uniform highp 3-component vector of float uConstant,  uniform highp float uShadowStrength,  uniform highp 3-component vector of float uShadowColor,  uniform highp 4-component vector of float uDiffuseColor,  uniform highp 4-component vector of float uAmbientColor})
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{layout( column_major std140) global highp 4X4 matrix of float world, layout( column_major std140) global highp 4X4 matrix of float worldInverse, layout( column_major std140) global highp 4X4 matrix of float worldCam, layout( column_major std140) global highp 4X4 matrix of float worldCamInverse, layout( column_major std140) global highp 4X4 matrix of float cam, layout( column_major std140) global highp 4X4 matrix of float camInverse, layout( column_major std140) global highp 4X4 matrix of float camProj, layout( column_major std140) global highp 4X4 matrix of float camProjInverse, layout( column_major std140) global highp 4X4 matrix of float proj, layout( column_major std140) global highp 4X4 matrix of float projInverse, layout( column_major std140) global highp 4X4 matrix of float worldCamProj, layout( column_major std140) global highp 4X4 matrix of float worldCamProjInverse, layout( column_major std140) global highp 4X4 matrix of float quadReproject, layout( column_major std140) global highp 3X3 matrix of float worldForNormals, layout( column_major std140) global highp 3X3 matrix of float camForNormals, layout( column_major std140) global highp 3X3 matrix of float worldCamForNormals} uTDMats})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float nearFar,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor,  global highp int renderTOPCameraIndex} uTDCamInfos})
0:?     'anon@3' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform structure{ global highp 4-component vector of float ambientColor,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float viewport,  global highp 4-component vector of float viewportRes,  global highp 4-component vector of float fog,  global highp 4-component vector of float fogColor} uTDGeneral})
0:?     'sColorMap' ( uniform highp sampler2DArray)
0:?     'iVert' ( in block{ in highp 4-component vector of float color,  in highp 3-component vector of float worldSpacePos,  in highp 3-component vector of float texCoord0,  flat in highp int cameraIndex,  flat in highp int instance})
0:?     'oFragColor' (layout( location=0) out 1-element array of highp 4-component vector of float)
0:?     'sTDNoiseMap' ( uniform highp sampler2D)
0:?     'sTDSineLookup' ( uniform highp sampler1D)
0:?     'sTDWhite2D' ( uniform highp sampler2D)
0:?     'sTDWhite3D' ( uniform highp sampler3D)
0:?     'sTDWhite2DArray' ( uniform highp sampler2DArray)
0:?     'sTDWhiteCube' ( uniform highp samplerCube)
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 4-component vector of float position,  global highp 3-component vector of float direction,  global highp 3-component vector of float diffuse,  global highp 4-component vector of float nearFar,  global highp 4-component vector of float lightSize,  global highp 4-component vector of float misc,  global highp 4-component vector of float coneLookupScaleBias,  global highp 4-component vector of float attenScaleBiasRoll, layout( column_major std140) global highp 4X4 matrix of float shadowMapMatrix, layout( column_major std140) global highp 4X4 matrix of float shadowMapCamMatrix,  global highp 4-component vector of float shadowMapRes, layout( column_major std140) global highp 4X4 matrix of float projMapMatrix} uTDLights})
0:?     'anon@2' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 1-element array of structure{ global highp 3-component vector of float color, layout( column_major std140) global highp 3X3 matrix of float rotate} uTDEnvLights})
0:?     'uTDEnvLightBuffers' (layout( column_major std430) restrict readonly buffer 1-element array of block{layout( column_major std430 offset=0) restrict readonly buffer 9-element array of highp 3-component vector of float shCoeffs})
0:?     'sTDInstanceT' (layout( binding=15) uniform highp samplerBuffer)
0:?     'sTDInstanceTexCoord' (layout( binding=16) uniform highp samplerBuffer)
0:?     'sTDInstanceColor' (layout( binding=17) uniform highp samplerBuffer)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 939

                              Capability Shader
                              Capability SampledBuffer
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 207 216 226 238 256 297 905 906
                              Source GLSL 460
                              Name 4  "main"
                              Name 20  "iTDCamToProj(vf4;vf3;i1;b1;"
                              Name 16  "v"
                              Name 17  "uv"
                              Name 18  "cameraIndex"
                              Name 19  "applyPickMod"
                              Name 26  "iTDWorldToProj(vf4;vf3;i1;b1;"
                              Name 22  "v"
                              Name 23  "uv"
                              Name 24  "cameraIndex"
                              Name 25  "applyPickMod"
                              Name 29  "TDInstanceID("
                              Name 31  "TDCameraIndex("
                              Name 34  "TDUVUnwrapCoord("
                              Name 36  "TDPickID("
                              Name 40  "iTDConvertPickId(i1;"
                              Name 39  "id"
                              Name 42  "TDWritePickingValues("
                              Name 47  "TDWorldToProj(vf4;vf3;"
                              Name 45  "v"
                              Name 46  "uv"
                              Name 52  "TDWorldToProj(vf3;vf3;"
                              Name 50  "v"
                              Name 51  "uv"
                              Name 56  "TDWorldToProj(vf4;"
                              Name 55  "v"
                              Name 60  "TDWorldToProj(vf3;"
                              Name 59  "v"
                              Name 63  "TDPointColor("
                              Name 68  "TDInstanceTexCoord(i1;vf3;"
                              Name 66  "index"
                              Name 67  "t"
                              Name 72  "TDInstanceActive(i1;"
                              Name 71  "index"
                              Name 77  "iTDInstanceTranslate(i1;b1;"
                              Name 75  "index"
                              Name 76  "instanceActive"
                              Name 81  "TDInstanceTranslate(i1;"
                              Name 80  "index"
                              Name 86  "TDInstanceRotateMat(i1;"
                              Name 85  "index"
                              Name 89  "TDInstanceScale(i1;"
                              Name 88  "index"
                              Name 92  "TDInstancePivot(i1;"
                              Name 91  "index"
                              Name 95  "TDInstanceRotTo(i1;"
                              Name 94  "index"
                              Name 98  "TDInstanceRotUp(i1;"
                              Name 97  "index"
                              Name 103  "TDInstanceMat(i1;"
                              Name 102  "id"
                              Name 106  "TDInstanceMat3(i1;"
                              Name 105  "id"
                              Name 109  "TDInstanceMat3ForNorm(i1;"
                              Name 108  "id"
                              Name 114  "TDInstanceColor(i1;vf4;"
                              Name 112  "index"
                              Name 113  "curColor"
                              Name 118  "TDInstanceDeform(i1;vf4;"
                              Name 116  "id"
                              Name 117  "pos"
                              Name 122  "TDInstanceDeformVec(i1;vf3;"
                              Name 120  "id"
                              Name 121  "vec"
                              Name 126  "TDInstanceDeformNorm(i1;vf3;"
                              Name 124  "id"
                              Name 125  "vec"
                              Name 129  "TDInstanceDeform(vf4;"
                              Name 128  "pos"
                              Name 133  "TDInstanceDeformVec(vf3;"
                              Name 132  "vec"
                              Name 136  "TDInstanceDeformNorm(vf3;"
                              Name 135  "vec"
                              Name 139  "TDInstanceActive("
                              Name 141  "TDInstanceTranslate("
                              Name 144  "TDInstanceRotateMat("
                              Name 146  "TDInstanceScale("
                              Name 149  "TDInstanceMat("
                              Name 151  "TDInstanceMat3("
                              Name 154  "TDInstanceTexCoord(vf3;"
                              Name 153  "t"
                              Name 157  "TDInstanceColor(vf4;"
                              Name 156  "curColor"
                              Name 160  "TDSkinnedDeform(vf4;"
                              Name 159  "pos"
                              Name 163  "TDSkinnedDeformVec(vf3;"
                              Name 162  "vec"
                              Name 169  "TDFastDeformTangent(vf3;vf4;vf3;"
                              Name 166  "oldNorm"
                              Name 167  "oldTangent"
                              Name 168  "deformedNorm"
                              Name 172  "TDBoneMat(i1;"
                              Name 171  "index"
                              Name 175  "TDDeform(vf4;"
                              Name 174  "pos"
                              Name 180  "TDDeform(i1;vf3;"
                              Name 178  "instanceID"
                              Name 179  "p"
                              Name 183  "TDDeform(vf3;"
                              Name 182  "pos"
                              Name 187  "TDDeformVec(i1;vf3;"
                              Name 185  "instanceID"
                              Name 186  "vec"
                              Name 190  "TDDeformVec(vf3;"
                              Name 189  "vec"
                              Name 194  "TDDeformNorm(i1;vf3;"
                              Name 192  "instanceID"
                              Name 193  "vec"
                              Name 197  "TDDeformNorm(vf3;"
                              Name 196  "vec"
                              Name 200  "TDSkinnedDeformNorm(vf3;"
                              Name 199  "vec"
                              Name 202  "texcoord"
                              Name 207  "uv"
                              Name 209  "param"
                              Name 214  "Vertex"
                              MemberName 214(Vertex) 0  "color"
                              MemberName 214(Vertex) 1  "worldSpacePos"
                              MemberName 214(Vertex) 2  "texCoord0"
                              MemberName 214(Vertex) 3  "cameraIndex"
                              MemberName 214(Vertex) 4  "instance"
                              Name 216  "oVert"
                              Name 225  "worldSpacePos"
                              Name 226  "P"
                              Name 227  "param"
                              Name 230  "uvUnwrapCoord"
                              Name 232  "param"
                              Name 236  "gl_PerVertex"
                              MemberName 236(gl_PerVertex) 0  "gl_Position"
                              MemberName 236(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 236(gl_PerVertex) 2  "gl_ClipDistance"
                              MemberName 236(gl_PerVertex) 3  "gl_CullDistance"
                              Name 238  ""
                              Name 239  "param"
                              Name 241  "param"
                              Name 246  "cameraIndex"
                              Name 256  "Cd"
                              Name 257  "param"
                              Name 269  "TDMatrix"
                              MemberName 269(TDMatrix) 0  "world"
                              MemberName 269(TDMatrix) 1  "worldInverse"
                              MemberName 269(TDMatrix) 2  "worldCam"
                              MemberName 269(TDMatrix) 3  "worldCamInverse"
                              MemberName 269(TDMatrix) 4  "cam"
                              MemberName 269(TDMatrix) 5  "camInverse"
                              MemberName 269(TDMatrix) 6  "camProj"
                              MemberName 269(TDMatrix) 7  "camProjInverse"
                              MemberName 269(TDMatrix) 8  "proj"
                              MemberName 269(TDMatrix) 9  "projInverse"
                              MemberName 269(TDMatrix) 10  "worldCamProj"
                              MemberName 269(TDMatrix) 11  "worldCamProjInverse"
                              MemberName 269(TDMatrix) 12  "quadReproject"
                              MemberName 269(TDMatrix) 13  "worldForNormals"
                              MemberName 269(TDMatrix) 14  "camForNormals"
                              MemberName 269(TDMatrix) 15  "worldCamForNormals"
                              Name 271  "TDMatricesBlock"
                              MemberName 271(TDMatricesBlock) 0  "uTDMats"
                              Name 273  ""
                              Name 297  "gl_InstanceIndex"
                              Name 299  "gl_DefaultUniformBlock"
                              MemberName 299(gl_DefaultUniformBlock) 0  "uTDInstanceIDOffset"
                              MemberName 299(gl_DefaultUniformBlock) 1  "uTDNumInstances"
                              MemberName 299(gl_DefaultUniformBlock) 2  "uTDAlphaTestVal"
                              MemberName 299(gl_DefaultUniformBlock) 3  "uConstant"
                              MemberName 299(gl_DefaultUniformBlock) 4  "uShadowStrength"
                              MemberName 299(gl_DefaultUniformBlock) 5  "uShadowColor"
                              MemberName 299(gl_DefaultUniformBlock) 6  "uDiffuseColor"
                              MemberName 299(gl_DefaultUniformBlock) 7  "uAmbientColor"
                              Name 301  ""
                              Name 325  "param"
                              Name 327  "param"
                              Name 329  "param"
                              Name 330  "param"
                              Name 340  "param"
                              Name 341  "param"
                              Name 347  "param"
                              Name 349  "param"
                              Name 358  "param"
                              Name 365  "coord"
                              Name 367  "samp"
                              Name 371  "sTDInstanceTexCoord"
                              Name 376  "v"
                              Name 397  "coord"
                              Name 399  "samp"
                              Name 400  "sTDInstanceT"
                              Name 405  "v"
                              Name 412  "origIndex"
                              Name 418  "coord"
                              Name 420  "samp"
                              Name 425  "v"
                              Name 446  "coord"
                              Name 448  "samp"
                              Name 453  "v"
                              Name 470  "v"
                              Name 472  "m"
                              Name 484  "v"
                              Name 493  "v"
                              Name 501  "v"
                              Name 509  "v"
                              Name 513  "instanceActive"
                              Name 514  "t"
                              Name 515  "param"
                              Name 517  "param"
                              Name 528  "m"
                              Name 534  "tt"
                              Name 647  "m"
                              Name 651  "m"
                              Name 652  "param"
                              Name 662  "coord"
                              Name 664  "samp"
                              Name 665  "sTDInstanceColor"
                              Name 670  "v"
                              Name 693  "param"
                              Name 705  "m"
                              Name 706  "param"
                              Name 725  "m"
                              Name 726  "param"
                              Name 745  "param"
                              Name 746  "param"
                              Name 752  "param"
                              Name 753  "param"
                              Name 759  "param"
                              Name 760  "param"
                              Name 766  "param"
                              Name 771  "param"
                              Name 776  "param"
                              Name 781  "param"
                              Name 786  "param"
                              Name 791  "param"
                              Name 796  "param"
                              Name 797  "param"
                              Name 803  "param"
                              Name 804  "param"
                              Name 821  "param"
                              Name 824  "param"
                              Name 830  "pos"
                              Name 836  "param"
                              Name 839  "param"
                              Name 841  "param"
                              Name 848  "param"
                              Name 849  "param"
                              Name 854  "param"
                              Name 857  "param"
                              Name 859  "param"
                              Name 866  "param"
                              Name 867  "param"
                              Name 872  "param"
                              Name 875  "param"
                              Name 877  "param"
                              Name 884  "param"
                              Name 885  "param"
                              Name 890  "param"
                              Name 896  "TDCameraInfo"
                              MemberName 896(TDCameraInfo) 0  "nearFar"
                              MemberName 896(TDCameraInfo) 1  "fog"
                              MemberName 896(TDCameraInfo) 2  "fogColor"
                              MemberName 896(TDCameraInfo) 3  "renderTOPCameraIndex"
                              Name 898  "TDCameraInfoBlock"
                              MemberName 898(TDCameraInfoBlock) 0  "uTDCamInfos"
                              Name 900  ""
                              Name 901  "TDGeneral"
                              MemberName 901(TDGeneral) 0  "ambientColor"
                              MemberName 901(TDGeneral) 1  "nearFar"
                              MemberName 901(TDGeneral) 2  "viewport"
                              MemberName 901(TDGeneral) 3  "viewportRes"
                              MemberName 901(TDGeneral) 4  "fog"
                              MemberName 901(TDGeneral) 5  "fogColor"
                              Name 902  "TDGeneralBlock"
                              MemberName 902(TDGeneralBlock) 0  "uTDGeneral"
                              Name 904  ""
                              Name 905  "N"
                              Name 906  "gl_VertexIndex"
                              Name 907  "TDLight"
                              MemberName 907(TDLight) 0  "position"
                              MemberName 907(TDLight) 1  "direction"
                              MemberName 907(TDLight) 2  "diffuse"
                              MemberName 907(TDLight) 3  "nearFar"
                              MemberName 907(TDLight) 4  "lightSize"
                              MemberName 907(TDLight) 5  "misc"
                              MemberName 907(TDLight) 6  "coneLookupScaleBias"
                              MemberName 907(TDLight) 7  "attenScaleBiasRoll"
                              MemberName 907(TDLight) 8  "shadowMapMatrix"
                              MemberName 907(TDLight) 9  "shadowMapCamMatrix"
                              MemberName 907(TDLight) 10  "shadowMapRes"
                              MemberName 907(TDLight) 11  "projMapMatrix"
                              Name 909  "TDLightBlock"
                              MemberName 909(TDLightBlock) 0  "uTDLights"
                              Name 911  ""
                              Name 912  "TDEnvLight"
                              MemberName 912(TDEnvLight) 0  "color"
                              MemberName 912(TDEnvLight) 1  "rotate"
                              Name 914  "TDEnvLightBlock"
                              MemberName 914(TDEnvLightBlock) 0  "uTDEnvLights"
                              Name 916  ""
                              Name 919  "TDEnvLightBuffer"
                              MemberName 919(TDEnvLightBuffer) 0  "shCoeffs"
                              Name 922  "uTDEnvLightBuffers"
                              Name 926  "mTD2DImageOutputs"
                              Name 930  "mTD2DArrayImageOutputs"
                              Name 934  "mTD3DImageOutputs"
                              Name 938  "mTDCubeImageOutputs"
                              Decorate 207(uv) Location 3
                              MemberDecorate 214(Vertex) 3 Flat
                              MemberDecorate 214(Vertex) 4 Flat
                              Decorate 214(Vertex) Block
                              Decorate 216(oVert) Location 0
                              Decorate 226(P) Location 0
                              MemberDecorate 236(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 236(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 236(gl_PerVertex) 2 BuiltIn ClipDistance
                              MemberDecorate 236(gl_PerVertex) 3 BuiltIn CullDistance
                              Decorate 236(gl_PerVertex) Block
                              Decorate 256(Cd) Location 2
                              MemberDecorate 269(TDMatrix) 0 ColMajor
                              MemberDecorate 269(TDMatrix) 0 Offset 0
                              MemberDecorate 269(TDMatrix) 0 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 1 ColMajor
                              MemberDecorate 269(TDMatrix) 1 Offset 64
                              MemberDecorate 269(TDMatrix) 1 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 2 ColMajor
                              MemberDecorate 269(TDMatrix) 2 Offset 128
                              MemberDecorate 269(TDMatrix) 2 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 3 ColMajor
                              MemberDecorate 269(TDMatrix) 3 Offset 192
                              MemberDecorate 269(TDMatrix) 3 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 4 ColMajor
                              MemberDecorate 269(TDMatrix) 4 Offset 256
                              MemberDecorate 269(TDMatrix) 4 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 5 ColMajor
                              MemberDecorate 269(TDMatrix) 5 Offset 320
                              MemberDecorate 269(TDMatrix) 5 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 6 ColMajor
                              MemberDecorate 269(TDMatrix) 6 Offset 384
                              MemberDecorate 269(TDMatrix) 6 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 7 ColMajor
                              MemberDecorate 269(TDMatrix) 7 Offset 448
                              MemberDecorate 269(TDMatrix) 7 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 8 ColMajor
                              MemberDecorate 269(TDMatrix) 8 Offset 512
                              MemberDecorate 269(TDMatrix) 8 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 9 ColMajor
                              MemberDecorate 269(TDMatrix) 9 Offset 576
                              MemberDecorate 269(TDMatrix) 9 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 10 ColMajor
                              MemberDecorate 269(TDMatrix) 10 Offset 640
                              MemberDecorate 269(TDMatrix) 10 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 11 ColMajor
                              MemberDecorate 269(TDMatrix) 11 Offset 704
                              MemberDecorate 269(TDMatrix) 11 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 12 ColMajor
                              MemberDecorate 269(TDMatrix) 12 Offset 768
                              MemberDecorate 269(TDMatrix) 12 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 13 ColMajor
                              MemberDecorate 269(TDMatrix) 13 Offset 832
                              MemberDecorate 269(TDMatrix) 13 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 14 ColMajor
                              MemberDecorate 269(TDMatrix) 14 Offset 880
                              MemberDecorate 269(TDMatrix) 14 MatrixStride 16
                              MemberDecorate 269(TDMatrix) 15 ColMajor
                              MemberDecorate 269(TDMatrix) 15 Offset 928
                              MemberDecorate 269(TDMatrix) 15 MatrixStride 16
                              Decorate 270 ArrayStride 976
                              MemberDecorate 271(TDMatricesBlock) 0 Offset 0
                              Decorate 271(TDMatricesBlock) Block
                              Decorate 273 DescriptorSet 0
                              Decorate 273 Binding 1
                              Decorate 297(gl_InstanceIndex) BuiltIn InstanceIndex
                              MemberDecorate 299(gl_DefaultUniformBlock) 0 Offset 0
                              MemberDecorate 299(gl_DefaultUniformBlock) 1 Offset 4
                              MemberDecorate 299(gl_DefaultUniformBlock) 2 Offset 8
                              MemberDecorate 299(gl_DefaultUniformBlock) 3 Offset 16
                              MemberDecorate 299(gl_DefaultUniformBlock) 4 Offset 28
                              MemberDecorate 299(gl_DefaultUniformBlock) 5 Offset 32
                              MemberDecorate 299(gl_DefaultUniformBlock) 6 Offset 48
                              MemberDecorate 299(gl_DefaultUniformBlock) 7 Offset 64
                              Decorate 299(gl_DefaultUniformBlock) Block
                              Decorate 301 DescriptorSet 0
                              Decorate 301 Binding 0
                              Decorate 371(sTDInstanceTexCoord) DescriptorSet 0
                              Decorate 371(sTDInstanceTexCoord) Binding 16
                              Decorate 400(sTDInstanceT) DescriptorSet 0
                              Decorate 400(sTDInstanceT) Binding 15
                              Decorate 665(sTDInstanceColor) DescriptorSet 0
                              Decorate 665(sTDInstanceColor) Binding 17
                              MemberDecorate 896(TDCameraInfo) 0 Offset 0
                              MemberDecorate 896(TDCameraInfo) 1 Offset 16
                              MemberDecorate 896(TDCameraInfo) 2 Offset 32
                              MemberDecorate 896(TDCameraInfo) 3 Offset 48
                              Decorate 897 ArrayStride 64
                              MemberDecorate 898(TDCameraInfoBlock) 0 Offset 0
                              Decorate 898(TDCameraInfoBlock) Block
                              Decorate 900 DescriptorSet 0
                              Decorate 900 Binding 0
                              MemberDecorate 901(TDGeneral) 0 Offset 0
                              MemberDecorate 901(TDGeneral) 1 Offset 16
                              MemberDecorate 901(TDGeneral) 2 Offset 32
                              MemberDecorate 901(TDGeneral) 3 Offset 48
                              MemberDecorate 901(TDGeneral) 4 Offset 64
                              MemberDecorate 901(TDGeneral) 5 Offset 80
                              MemberDecorate 902(TDGeneralBlock) 0 Offset 0
                              Decorate 902(TDGeneralBlock) Block
                              Decorate 904 DescriptorSet 0
                              Decorate 904 Binding 0
                              Decorate 905(N) Location 1
                              Decorate 906(gl_VertexIndex) BuiltIn VertexIndex
                              MemberDecorate 907(TDLight) 0 Offset 0
                              MemberDecorate 907(TDLight) 1 Offset 16
                              MemberDecorate 907(TDLight) 2 Offset 32
                              MemberDecorate 907(TDLight) 3 Offset 48
                              MemberDecorate 907(TDLight) 4 Offset 64
                              MemberDecorate 907(TDLight) 5 Offset 80
                              MemberDecorate 907(TDLight) 6 Offset 96
                              MemberDecorate 907(TDLight) 7 Offset 112
                              MemberDecorate 907(TDLight) 8 ColMajor
                              MemberDecorate 907(TDLight) 8 Offset 128
                              MemberDecorate 907(TDLight) 8 MatrixStride 16
                              MemberDecorate 907(TDLight) 9 ColMajor
                              MemberDecorate 907(TDLight) 9 Offset 192
                              MemberDecorate 907(TDLight) 9 MatrixStride 16
                              MemberDecorate 907(TDLight) 10 Offset 256
                              MemberDecorate 907(TDLight) 11 ColMajor
                              MemberDecorate 907(TDLight) 11 Offset 272
                              MemberDecorate 907(TDLight) 11 MatrixStride 16
                              Decorate 908 ArrayStride 336
                              MemberDecorate 909(TDLightBlock) 0 Offset 0
                              Decorate 909(TDLightBlock) Block
                              Decorate 911 DescriptorSet 0
                              Decorate 911 Binding 0
                              MemberDecorate 912(TDEnvLight) 0 Offset 0
                              MemberDecorate 912(TDEnvLight) 1 ColMajor
                              MemberDecorate 912(TDEnvLight) 1 Offset 16
                              MemberDecorate 912(TDEnvLight) 1 MatrixStride 16
                              Decorate 913 ArrayStride 64
                              MemberDecorate 914(TDEnvLightBlock) 0 Offset 0
                              Decorate 914(TDEnvLightBlock) Block
                              Decorate 916 DescriptorSet 0
                              Decorate 916 Binding 0
                              Decorate 918 ArrayStride 16
                              MemberDecorate 919(TDEnvLightBuffer) 0 Restrict
                              MemberDecorate 919(TDEnvLightBuffer) 0 NonWritable
                              MemberDecorate 919(TDEnvLightBuffer) 0 Offset 0
                              Decorate 919(TDEnvLightBuffer) BufferBlock
                              Decorate 922(uTDEnvLightBuffers) DescriptorSet 0
                              Decorate 922(uTDEnvLightBuffers) Binding 0
                              Decorate 926(mTD2DImageOutputs) DescriptorSet 0
                              Decorate 926(mTD2DImageOutputs) Binding 0
                              Decorate 930(mTD2DArrayImageOutputs) DescriptorSet 0
                              Decorate 930(mTD2DArrayImageOutputs) Binding 0
                              Decorate 934(mTD3DImageOutputs) DescriptorSet 0
                              Decorate 934(mTD3DImageOutputs) Binding 0
                              Decorate 938(mTDCubeImageOutputs) DescriptorSet 0
                              Decorate 938(mTDCubeImageOutputs) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeVector 6(float) 3
              10:             TypePointer Function 9(fvec3)
              11:             TypeInt 32 1
              12:             TypePointer Function 11(int)
              13:             TypeBool
              14:             TypePointer Function 13(bool)
              15:             TypeFunction 7(fvec4) 8(ptr) 10(ptr) 12(ptr) 14(ptr)
              28:             TypeFunction 11(int)
              33:             TypeFunction 9(fvec3)
              38:             TypeFunction 6(float) 12(ptr)
              44:             TypeFunction 7(fvec4) 8(ptr) 10(ptr)
              49:             TypeFunction 7(fvec4) 10(ptr) 10(ptr)
              54:             TypeFunction 7(fvec4) 8(ptr)
              58:             TypeFunction 7(fvec4) 10(ptr)
              62:             TypeFunction 7(fvec4)
              65:             TypeFunction 9(fvec3) 12(ptr) 10(ptr)
              70:             TypeFunction 13(bool) 12(ptr)
              74:             TypeFunction 9(fvec3) 12(ptr) 14(ptr)
              79:             TypeFunction 9(fvec3) 12(ptr)
              83:             TypeMatrix 9(fvec3) 3
              84:             TypeFunction 83 12(ptr)
             100:             TypeMatrix 7(fvec4) 4
             101:             TypeFunction 100 12(ptr)
             111:             TypeFunction 7(fvec4) 12(ptr) 8(ptr)
             131:             TypeFunction 9(fvec3) 10(ptr)
             138:             TypeFunction 13(bool)
             143:             TypeFunction 83
             148:             TypeFunction 100
             165:             TypeFunction 9(fvec3) 10(ptr) 8(ptr) 10(ptr)
             177:             TypeFunction 7(fvec4) 12(ptr) 10(ptr)
             203:             TypeInt 32 0
             204:    203(int) Constant 8
             205:             TypeArray 9(fvec3) 204
             206:             TypePointer Input 205
         207(uv):    206(ptr) Variable Input
             208:     11(int) Constant 0
             210:             TypePointer Input 9(fvec3)
     214(Vertex):             TypeStruct 7(fvec4) 9(fvec3) 9(fvec3) 11(int) 11(int)
             215:             TypePointer Output 214(Vertex)
      216(oVert):    215(ptr) Variable Output
             217:     11(int) Constant 2
             219:             TypePointer Output 9(fvec3)
             221:     11(int) Constant 4
             223:             TypePointer Output 11(int)
          226(P):    210(ptr) Variable Input
             234:    203(int) Constant 1
             235:             TypeArray 6(float) 234
236(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 235 235
             237:             TypePointer Output 236(gl_PerVertex)
             238:    237(ptr) Variable Output
             244:             TypePointer Output 7(fvec4)
             248:     11(int) Constant 3
             251:     11(int) Constant 1
             255:             TypePointer Input 7(fvec4)
         256(Cd):    255(ptr) Variable Input
             265:    6(float) Constant 1073741824
             266:    6(float) Constant 0
             267:    7(fvec4) ConstantComposite 265 265 265 266
   269(TDMatrix):             TypeStruct 100 100 100 100 100 100 100 100 100 100 100 100 100 83 83 83
             270:             TypeArray 269(TDMatrix) 234
271(TDMatricesBlock):             TypeStruct 270
             272:             TypePointer Uniform 271(TDMatricesBlock)
             273:    272(ptr) Variable Uniform
             274:     11(int) Constant 8
             275:             TypePointer Uniform 100
             288:     11(int) Constant 6
             296:             TypePointer Input 11(int)
297(gl_InstanceIndex):    296(ptr) Variable Input
299(gl_DefaultUniformBlock):             TypeStruct 11(int) 11(int) 6(float) 9(fvec3) 6(float) 9(fvec3) 7(fvec4) 7(fvec4)
             300:             TypePointer Uniform 299(gl_DefaultUniformBlock)
             301:    300(ptr) Variable Uniform
             302:             TypePointer Uniform 11(int)
             316:     11(int) Constant 1073741824
             324:    13(bool) ConstantTrue
             335:    6(float) Constant 1065353216
             346:    9(fvec3) ConstantComposite 266 266 266
             368:             TypeImage 6(float) Buffer sampled format:Unknown
             369:             TypeSampledImage 368
             370:             TypePointer UniformConstant 369
371(sTDInstanceTexCoord):    370(ptr) Variable UniformConstant
             377:    203(int) Constant 0
             378:             TypePointer Function 6(float)
             387:    203(int) Constant 2
400(sTDInstanceT):    370(ptr) Variable UniformConstant
             432:    203(int) Constant 3
             471:             TypePointer Function 83
             473:    9(fvec3) ConstantComposite 335 266 266
             474:    9(fvec3) ConstantComposite 266 335 266
             475:    9(fvec3) ConstantComposite 266 266 335
             476:          83 ConstantComposite 473 474 475
             485:    9(fvec3) ConstantComposite 335 335 335
             524:    7(fvec4) ConstantComposite 266 266 266 266
             525:         100 ConstantComposite 524 524 524 524
             527:             TypePointer Function 100
             529:    7(fvec4) ConstantComposite 335 266 266 266
             530:    7(fvec4) ConstantComposite 266 335 266 266
             531:    7(fvec4) ConstantComposite 266 266 335 266
             532:    7(fvec4) ConstantComposite 266 266 266 335
             533:         100 ConstantComposite 529 530 531 532
665(sTDInstanceColor):    370(ptr) Variable UniformConstant
             730:     11(int) Constant 13
             731:             TypePointer Uniform 83
896(TDCameraInfo):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 11(int)
             897:             TypeArray 896(TDCameraInfo) 234
898(TDCameraInfoBlock):             TypeStruct 897
             899:             TypePointer Uniform 898(TDCameraInfoBlock)
             900:    899(ptr) Variable Uniform
  901(TDGeneral):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4)
902(TDGeneralBlock):             TypeStruct 901(TDGeneral)
             903:             TypePointer Uniform 902(TDGeneralBlock)
             904:    903(ptr) Variable Uniform
          905(N):    210(ptr) Variable Input
906(gl_VertexIndex):    296(ptr) Variable Input
    907(TDLight):             TypeStruct 7(fvec4) 9(fvec3) 9(fvec3) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 100 100 7(fvec4) 100
             908:             TypeArray 907(TDLight) 234
909(TDLightBlock):             TypeStruct 908
             910:             TypePointer Uniform 909(TDLightBlock)
             911:    910(ptr) Variable Uniform
 912(TDEnvLight):             TypeStruct 9(fvec3) 83
             913:             TypeArray 912(TDEnvLight) 234
914(TDEnvLightBlock):             TypeStruct 913
             915:             TypePointer Uniform 914(TDEnvLightBlock)
             916:    915(ptr) Variable Uniform
             917:    203(int) Constant 9
             918:             TypeArray 9(fvec3) 917
919(TDEnvLightBuffer):             TypeStruct 918
             920:             TypeArray 919(TDEnvLightBuffer) 234
             921:             TypePointer Uniform 920
922(uTDEnvLightBuffers):    921(ptr) Variable Uniform
             923:             TypeImage 6(float) 2D nonsampled format:Rgba8
             924:             TypeArray 923 234
             925:             TypePointer UniformConstant 924
926(mTD2DImageOutputs):    925(ptr) Variable UniformConstant
             927:             TypeImage 6(float) 2D array nonsampled format:Rgba8
             928:             TypeArray 927 234
             929:             TypePointer UniformConstant 928
930(mTD2DArrayImageOutputs):    929(ptr) Variable UniformConstant
             931:             TypeImage 6(float) 3D nonsampled format:Rgba8
             932:             TypeArray 931 234
             933:             TypePointer UniformConstant 932
934(mTD3DImageOutputs):    933(ptr) Variable UniformConstant
             935:             TypeImage 6(float) Cube nonsampled format:Rgba8
             936:             TypeArray 935 234
             937:             TypePointer UniformConstant 936
938(mTDCubeImageOutputs):    937(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
   202(texcoord):     10(ptr) Variable Function
      209(param):     10(ptr) Variable Function
225(worldSpacePos):      8(ptr) Variable Function
      227(param):     10(ptr) Variable Function
230(uvUnwrapCoord):     10(ptr) Variable Function
      232(param):     10(ptr) Variable Function
      239(param):      8(ptr) Variable Function
      241(param):     10(ptr) Variable Function
246(cameraIndex):     12(ptr) Variable Function
      257(param):      8(ptr) Variable Function
             211:    210(ptr) AccessChain 207(uv) 208
             212:    9(fvec3) Load 211
                              Store 209(param) 212
             213:    9(fvec3) FunctionCall 154(TDInstanceTexCoord(vf3;) 209(param)
                              Store 202(texcoord) 213
             218:    9(fvec3) Load 202(texcoord)
             220:    219(ptr) AccessChain 216(oVert) 217
                              Store 220 218
             222:     11(int) FunctionCall 29(TDInstanceID()
             224:    223(ptr) AccessChain 216(oVert) 221
                              Store 224 222
             228:    9(fvec3) Load 226(P)
                              Store 227(param) 228
             229:    7(fvec4) FunctionCall 183(TDDeform(vf3;) 227(param)
                              Store 225(worldSpacePos) 229
             231:    9(fvec3) FunctionCall 34(TDUVUnwrapCoord()
                              Store 232(param) 231
             233:    9(fvec3) FunctionCall 154(TDInstanceTexCoord(vf3;) 232(param)
                              Store 230(uvUnwrapCoord) 233
             240:    7(fvec4) Load 225(worldSpacePos)
                              Store 239(param) 240
             242:    9(fvec3) Load 230(uvUnwrapCoord)
                              Store 241(param) 242
             243:    7(fvec4) FunctionCall 47(TDWorldToProj(vf4;vf3;) 239(param) 241(param)
             245:    244(ptr) AccessChain 238 208
                              Store 245 243
             247:     11(int) FunctionCall 31(TDCameraIndex()
                              Store 246(cameraIndex) 247
             249:     11(int) Load 246(cameraIndex)
             250:    223(ptr) AccessChain 216(oVert) 248
                              Store 250 249
             252:    7(fvec4) Load 225(worldSpacePos)
             253:    9(fvec3) VectorShuffle 252 252 0 1 2
             254:    219(ptr) AccessChain 216(oVert) 251
                              Store 254 253
             258:    7(fvec4) Load 256(Cd)
                              Store 257(param) 258
             259:    7(fvec4) FunctionCall 157(TDInstanceColor(vf4;) 257(param)
             260:    244(ptr) AccessChain 216(oVert) 208
                              Store 260 259
                              Return
                              FunctionEnd
20(iTDCamToProj(vf4;vf3;i1;b1;):    7(fvec4) Function None 15
           16(v):      8(ptr) FunctionParameter
          17(uv):     10(ptr) FunctionParameter
 18(cameraIndex):     12(ptr) FunctionParameter
19(applyPickMod):     14(ptr) FunctionParameter
              21:             Label
             261:    13(bool) FunctionCall 139(TDInstanceActive()
             262:    13(bool) LogicalNot 261
                              SelectionMerge 264 None
                              BranchConditional 262 263 264
             263:               Label
                                ReturnValue 267
             264:             Label
             276:    275(ptr) AccessChain 273 208 208 274
             277:         100 Load 276
             278:    7(fvec4) Load 16(v)
             279:    7(fvec4) MatrixTimesVector 277 278
                              Store 16(v) 279
             280:    7(fvec4) Load 16(v)
                              ReturnValue 280
                              FunctionEnd
26(iTDWorldToProj(vf4;vf3;i1;b1;):    7(fvec4) Function None 15
           22(v):      8(ptr) FunctionParameter
          23(uv):     10(ptr) FunctionParameter
 24(cameraIndex):     12(ptr) FunctionParameter
25(applyPickMod):     14(ptr) FunctionParameter
              27:             Label
             283:    13(bool) FunctionCall 139(TDInstanceActive()
             284:    13(bool) LogicalNot 283
                              SelectionMerge 286 None
                              BranchConditional 284 285 286
             285:               Label
                                ReturnValue 267
             286:             Label
             289:    275(ptr) AccessChain 273 208 208 288
             290:         100 Load 289
             291:    7(fvec4) Load 22(v)
             292:    7(fvec4) MatrixTimesVector 290 291
                              Store 22(v) 292
             293:    7(fvec4) Load 22(v)
                              ReturnValue 293
                              FunctionEnd
29(TDInstanceID():     11(int) Function None 28
              30:             Label
             298:     11(int) Load 297(gl_InstanceIndex)
             303:    302(ptr) AccessChain 301 208
             304:     11(int) Load 303
             305:     11(int) IAdd 298 304
                              ReturnValue 305
                              FunctionEnd
31(TDCameraIndex():     11(int) Function None 28
              32:             Label
                              ReturnValue 208
                              FunctionEnd
34(TDUVUnwrapCoord():    9(fvec3) Function None 33
              35:             Label
             310:    210(ptr) AccessChain 207(uv) 208
             311:    9(fvec3) Load 310
                              ReturnValue 311
                              FunctionEnd
   36(TDPickID():     11(int) Function None 28
              37:             Label
                              ReturnValue 208
                              FunctionEnd
40(iTDConvertPickId(i1;):    6(float) Function None 38
          39(id):     12(ptr) FunctionParameter
              41:             Label
             317:     11(int) Load 39(id)
             318:     11(int) BitwiseOr 317 316
                              Store 39(id) 318
             319:     11(int) Load 39(id)
             320:    6(float) Bitcast 319
                              ReturnValue 320
                              FunctionEnd
42(TDWritePickingValues():           2 Function None 3
              43:             Label
                              Return
                              FunctionEnd
47(TDWorldToProj(vf4;vf3;):    7(fvec4) Function None 44
           45(v):      8(ptr) FunctionParameter
          46(uv):     10(ptr) FunctionParameter
              48:             Label
      325(param):      8(ptr) Variable Function
      327(param):     10(ptr) Variable Function
      329(param):     12(ptr) Variable Function
      330(param):     14(ptr) Variable Function
             323:     11(int) FunctionCall 31(TDCameraIndex()
             326:    7(fvec4) Load 45(v)
                              Store 325(param) 326
             328:    9(fvec3) Load 46(uv)
                              Store 327(param) 328
                              Store 329(param) 323
                              Store 330(param) 324
             331:    7(fvec4) FunctionCall 26(iTDWorldToProj(vf4;vf3;i1;b1;) 325(param) 327(param) 329(param) 330(param)
                              ReturnValue 331
                              FunctionEnd
52(TDWorldToProj(vf3;vf3;):    7(fvec4) Function None 49
           50(v):     10(ptr) FunctionParameter
          51(uv):     10(ptr) FunctionParameter
              53:             Label
      340(param):      8(ptr) Variable Function
      341(param):     10(ptr) Variable Function
             334:    9(fvec3) Load 50(v)
             336:    6(float) CompositeExtract 334 0
             337:    6(float) CompositeExtract 334 1
             338:    6(float) CompositeExtract 334 2
             339:    7(fvec4) CompositeConstruct 336 337 338 335
                              Store 340(param) 339
             342:    9(fvec3) Load 51(uv)
                              Store 341(param) 342
             343:    7(fvec4) FunctionCall 47(TDWorldToProj(vf4;vf3;) 340(param) 341(param)
                              ReturnValue 343
                              FunctionEnd
56(TDWorldToProj(vf4;):    7(fvec4) Function None 54
           55(v):      8(ptr) FunctionParameter
              57:             Label
      347(param):      8(ptr) Variable Function
      349(param):     10(ptr) Variable Function
             348:    7(fvec4) Load 55(v)
                              Store 347(param) 348
                              Store 349(param) 346
             350:    7(fvec4) FunctionCall 47(TDWorldToProj(vf4;vf3;) 347(param) 349(param)
                              ReturnValue 350
                              FunctionEnd
60(TDWorldToProj(vf3;):    7(fvec4) Function None 58
           59(v):     10(ptr) FunctionParameter
              61:             Label
      358(param):      8(ptr) Variable Function
             353:    9(fvec3) Load 59(v)
             354:    6(float) CompositeExtract 353 0
             355:    6(float) CompositeExtract 353 1
             356:    6(float) CompositeExtract 353 2
             357:    7(fvec4) CompositeConstruct 354 355 356 335
                              Store 358(param) 357
             359:    7(fvec4) FunctionCall 56(TDWorldToProj(vf4;) 358(param)
                              ReturnValue 359
                              FunctionEnd
63(TDPointColor():    7(fvec4) Function None 62
              64:             Label
             362:    7(fvec4) Load 256(Cd)
                              ReturnValue 362
                              FunctionEnd
68(TDInstanceTexCoord(i1;vf3;):    9(fvec3) Function None 65
       66(index):     12(ptr) FunctionParameter
           67(t):     10(ptr) FunctionParameter
              69:             Label
      365(coord):     12(ptr) Variable Function
       367(samp):      8(ptr) Variable Function
          376(v):     10(ptr) Variable Function
             366:     11(int) Load 66(index)
                              Store 365(coord) 366
             372:         369 Load 371(sTDInstanceTexCoord)
             373:     11(int) Load 365(coord)
             374:         368 Image 372
             375:    7(fvec4) ImageFetch 374 373
                              Store 367(samp) 375
             379:    378(ptr) AccessChain 67(t) 377
             380:    6(float) Load 379
             381:    378(ptr) AccessChain 376(v) 377
                              Store 381 380
             382:    378(ptr) AccessChain 67(t) 234
             383:    6(float) Load 382
             384:    378(ptr) AccessChain 376(v) 234
                              Store 384 383
             385:    378(ptr) AccessChain 367(samp) 377
             386:    6(float) Load 385
             388:    378(ptr) AccessChain 376(v) 387
                              Store 388 386
             389:    9(fvec3) Load 376(v)
                              Store 67(t) 389
             390:    9(fvec3) Load 67(t)
                              ReturnValue 390
                              FunctionEnd
72(TDInstanceActive(i1;):    13(bool) Function None 70
       71(index):     12(ptr) FunctionParameter
              73:             Label
      397(coord):     12(ptr) Variable Function
       399(samp):      8(ptr) Variable Function
          405(v):    378(ptr) Variable Function
             393:    302(ptr) AccessChain 301 208
             394:     11(int) Load 393
             395:     11(int) Load 71(index)
             396:     11(int) ISub 395 394
                              Store 71(index) 396
             398:     11(int) Load 71(index)
                              Store 397(coord) 398
             401:         369 Load 400(sTDInstanceT)
             402:     11(int) Load 397(coord)
             403:         368 Image 401
             404:    7(fvec4) ImageFetch 403 402
                              Store 399(samp) 404
             406:    378(ptr) AccessChain 399(samp) 377
             407:    6(float) Load 406
                              Store 405(v) 407
             408:    6(float) Load 405(v)
             409:    13(bool) FUnordNotEqual 408 266
                              ReturnValue 409
                              FunctionEnd
77(iTDInstanceTranslate(i1;b1;):    9(fvec3) Function None 74
       75(index):     12(ptr) FunctionParameter
76(instanceActive):     14(ptr) FunctionParameter
              78:             Label
  412(origIndex):     12(ptr) Variable Function
      418(coord):     12(ptr) Variable Function
       420(samp):      8(ptr) Variable Function
          425(v):     10(ptr) Variable Function
             413:     11(int) Load 75(index)
                              Store 412(origIndex) 413
             414:    302(ptr) AccessChain 301 208
             415:     11(int) Load 414
             416:     11(int) Load 75(index)
             417:     11(int) ISub 416 415
                              Store 75(index) 417
             419:     11(int) Load 75(index)
                              Store 418(coord) 419
             421:         369 Load 400(sTDInstanceT)
             422:     11(int) Load 418(coord)
             423:         368 Image 421
             424:    7(fvec4) ImageFetch 423 422
                              Store 420(samp) 424
             426:    378(ptr) AccessChain 420(samp) 234
             427:    6(float) Load 426
             428:    378(ptr) AccessChain 425(v) 377
                              Store 428 427
             429:    378(ptr) AccessChain 420(samp) 387
             430:    6(float) Load 429
             431:    378(ptr) AccessChain 425(v) 234
                              Store 431 430
             433:    378(ptr) AccessChain 420(samp) 432
             434:    6(float) Load 433
             435:    378(ptr) AccessChain 425(v) 387
                              Store 435 434
             436:    378(ptr) AccessChain 420(samp) 377
             437:    6(float) Load 436
             438:    13(bool) FUnordNotEqual 437 266
                              Store 76(instanceActive) 438
             439:    9(fvec3) Load 425(v)
                              ReturnValue 439
                              FunctionEnd
81(TDInstanceTranslate(i1;):    9(fvec3) Function None 79
       80(index):     12(ptr) FunctionParameter
              82:             Label
      446(coord):     12(ptr) Variable Function
       448(samp):      8(ptr) Variable Function
          453(v):     10(ptr) Variable Function
             442:    302(ptr) AccessChain 301 208
             443:     11(int) Load 442
             444:     11(int) Load 80(index)
             445:     11(int) ISub 444 443
                              Store 80(index) 445
             447:     11(int) Load 80(index)
                              Store 446(coord) 447
             449:         369 Load 400(sTDInstanceT)
             450:     11(int) Load 446(coord)
             451:         368 Image 449
             452:    7(fvec4) ImageFetch 451 450
                              Store 448(samp) 452
             454:    378(ptr) AccessChain 448(samp) 234
             455:    6(float) Load 454
             456:    378(ptr) AccessChain 453(v) 377
                              Store 456 455
             457:    378(ptr) AccessChain 448(samp) 387
             458:    6(float) Load 457
             459:    378(ptr) AccessChain 453(v) 234
                              Store 459 458
             460:    378(ptr) AccessChain 448(samp) 432
             461:    6(float) Load 460
             462:    378(ptr) AccessChain 453(v) 387
                              Store 462 461
             463:    9(fvec3) Load 453(v)
                              ReturnValue 463
                              FunctionEnd
86(TDInstanceRotateMat(i1;):          83 Function None 84
       85(index):     12(ptr) FunctionParameter
              87:             Label
          470(v):     10(ptr) Variable Function
          472(m):    471(ptr) Variable Function
             466:    302(ptr) AccessChain 301 208
             467:     11(int) Load 466
             468:     11(int) Load 85(index)
             469:     11(int) ISub 468 467
                              Store 85(index) 469
                              Store 470(v) 346
                              Store 472(m) 476
             477:          83 Load 472(m)
                              ReturnValue 477
                              FunctionEnd
89(TDInstanceScale(i1;):    9(fvec3) Function None 79
       88(index):     12(ptr) FunctionParameter
              90:             Label
          484(v):     10(ptr) Variable Function
             480:    302(ptr) AccessChain 301 208
             481:     11(int) Load 480
             482:     11(int) Load 88(index)
             483:     11(int) ISub 482 481
                              Store 88(index) 483
                              Store 484(v) 485
             486:    9(fvec3) Load 484(v)
                              ReturnValue 486
                              FunctionEnd
92(TDInstancePivot(i1;):    9(fvec3) Function None 79
       91(index):     12(ptr) FunctionParameter
              93:             Label
          493(v):     10(ptr) Variable Function
             489:    302(ptr) AccessChain 301 208
             490:     11(int) Load 489
             491:     11(int) Load 91(index)
             492:     11(int) ISub 491 490
                              Store 91(index) 492
                              Store 493(v) 346
             494:    9(fvec3) Load 493(v)
                              ReturnValue 494
                              FunctionEnd
95(TDInstanceRotTo(i1;):    9(fvec3) Function None 79
       94(index):     12(ptr) FunctionParameter
              96:             Label
          501(v):     10(ptr) Variable Function
             497:    302(ptr) AccessChain 301 208
             498:     11(int) Load 497
             499:     11(int) Load 94(index)
             500:     11(int) ISub 499 498
                              Store 94(index) 500
                              Store 501(v) 475
             502:    9(fvec3) Load 501(v)
                              ReturnValue 502
                              FunctionEnd
98(TDInstanceRotUp(i1;):    9(fvec3) Function None 79
       97(index):     12(ptr) FunctionParameter
              99:             Label
          509(v):     10(ptr) Variable Function
             505:    302(ptr) AccessChain 301 208
             506:     11(int) Load 505
             507:     11(int) Load 97(index)
             508:     11(int) ISub 507 506
                              Store 97(index) 508
                              Store 509(v) 474
             510:    9(fvec3) Load 509(v)
                              ReturnValue 510
                              FunctionEnd
103(TDInstanceMat(i1;):         100 Function None 101
         102(id):     12(ptr) FunctionParameter
             104:             Label
513(instanceActive):     14(ptr) Variable Function
          514(t):     10(ptr) Variable Function
      515(param):     12(ptr) Variable Function
      517(param):     14(ptr) Variable Function
          528(m):    527(ptr) Variable Function
         534(tt):     10(ptr) Variable Function
                              Store 513(instanceActive) 324
             516:     11(int) Load 102(id)
                              Store 515(param) 516
             518:    9(fvec3) FunctionCall 77(iTDInstanceTranslate(i1;b1;) 515(param) 517(param)
             519:    13(bool) Load 517(param)
                              Store 513(instanceActive) 519
                              Store 514(t) 518
             520:    13(bool) Load 513(instanceActive)
             521:    13(bool) LogicalNot 520
                              SelectionMerge 523 None
                              BranchConditional 521 522 523
             522:               Label
                                ReturnValue 525
             523:             Label
                              Store 528(m) 533
             535:    9(fvec3) Load 514(t)
                              Store 534(tt) 535
             536:    378(ptr) AccessChain 528(m) 208 377
             537:    6(float) Load 536
             538:    378(ptr) AccessChain 534(tt) 377
             539:    6(float) Load 538
             540:    6(float) FMul 537 539
             541:    378(ptr) AccessChain 528(m) 248 377
             542:    6(float) Load 541
             543:    6(float) FAdd 542 540
             544:    378(ptr) AccessChain 528(m) 248 377
                              Store 544 543
             545:    378(ptr) AccessChain 528(m) 208 234
             546:    6(float) Load 545
             547:    378(ptr) AccessChain 534(tt) 377
             548:    6(float) Load 547
             549:    6(float) FMul 546 548
             550:    378(ptr) AccessChain 528(m) 248 234
             551:    6(float) Load 550
             552:    6(float) FAdd 551 549
             553:    378(ptr) AccessChain 528(m) 248 234
                              Store 553 552
             554:    378(ptr) AccessChain 528(m) 208 387
             555:    6(float) Load 554
             556:    378(ptr) AccessChain 534(tt) 377
             557:    6(float) Load 556
             558:    6(float) FMul 555 557
             559:    378(ptr) AccessChain 528(m) 248 387
             560:    6(float) Load 559
             561:    6(float) FAdd 560 558
             562:    378(ptr) AccessChain 528(m) 248 387
                              Store 562 561
             563:    378(ptr) AccessChain 528(m) 208 432
             564:    6(float) Load 563
             565:    378(ptr) AccessChain 534(tt) 377
             566:    6(float) Load 565
             567:    6(float) FMul 564 566
             568:    378(ptr) AccessChain 528(m) 248 432
             569:    6(float) Load 568
             570:    6(float) FAdd 569 567
             571:    378(ptr) AccessChain 528(m) 248 432
                              Store 571 570
             572:    378(ptr) AccessChain 528(m) 251 377
             573:    6(float) Load 572
             574:    378(ptr) AccessChain 534(tt) 234
             575:    6(float) Load 574
             576:    6(float) FMul 573 575
             577:    378(ptr) AccessChain 528(m) 248 377
             578:    6(float) Load 577
             579:    6(float) FAdd 578 576
             580:    378(ptr) AccessChain 528(m) 248 377
                              Store 580 579
             581:    378(ptr) AccessChain 528(m) 251 234
             582:    6(float) Load 581
             583:    378(ptr) AccessChain 534(tt) 234
             584:    6(float) Load 583
             585:    6(float) FMul 582 584
             586:    378(ptr) AccessChain 528(m) 248 234
             587:    6(float) Load 586
             588:    6(float) FAdd 587 585
             589:    378(ptr) AccessChain 528(m) 248 234
                              Store 589 588
             590:    378(ptr) AccessChain 528(m) 251 387
             591:    6(float) Load 590
             592:    378(ptr) AccessChain 534(tt) 234
             593:    6(float) Load 592
             594:    6(float) FMul 591 593
             595:    378(ptr) AccessChain 528(m) 248 387
             596:    6(float) Load 595
             597:    6(float) FAdd 596 594
             598:    378(ptr) AccessChain 528(m) 248 387
                              Store 598 597
             599:    378(ptr) AccessChain 528(m) 251 432
             600:    6(float) Load 599
             601:    378(ptr) AccessChain 534(tt) 234
             602:    6(float) Load 601
             603:    6(float) FMul 600 602
             604:    378(ptr) AccessChain 528(m) 248 432
             605:    6(float) Load 604
             606:    6(float) FAdd 605 603
             607:    378(ptr) AccessChain 528(m) 248 432
                              Store 607 606
             608:    378(ptr) AccessChain 528(m) 217 377
             609:    6(float) Load 608
             610:    378(ptr) AccessChain 534(tt) 387
             611:    6(float) Load 610
             612:    6(float) FMul 609 611
             613:    378(ptr) AccessChain 528(m) 248 377
             614:    6(float) Load 613
             615:    6(float) FAdd 614 612
             616:    378(ptr) AccessChain 528(m) 248 377
                              Store 616 615
             617:    378(ptr) AccessChain 528(m) 217 234
             618:    6(float) Load 617
             619:    378(ptr) AccessChain 534(tt) 387
             620:    6(float) Load 619
             621:    6(float) FMul 618 620
             622:    378(ptr) AccessChain 528(m) 248 234
             623:    6(float) Load 622
             624:    6(float) FAdd 623 621
             625:    378(ptr) AccessChain 528(m) 248 234
                              Store 625 624
             626:    378(ptr) AccessChain 528(m) 217 387
             627:    6(float) Load 626
             628:    378(ptr) AccessChain 534(tt) 387
             629:    6(float) Load 628
             630:    6(float) FMul 627 629
             631:    378(ptr) AccessChain 528(m) 248 387
             632:    6(float) Load 631
             633:    6(float) FAdd 632 630
             634:    378(ptr) AccessChain 528(m) 248 387
                              Store 634 633
             635:    378(ptr) AccessChain 528(m) 217 432
             636:    6(float) Load 635
             637:    378(ptr) AccessChain 534(tt) 387
             638:    6(float) Load 637
             639:    6(float) FMul 636 638
             640:    378(ptr) AccessChain 528(m) 248 432
             641:    6(float) Load 640
             642:    6(float) FAdd 641 639
             643:    378(ptr) AccessChain 528(m) 248 432
                              Store 643 642
             644:         100 Load 528(m)
                              ReturnValue 644
                              FunctionEnd
106(TDInstanceMat3(i1;):          83 Function None 84
         105(id):     12(ptr) FunctionParameter
             107:             Label
          647(m):    471(ptr) Variable Function
                              Store 647(m) 476
             648:          83 Load 647(m)
                              ReturnValue 648
                              FunctionEnd
109(TDInstanceMat3ForNorm(i1;):          83 Function None 84
         108(id):     12(ptr) FunctionParameter
             110:             Label
          651(m):    471(ptr) Variable Function
      652(param):     12(ptr) Variable Function
             653:     11(int) Load 108(id)
                              Store 652(param) 653
             654:          83 FunctionCall 106(TDInstanceMat3(i1;) 652(param)
                              Store 651(m) 654
             655:          83 Load 651(m)
                              ReturnValue 655
                              FunctionEnd
114(TDInstanceColor(i1;vf4;):    7(fvec4) Function None 111
      112(index):     12(ptr) FunctionParameter
   113(curColor):      8(ptr) FunctionParameter
             115:             Label
      662(coord):     12(ptr) Variable Function
       664(samp):      8(ptr) Variable Function
          670(v):      8(ptr) Variable Function
             658:    302(ptr) AccessChain 301 208
             659:     11(int) Load 658
             660:     11(int) Load 112(index)
             661:     11(int) ISub 660 659
                              Store 112(index) 661
             663:     11(int) Load 112(index)
                              Store 662(coord) 663
             666:         369 Load 665(sTDInstanceColor)
             667:     11(int) Load 662(coord)
             668:         368 Image 666
             669:    7(fvec4) ImageFetch 668 667
                              Store 664(samp) 669
             671:    378(ptr) AccessChain 664(samp) 377
             672:    6(float) Load 671
             673:    378(ptr) AccessChain 670(v) 377
                              Store 673 672
             674:    378(ptr) AccessChain 664(samp) 234
             675:    6(float) Load 674
             676:    378(ptr) AccessChain 670(v) 234
                              Store 676 675
             677:    378(ptr) AccessChain 664(samp) 387
             678:    6(float) Load 677
             679:    378(ptr) AccessChain 670(v) 387
                              Store 679 678
             680:    378(ptr) AccessChain 670(v) 432
                              Store 680 335
             681:    378(ptr) AccessChain 670(v) 377
             682:    6(float) Load 681
             683:    378(ptr) AccessChain 113(curColor) 377
                              Store 683 682
             684:    378(ptr) AccessChain 670(v) 234
             685:    6(float) Load 684
             686:    378(ptr) AccessChain 113(curColor) 234
                              Store 686 685
             687:    378(ptr) AccessChain 670(v) 387
             688:    6(float) Load 687
             689:    378(ptr) AccessChain 113(curColor) 387
                              Store 689 688
             690:    7(fvec4) Load 113(curColor)
                              ReturnValue 690
                              FunctionEnd
118(TDInstanceDeform(i1;vf4;):    7(fvec4) Function None 111
         116(id):     12(ptr) FunctionParameter
        117(pos):      8(ptr) FunctionParameter
             119:             Label
      693(param):     12(ptr) Variable Function
             694:     11(int) Load 116(id)
                              Store 693(param) 694
             695:         100 FunctionCall 103(TDInstanceMat(i1;) 693(param)
             696:    7(fvec4) Load 117(pos)
             697:    7(fvec4) MatrixTimesVector 695 696
                              Store 117(pos) 697
             698:     11(int) FunctionCall 31(TDCameraIndex()
             699:    275(ptr) AccessChain 273 208 698 208
             700:         100 Load 699
             701:    7(fvec4) Load 117(pos)
             702:    7(fvec4) MatrixTimesVector 700 701
                              ReturnValue 702
                              FunctionEnd
122(TDInstanceDeformVec(i1;vf3;):    9(fvec3) Function None 65
         120(id):     12(ptr) FunctionParameter
        121(vec):     10(ptr) FunctionParameter
             123:             Label
          705(m):    471(ptr) Variable Function
      706(param):     12(ptr) Variable Function
             707:     11(int) Load 120(id)
                              Store 706(param) 707
             708:          83 FunctionCall 106(TDInstanceMat3(i1;) 706(param)
                              Store 705(m) 708
             709:     11(int) FunctionCall 31(TDCameraIndex()
             710:    275(ptr) AccessChain 273 208 709 208
             711:         100 Load 710
             712:    7(fvec4) CompositeExtract 711 0
             713:    9(fvec3) VectorShuffle 712 712 0 1 2
             714:    7(fvec4) CompositeExtract 711 1
             715:    9(fvec3) VectorShuffle 714 714 0 1 2
             716:    7(fvec4) CompositeExtract 711 2
             717:    9(fvec3) VectorShuffle 716 716 0 1 2
             718:          83 CompositeConstruct 713 715 717
             719:          83 Load 705(m)
             720:    9(fvec3) Load 121(vec)
             721:    9(fvec3) MatrixTimesVector 719 720
             722:    9(fvec3) MatrixTimesVector 718 721
                              ReturnValue 722
                              FunctionEnd
126(TDInstanceDeformNorm(i1;vf3;):    9(fvec3) Function None 65
         124(id):     12(ptr) FunctionParameter
        125(vec):     10(ptr) FunctionParameter
             127:             Label
          725(m):    471(ptr) Variable Function
      726(param):     12(ptr) Variable Function
             727:     11(int) Load 124(id)
                              Store 726(param) 727
             728:          83 FunctionCall 109(TDInstanceMat3ForNorm(i1;) 726(param)
                              Store 725(m) 728
             729:     11(int) FunctionCall 31(TDCameraIndex()
             732:    731(ptr) AccessChain 273 208 729 730
             733:          83 Load 732
             734:    9(fvec3) CompositeExtract 733 0
             735:    9(fvec3) CompositeExtract 733 1
             736:    9(fvec3) CompositeExtract 733 2
             737:          83 CompositeConstruct 734 735 736
             738:          83 Load 725(m)
             739:    9(fvec3) Load 125(vec)
             740:    9(fvec3) MatrixTimesVector 738 739
             741:    9(fvec3) MatrixTimesVector 737 740
                              ReturnValue 741
                              FunctionEnd
129(TDInstanceDeform(vf4;):    7(fvec4) Function None 54
        128(pos):      8(ptr) FunctionParameter
             130:             Label
      745(param):     12(ptr) Variable Function
      746(param):      8(ptr) Variable Function
             744:     11(int) FunctionCall 29(TDInstanceID()
                              Store 745(param) 744
             747:    7(fvec4) Load 128(pos)
                              Store 746(param) 747
             748:    7(fvec4) FunctionCall 118(TDInstanceDeform(i1;vf4;) 745(param) 746(param)
                              ReturnValue 748
                              FunctionEnd
133(TDInstanceDeformVec(vf3;):    9(fvec3) Function None 131
        132(vec):     10(ptr) FunctionParameter
             134:             Label
      752(param):     12(ptr) Variable Function
      753(param):     10(ptr) Variable Function
             751:     11(int) FunctionCall 29(TDInstanceID()
                              Store 752(param) 751
             754:    9(fvec3) Load 132(vec)
                              Store 753(param) 754
             755:    9(fvec3) FunctionCall 122(TDInstanceDeformVec(i1;vf3;) 752(param) 753(param)
                              ReturnValue 755
                              FunctionEnd
136(TDInstanceDeformNorm(vf3;):    9(fvec3) Function None 131
        135(vec):     10(ptr) FunctionParameter
             137:             Label
      759(param):     12(ptr) Variable Function
      760(param):     10(ptr) Variable Function
             758:     11(int) FunctionCall 29(TDInstanceID()
                              Store 759(param) 758
             761:    9(fvec3) Load 135(vec)
                              Store 760(param) 761
             762:    9(fvec3) FunctionCall 126(TDInstanceDeformNorm(i1;vf3;) 759(param) 760(param)
                              ReturnValue 762
                              FunctionEnd
139(TDInstanceActive():    13(bool) Function None 138
             140:             Label
      766(param):     12(ptr) Variable Function
             765:     11(int) FunctionCall 29(TDInstanceID()
                              Store 766(param) 765
             767:    13(bool) FunctionCall 72(TDInstanceActive(i1;) 766(param)
                              ReturnValue 767
                              FunctionEnd
141(TDInstanceTranslate():    9(fvec3) Function None 33
             142:             Label
      771(param):     12(ptr) Variable Function
             770:     11(int) FunctionCall 29(TDInstanceID()
                              Store 771(param) 770
             772:    9(fvec3) FunctionCall 81(TDInstanceTranslate(i1;) 771(param)
                              ReturnValue 772
                              FunctionEnd
144(TDInstanceRotateMat():          83 Function None 143
             145:             Label
      776(param):     12(ptr) Variable Function
             775:     11(int) FunctionCall 29(TDInstanceID()
                              Store 776(param) 775
             777:          83 FunctionCall 86(TDInstanceRotateMat(i1;) 776(param)
                              ReturnValue 777
                              FunctionEnd
146(TDInstanceScale():    9(fvec3) Function None 33
             147:             Label
      781(param):     12(ptr) Variable Function
             780:     11(int) FunctionCall 29(TDInstanceID()
                              Store 781(param) 780
             782:    9(fvec3) FunctionCall 89(TDInstanceScale(i1;) 781(param)
                              ReturnValue 782
                              FunctionEnd
149(TDInstanceMat():         100 Function None 148
             150:             Label
      786(param):     12(ptr) Variable Function
             785:     11(int) FunctionCall 29(TDInstanceID()
                              Store 786(param) 785
             787:         100 FunctionCall 103(TDInstanceMat(i1;) 786(param)
                              ReturnValue 787
                              FunctionEnd
151(TDInstanceMat3():          83 Function None 143
             152:             Label
      791(param):     12(ptr) Variable Function
             790:     11(int) FunctionCall 29(TDInstanceID()
                              Store 791(param) 790
             792:          83 FunctionCall 106(TDInstanceMat3(i1;) 791(param)
                              ReturnValue 792
                              FunctionEnd
154(TDInstanceTexCoord(vf3;):    9(fvec3) Function None 131
          153(t):     10(ptr) FunctionParameter
             155:             Label
      796(param):     12(ptr) Variable Function
      797(param):     10(ptr) Variable Function
             795:     11(int) FunctionCall 29(TDInstanceID()
                              Store 796(param) 795
             798:    9(fvec3) Load 153(t)
                              Store 797(param) 798
             799:    9(fvec3) FunctionCall 68(TDInstanceTexCoord(i1;vf3;) 796(param) 797(param)
                              ReturnValue 799
                              FunctionEnd
157(TDInstanceColor(vf4;):    7(fvec4) Function None 54
   156(curColor):      8(ptr) FunctionParameter
             158:             Label
      803(param):     12(ptr) Variable Function
      804(param):      8(ptr) Variable Function
             802:     11(int) FunctionCall 29(TDInstanceID()
                              Store 803(param) 802
             805:    7(fvec4) Load 156(curColor)
                              Store 804(param) 805
             806:    7(fvec4) FunctionCall 114(TDInstanceColor(i1;vf4;) 803(param) 804(param)
                              ReturnValue 806
                              FunctionEnd
160(TDSkinnedDeform(vf4;):    7(fvec4) Function None 54
        159(pos):      8(ptr) FunctionParameter
             161:             Label
             809:    7(fvec4) Load 159(pos)
                              ReturnValue 809
                              FunctionEnd
163(TDSkinnedDeformVec(vf3;):    9(fvec3) Function None 131
        162(vec):     10(ptr) FunctionParameter
             164:             Label
             812:    9(fvec3) Load 162(vec)
                              ReturnValue 812
                              FunctionEnd
169(TDFastDeformTangent(vf3;vf4;vf3;):    9(fvec3) Function None 165
    166(oldNorm):     10(ptr) FunctionParameter
 167(oldTangent):      8(ptr) FunctionParameter
168(deformedNorm):     10(ptr) FunctionParameter
             170:             Label
             815:    7(fvec4) Load 167(oldTangent)
             816:    9(fvec3) VectorShuffle 815 815 0 1 2
                              ReturnValue 816
                              FunctionEnd
172(TDBoneMat(i1;):         100 Function None 101
      171(index):     12(ptr) FunctionParameter
             173:             Label
                              ReturnValue 533
                              FunctionEnd
175(TDDeform(vf4;):    7(fvec4) Function None 54
        174(pos):      8(ptr) FunctionParameter
             176:             Label
      821(param):      8(ptr) Variable Function
      824(param):      8(ptr) Variable Function
             822:    7(fvec4) Load 174(pos)
                              Store 821(param) 822
             823:    7(fvec4) FunctionCall 160(TDSkinnedDeform(vf4;) 821(param)
                              Store 174(pos) 823
             825:    7(fvec4) Load 174(pos)
                              Store 824(param) 825
             826:    7(fvec4) FunctionCall 129(TDInstanceDeform(vf4;) 824(param)
                              Store 174(pos) 826
             827:    7(fvec4) Load 174(pos)
                              ReturnValue 827
                              FunctionEnd
180(TDDeform(i1;vf3;):    7(fvec4) Function None 177
 178(instanceID):     12(ptr) FunctionParameter
          179(p):     10(ptr) FunctionParameter
             181:             Label
        830(pos):      8(ptr) Variable Function
      836(param):      8(ptr) Variable Function
      839(param):     12(ptr) Variable Function
      841(param):      8(ptr) Variable Function
             831:    9(fvec3) Load 179(p)
             832:    6(float) CompositeExtract 831 0
             833:    6(float) CompositeExtract 831 1
             834:    6(float) CompositeExtract 831 2
             835:    7(fvec4) CompositeConstruct 832 833 834 335
                              Store 830(pos) 835
             837:    7(fvec4) Load 830(pos)
                              Store 836(param) 837
             838:    7(fvec4) FunctionCall 160(TDSkinnedDeform(vf4;) 836(param)
                              Store 830(pos) 838
             840:     11(int) Load 178(instanceID)
                              Store 839(param) 840
             842:    7(fvec4) Load 830(pos)
                              Store 841(param) 842
             843:    7(fvec4) FunctionCall 118(TDInstanceDeform(i1;vf4;) 839(param) 841(param)
                              Store 830(pos) 843
             844:    7(fvec4) Load 830(pos)
                              ReturnValue 844
                              FunctionEnd
183(TDDeform(vf3;):    7(fvec4) Function None 58
        182(pos):     10(ptr) FunctionParameter
             184:             Label
      848(param):     12(ptr) Variable Function
      849(param):     10(ptr) Variable Function
             847:     11(int) FunctionCall 29(TDInstanceID()
                              Store 848(param) 847
             850:    9(fvec3) Load 182(pos)
                              Store 849(param) 850
             851:    7(fvec4) FunctionCall 180(TDDeform(i1;vf3;) 848(param) 849(param)
                              ReturnValue 851
                              FunctionEnd
187(TDDeformVec(i1;vf3;):    9(fvec3) Function None 65
 185(instanceID):     12(ptr) FunctionParameter
        186(vec):     10(ptr) FunctionParameter
             188:             Label
      854(param):     10(ptr) Variable Function
      857(param):     12(ptr) Variable Function
      859(param):     10(ptr) Variable Function
             855:    9(fvec3) Load 186(vec)
                              Store 854(param) 855
             856:    9(fvec3) FunctionCall 163(TDSkinnedDeformVec(vf3;) 854(param)
                              Store 186(vec) 856
             858:     11(int) Load 185(instanceID)
                              Store 857(param) 858
             860:    9(fvec3) Load 186(vec)
                              Store 859(param) 860
             861:    9(fvec3) FunctionCall 122(TDInstanceDeformVec(i1;vf3;) 857(param) 859(param)
                              Store 186(vec) 861
             862:    9(fvec3) Load 186(vec)
                              ReturnValue 862
                              FunctionEnd
190(TDDeformVec(vf3;):    9(fvec3) Function None 131
        189(vec):     10(ptr) FunctionParameter
             191:             Label
      866(param):     12(ptr) Variable Function
      867(param):     10(ptr) Variable Function
             865:     11(int) FunctionCall 29(TDInstanceID()
                              Store 866(param) 865
             868:    9(fvec3) Load 189(vec)
                              Store 867(param) 868
             869:    9(fvec3) FunctionCall 187(TDDeformVec(i1;vf3;) 866(param) 867(param)
                              ReturnValue 869
                              FunctionEnd
194(TDDeformNorm(i1;vf3;):    9(fvec3) Function None 65
 192(instanceID):     12(ptr) FunctionParameter
        193(vec):     10(ptr) FunctionParameter
             195:             Label
      872(param):     10(ptr) Variable Function
      875(param):     12(ptr) Variable Function
      877(param):     10(ptr) Variable Function
             873:    9(fvec3) Load 193(vec)
                              Store 872(param) 873
             874:    9(fvec3) FunctionCall 163(TDSkinnedDeformVec(vf3;) 872(param)
                              Store 193(vec) 874
             876:     11(int) Load 192(instanceID)
                              Store 875(param) 876
             878:    9(fvec3) Load 193(vec)
                              Store 877(param) 878
             879:    9(fvec3) FunctionCall 126(TDInstanceDeformNorm(i1;vf3;) 875(param) 877(param)
                              Store 193(vec) 879
             880:    9(fvec3) Load 193(vec)
                              ReturnValue 880
                              FunctionEnd
197(TDDeformNorm(vf3;):    9(fvec3) Function None 131
        196(vec):     10(ptr) FunctionParameter
             198:             Label
      884(param):     12(ptr) Variable Function
      885(param):     10(ptr) Variable Function
             883:     11(int) FunctionCall 29(TDInstanceID()
                              Store 884(param) 883
             886:    9(fvec3) Load 196(vec)
                              Store 885(param) 886
             887:    9(fvec3) FunctionCall 194(TDDeformNorm(i1;vf3;) 884(param) 885(param)
                              ReturnValue 887
                              FunctionEnd
200(TDSkinnedDeformNorm(vf3;):    9(fvec3) Function None 131
        199(vec):     10(ptr) FunctionParameter
             201:             Label
      890(param):     10(ptr) Variable Function
             891:    9(fvec3) Load 199(vec)
                              Store 890(param) 891
             892:    9(fvec3) FunctionCall 163(TDSkinnedDeformVec(vf3;) 890(param)
                              Store 199(vec) 892
             893:    9(fvec3) Load 199(vec)
                              ReturnValue 893
                              FunctionEnd
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 1297

                              Capability Shader
                              Capability Sampled1D
                              Capability SampledBuffer
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 336 429 458 485
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 460
                              Name 4  "main"
                              Name 11  "TDColor(vf4;"
                              Name 10  "color"
                              Name 13  "TDCheckOrderIndTrans("
                              Name 15  "TDCheckDiscard("
                              Name 18  "TDDither(vf4;"
                              Name 17  "color"
                              Name 26  "TDFrontFacing(vf3;vf3;"
                              Name 24  "pos"
                              Name 25  "normal"
                              Name 34  "TDAttenuateLight(i1;f1;"
                              Name 32  "index"
                              Name 33  "lightDist"
                              Name 38  "TDAlphaTest(f1;"
                              Name 37  "alpha"
                              Name 43  "TDHardShadow(i1;vf3;"
                              Name 41  "lightIndex"
                              Name 42  "worldSpacePos"
                              Name 50  "TDSoftShadow(i1;vf3;i1;i1;"
                              Name 46  "lightIndex"
                              Name 47  "worldSpacePos"
                              Name 48  "samples"
                              Name 49  "steps"
                              Name 54  "TDSoftShadow(i1;vf3;"
                              Name 52  "lightIndex"
                              Name 53  "worldSpacePos"
                              Name 58  "TDShadow(i1;vf3;"
                              Name 56  "lightIndex"
                              Name 57  "worldSpacePos"
                              Name 64  "iTDRadicalInverse_VdC(u1;"
                              Name 63  "bits"
                              Name 70  "iTDHammersley(u1;u1;"
                              Name 68  "i"
                              Name 69  "N"
                              Name 77  "iTDImportanceSampleGGX(vf2;f1;vf3;"
                              Name 74  "Xi"
                              Name 75  "roughness2"
                              Name 76  "N"
                              Name 83  "iTDDistributionGGX(vf3;vf3;f1;"
                              Name 80  "normal"
                              Name 81  "half_vector"
                              Name 82  "roughness2"
                              Name 88  "iTDCalcF(vf3;f1;"
                              Name 86  "F0"
                              Name 87  "VdotH"
                              Name 94  "iTDCalcG(f1;f1;f1;"
                              Name 91  "NdotL"
                              Name 92  "NdotV"
                              Name 93  "k"
                              Name 96  "TDPBRResult"
                              MemberName 96(TDPBRResult) 0  "diffuse"
                              MemberName 96(TDPBRResult) 1  "specular"
                              MemberName 96(TDPBRResult) 2  "shadowStrength"
                              Name 107  "TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1;"
                              Name 98  "index"
                              Name 99  "diffuseColor"
                              Name 100  "specularColor"
                              Name 101  "worldSpacePos"
                              Name 102  "normal"
                              Name 103  "shadowStrength"
                              Name 104  "shadowColor"
                              Name 105  "camVector"
                              Name 106  "roughness"
                              Name 122  "TDLightingPBR(vf3;vf3;f1;i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1;"
                              Name 110  "diffuseContrib"
                              Name 111  "specularContrib"
                              Name 112  "shadowStrengthOut"
                              Name 113  "index"
                              Name 114  "diffuseColor"
                              Name 115  "specularColor"
                              Name 116  "worldSpacePos"
                              Name 117  "normal"
                              Name 118  "shadowStrength"
                              Name 119  "shadowColor"
                              Name 120  "camVector"
                              Name 121  "roughness"
                              Name 136  "TDLightingPBR(vf3;vf3;i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1;"
                              Name 125  "diffuseContrib"
                              Name 126  "specularContrib"
                              Name 127  "index"
                              Name 128  "diffuseColor"
                              Name 129  "specularColor"
                              Name 130  "worldSpacePos"
                              Name 131  "normal"
                              Name 132  "shadowStrength"
                              Name 133  "shadowColor"
                              Name 134  "camVector"
                              Name 135  "roughness"
                              Name 146  "TDEnvLightingPBR(i1;vf3;vf3;vf3;vf3;f1;f1;"
                              Name 139  "index"
                              Name 140  "diffuseColor"
                              Name 141  "specularColor"
                              Name 142  "normal"
                              Name 143  "camVector"
                              Name 144  "roughness"
                              Name 145  "ambientOcclusion"
                              Name 158  "TDEnvLightingPBR(vf3;vf3;i1;vf3;vf3;vf3;vf3;f1;f1;"
                              Name 149  "diffuseContrib"
                              Name 150  "specularContrib"
                              Name 151  "index"
                              Name 152  "diffuseColor"
                              Name 153  "specularColor"
                              Name 154  "normal"
                              Name 155  "camVector"
                              Name 156  "roughness"
                              Name 157  "ambientOcclusion"
                              Name 160  "TDPhongResult"
                              MemberName 160(TDPhongResult) 0  "diffuse"
                              MemberName 160(TDPhongResult) 1  "specular"
                              MemberName 160(TDPhongResult) 2  "specular2"
                              MemberName 160(TDPhongResult) 3  "shadowStrength"
                              Name 170  "TDLighting(i1;vf3;vf3;f1;vf3;vf3;f1;f1;"
                              Name 162  "index"
                              Name 163  "worldSpacePos"
                              Name 164  "normal"
                              Name 165  "shadowStrength"
                              Name 166  "shadowColor"
                              Name 167  "camVector"
                              Name 168  "shininess"
                              Name 169  "shininess2"
                              Name 185  "TDLighting(vf3;vf3;vf3;f1;i1;vf3;vf3;f1;vf3;vf3;f1;f1;"
                              Name 173  "diffuseContrib"
                              Name 174  "specularContrib"
                              Name 175  "specularContrib2"
                              Name 176  "shadowStrengthOut"
                              Name 177  "index"
                              Name 178  "worldSpacePos"
                              Name 179  "normal"
                              Name 180  "shadowStrength"
                              Name 181  "shadowColor"
                              Name 182  "camVector"
                              Name 183  "shininess"
                              Name 184  "shininess2"
                              Name 199  "TDLighting(vf3;vf3;vf3;i1;vf3;vf3;f1;vf3;vf3;f1;f1;"
                              Name 188  "diffuseContrib"
                              Name 189  "specularContrib"
                              Name 190  "specularContrib2"
                              Name 191  "index"
                              Name 192  "worldSpacePos"
                              Name 193  "normal"
                              Name 194  "shadowStrength"
                              Name 195  "shadowColor"
                              Name 196  "camVector"
                              Name 197  "shininess"
                              Name 198  "shininess2"
                              Name 211  "TDLighting(vf3;vf3;i1;vf3;vf3;f1;vf3;vf3;f1;"
                              Name 202  "diffuseContrib"
                              Name 203  "specularContrib"
                              Name 204  "index"
                              Name 205  "worldSpacePos"
                              Name 206  "normal"
                              Name 207  "shadowStrength"
                              Name 208  "shadowColor"
                              Name 209  "camVector"
                              Name 210  "shininess"
                              Name 223  "TDLighting(vf3;vf3;vf3;i1;vf3;vf3;vf3;f1;f1;"
                              Name 214  "diffuseContrib"
                              Name 215  "specularContrib"
                              Name 216  "specularContrib2"
                              Name 217  "index"
                              Name 218  "worldSpacePos"
                              Name 219  "normal"
                              Name 220  "camVector"
                              Name 221  "shininess"
                              Name 222  "shininess2"
                              Name 233  "TDLighting(vf3;vf3;i1;vf3;vf3;vf3;f1;"
                              Name 226  "diffuseContrib"
                              Name 227  "specularContrib"
                              Name 228  "index"
                              Name 229  "worldSpacePos"
                              Name 230  "normal"
                              Name 231  "camVector"
                              Name 232  "shininess"
                              Name 240  "TDLighting(vf3;i1;vf3;vf3;"
                              Name 236  "diffuseContrib"
                              Name 237  "index"
                              Name 238  "worldSpacePos"
                              Name 239  "normal"
                              Name 249  "TDLighting(vf3;i1;vf3;vf3;f1;vf3;"
                              Name 243  "diffuseContrib"
                              Name 244  "index"
                              Name 245  "worldSpacePos"
                              Name 246  "normal"
                              Name 247  "shadowStrength"
                              Name 248  "shadowColor"
                              Name 255  "TDProjMap(i1;vf3;vf4;"
                              Name 252  "index"
                              Name 253  "worldSpacePos"
                              Name 254  "defaultColor"
                              Name 261  "TDFog(vf4;vf3;i1;"
                              Name 258  "color"
                              Name 259  "lightingSpacePosition"
                              Name 260  "cameraIndex"
                              Name 266  "TDFog(vf4;vf3;"
                              Name 264  "color"
                              Name 265  "lightingSpacePosition"
                              Name 271  "TDInstanceTexCoord(i1;vf3;"
                              Name 269  "index"
                              Name 270  "t"
                              Name 275  "TDInstanceActive(i1;"
                              Name 274  "index"
                              Name 281  "iTDInstanceTranslate(i1;b1;"
                              Name 279  "index"
                              Name 280  "instanceActive"
                              Name 285  "TDInstanceTranslate(i1;"
                              Name 284  "index"
                              Name 290  "TDInstanceRotateMat(i1;"
                              Name 289  "index"
                              Name 293  "TDInstanceScale(i1;"
                              Name 292  "index"
                              Name 296  "TDInstancePivot(i1;"
                              Name 295  "index"
                              Name 299  "TDInstanceRotTo(i1;"
                              Name 298  "index"
                              Name 302  "TDInstanceRotUp(i1;"
                              Name 301  "index"
                              Name 307  "TDInstanceMat(i1;"
                              Name 306  "id"
                              Name 310  "TDInstanceMat3(i1;"
                              Name 309  "id"
                              Name 313  "TDInstanceMat3ForNorm(i1;"
                              Name 312  "id"
                              Name 318  "TDInstanceColor(i1;vf4;"
                              Name 316  "index"
                              Name 317  "curColor"
                              Name 321  "TDOutputSwizzle(vf4;"
                              Name 320  "c"
                              Name 327  "TDOutputSwizzle(vu4;"
                              Name 326  "c"
                              Name 330  "outcol"
                              Name 333  "texCoord0"
                              Name 334  "Vertex"
                              MemberName 334(Vertex) 0  "color"
                              MemberName 334(Vertex) 1  "worldSpacePos"
                              MemberName 334(Vertex) 2  "texCoord0"
                              MemberName 334(Vertex) 3  "cameraIndex"
                              MemberName 334(Vertex) 4  "instance"
                              Name 336  "iVert"
                              Name 341  "actualTexZ"
                              Name 349  "instanceLoop"
                              Name 359  "colorMapColor"
                              Name 363  "sColorMap"
                              Name 367  "red"
                              Name 374  "gl_DefaultUniformBlock"
                              MemberName 374(gl_DefaultUniformBlock) 0  "uTDInstanceIDOffset"
                              MemberName 374(gl_DefaultUniformBlock) 1  "uTDNumInstances"
                              MemberName 374(gl_DefaultUniformBlock) 2  "uTDAlphaTestVal"
                              MemberName 374(gl_DefaultUniformBlock) 3  "uConstant"
                              MemberName 374(gl_DefaultUniformBlock) 4  "uShadowStrength"
                              MemberName 374(gl_DefaultUniformBlock) 5  "uShadowColor"
                              MemberName 374(gl_DefaultUniformBlock) 6  "uDiffuseColor"
                              MemberName 374(gl_DefaultUniformBlock) 7  "uAmbientColor"
                              Name 376  ""
                              Name 401  "alpha"
                              Name 409  "param"
                              Name 422  "param"
                              Name 429  "oFragColor"
                              Name 430  "param"
                              Name 435  "i"
                              Name 452  "d"
                              Name 456  "sTDNoiseMap"
                              Name 458  "gl_FragCoord"
                              Name 485  "gl_FrontFacing"
                              Name 555  "param"
                              Name 561  "a"
                              Name 563  "phi"
                              Name 568  "cosTheta"
                              Name 582  "sinTheta"
                              Name 588  "H"
                              Name 601  "upVector"
                              Name 612  "tangentX"
                              Name 617  "tangentY"
                              Name 621  "worldResult"
                              Name 639  "NdotH"
                              Name 645  "alpha2"
                              Name 649  "denom"
                              Name 686  "Gl"
                              Name 694  "Gv"
                              Name 708  "res"
                              Name 712  "res"
                              Name 713  "param"
                              Name 715  "param"
                              Name 717  "param"
                              Name 719  "param"
                              Name 721  "param"
                              Name 723  "param"
                              Name 725  "param"
                              Name 727  "param"
                              Name 729  "param"
                              Name 738  "res"
                              Name 739  "param"
                              Name 741  "param"
                              Name 743  "param"
                              Name 745  "param"
                              Name 747  "param"
                              Name 749  "param"
                              Name 751  "param"
                              Name 753  "param"
                              Name 755  "param"
                              Name 762  "res"
                              Name 766  "res"
                              Name 767  "param"
                              Name 769  "param"
                              Name 771  "param"
                              Name 773  "param"
                              Name 775  "param"
                              Name 777  "param"
                              Name 779  "param"
                              Name 790  "res"
                              Name 804  "res"
                              Name 822  "res"
                              Name 838  "res"
                              Name 852  "res"
                              Name 868  "res"
                              Name 882  "res"
                              Name 894  "res"
                              Name 917  "param"
                              Name 919  "param"
                              Name 921  "param"
                              Name 925  "coord"
                              Name 927  "samp"
                              Name 931  "sTDInstanceTexCoord"
                              Name 936  "v"
                              Name 955  "coord"
                              Name 957  "samp"
                              Name 958  "sTDInstanceT"
                              Name 963  "v"
                              Name 970  "origIndex"
                              Name 976  "coord"
                              Name 978  "samp"
                              Name 983  "v"
                              Name 1003  "coord"
                              Name 1005  "samp"
                              Name 1010  "v"
                              Name 1027  "v"
                              Name 1029  "m"
                              Name 1039  "v"
                              Name 1047  "v"
                              Name 1055  "v"
                              Name 1063  "v"
                              Name 1067  "instanceActive"
                              Name 1069  "t"
                              Name 1070  "param"
                              Name 1072  "param"
                              Name 1082  "m"
                              Name 1088  "tt"
                              Name 1201  "m"
                              Name 1205  "m"
                              Name 1206  "param"
                              Name 1216  "coord"
                              Name 1218  "samp"
                              Name 1219  "sTDInstanceColor"
                              Name 1224  "v"
                              Name 1253  "TDMatrix"
                              MemberName 1253(TDMatrix) 0  "world"
                              MemberName 1253(TDMatrix) 1  "worldInverse"
                              MemberName 1253(TDMatrix) 2  "worldCam"
                              MemberName 1253(TDMatrix) 3  "worldCamInverse"
                              MemberName 1253(TDMatrix) 4  "cam"
                              MemberName 1253(TDMatrix) 5  "camInverse"
                              MemberName 1253(TDMatrix) 6  "camProj"
                              MemberName 1253(TDMatrix) 7  "camProjInverse"
                              MemberName 1253(TDMatrix) 8  "proj"
                              MemberName 1253(TDMatrix) 9  "projInverse"
                              MemberName 1253(TDMatrix) 10  "worldCamProj"
                              MemberName 1253(TDMatrix) 11  "worldCamProjInverse"
                              MemberName 1253(TDMatrix) 12  "quadReproject"
                              MemberName 1253(TDMatrix) 13  "worldForNormals"
                              MemberName 1253(TDMatrix) 14  "camForNormals"
                              MemberName 1253(TDMatrix) 15  "worldCamForNormals"
                              Name 1255  "TDMatricesBlock"
                              MemberName 1255(TDMatricesBlock) 0  "uTDMats"
                              Name 1257  ""
                              Name 1258  "TDCameraInfo"
                              MemberName 1258(TDCameraInfo) 0  "nearFar"
                              MemberName 1258(TDCameraInfo) 1  "fog"
                              MemberName 1258(TDCameraInfo) 2  "fogColor"
                              MemberName 1258(TDCameraInfo) 3  "renderTOPCameraIndex"
                              Name 1260  "TDCameraInfoBlock"
                              MemberName 1260(TDCameraInfoBlock) 0  "uTDCamInfos"
                              Name 1262  ""
                              Name 1263  "TDGeneral"
                              MemberName 1263(TDGeneral) 0  "ambientColor"
                              MemberName 1263(TDGeneral) 1  "nearFar"
                              MemberName 1263(TDGeneral) 2  "viewport"
                              MemberName 1263(TDGeneral) 3  "viewportRes"
                              MemberName 1263(TDGeneral) 4  "fog"
                              MemberName 1263(TDGeneral) 5  "fogColor"
                              Name 1264  "TDGeneralBlock"
                              MemberName 1264(TDGeneralBlock) 0  "uTDGeneral"
                              Name 1266  ""
                              Name 1270  "sTDSineLookup"
                              Name 1271  "sTDWhite2D"
                              Name 1275  "sTDWhite3D"
                              Name 1276  "sTDWhite2DArray"
                              Name 1280  "sTDWhiteCube"
                              Name 1281  "TDLight"
                              MemberName 1281(TDLight) 0  "position"
                              MemberName 1281(TDLight) 1  "direction"
                              MemberName 1281(TDLight) 2  "diffuse"
                              MemberName 1281(TDLight) 3  "nearFar"
                              MemberName 1281(TDLight) 4  "lightSize"
                              MemberName 1281(TDLight) 5  "misc"
                              MemberName 1281(TDLight) 6  "coneLookupScaleBias"
                              MemberName 1281(TDLight) 7  "attenScaleBiasRoll"
                              MemberName 1281(TDLight) 8  "shadowMapMatrix"
                              MemberName 1281(TDLight) 9  "shadowMapCamMatrix"
                              MemberName 1281(TDLight) 10  "shadowMapRes"
                              MemberName 1281(TDLight) 11  "projMapMatrix"
                              Name 1283  "TDLightBlock"
                              MemberName 1283(TDLightBlock) 0  "uTDLights"
                              Name 1285  ""
                              Name 1286  "TDEnvLight"
                              MemberName 1286(TDEnvLight) 0  "color"
                              MemberName 1286(TDEnvLight) 1  "rotate"
                              Name 1288  "TDEnvLightBlock"
                              MemberName 1288(TDEnvLightBlock) 0  "uTDEnvLights"
                              Name 1290  ""
                              Name 1293  "TDEnvLightBuffer"
                              MemberName 1293(TDEnvLightBuffer) 0  "shCoeffs"
                              Name 1296  "uTDEnvLightBuffers"
                              MemberDecorate 334(Vertex) 3 Flat
                              MemberDecorate 334(Vertex) 4 Flat
                              Decorate 334(Vertex) Block
                              Decorate 336(iVert) Location 0
                              Decorate 363(sColorMap) DescriptorSet 0
                              Decorate 363(sColorMap) Binding 2
                              MemberDecorate 374(gl_DefaultUniformBlock) 0 Offset 0
                              MemberDecorate 374(gl_DefaultUniformBlock) 1 Offset 4
                              MemberDecorate 374(gl_DefaultUniformBlock) 2 Offset 8
                              MemberDecorate 374(gl_DefaultUniformBlock) 3 Offset 16
                              MemberDecorate 374(gl_DefaultUniformBlock) 4 Offset 28
                              MemberDecorate 374(gl_DefaultUniformBlock) 5 Offset 32
                              MemberDecorate 374(gl_DefaultUniformBlock) 6 Offset 48
                              MemberDecorate 374(gl_DefaultUniformBlock) 7 Offset 64
                              Decorate 374(gl_DefaultUniformBlock) Block
                              Decorate 376 DescriptorSet 0
                              Decorate 376 Binding 0
                              Decorate 429(oFragColor) Location 0
                              Decorate 456(sTDNoiseMap) DescriptorSet 0
                              Decorate 456(sTDNoiseMap) Binding 3
                              Decorate 458(gl_FragCoord) BuiltIn FragCoord
                              Decorate 485(gl_FrontFacing) BuiltIn FrontFacing
                              Decorate 931(sTDInstanceTexCoord) DescriptorSet 0
                              Decorate 931(sTDInstanceTexCoord) Binding 16
                              Decorate 958(sTDInstanceT) DescriptorSet 0
                              Decorate 958(sTDInstanceT) Binding 15
                              Decorate 1219(sTDInstanceColor) DescriptorSet 0
                              Decorate 1219(sTDInstanceColor) Binding 17
                              MemberDecorate 1253(TDMatrix) 0 ColMajor
                              MemberDecorate 1253(TDMatrix) 0 Offset 0
                              MemberDecorate 1253(TDMatrix) 0 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 1 ColMajor
                              MemberDecorate 1253(TDMatrix) 1 Offset 64
                              MemberDecorate 1253(TDMatrix) 1 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 2 ColMajor
                              MemberDecorate 1253(TDMatrix) 2 Offset 128
                              MemberDecorate 1253(TDMatrix) 2 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 3 ColMajor
                              MemberDecorate 1253(TDMatrix) 3 Offset 192
                              MemberDecorate 1253(TDMatrix) 3 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 4 ColMajor
                              MemberDecorate 1253(TDMatrix) 4 Offset 256
                              MemberDecorate 1253(TDMatrix) 4 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 5 ColMajor
                              MemberDecorate 1253(TDMatrix) 5 Offset 320
                              MemberDecorate 1253(TDMatrix) 5 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 6 ColMajor
                              MemberDecorate 1253(TDMatrix) 6 Offset 384
                              MemberDecorate 1253(TDMatrix) 6 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 7 ColMajor
                              MemberDecorate 1253(TDMatrix) 7 Offset 448
                              MemberDecorate 1253(TDMatrix) 7 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 8 ColMajor
                              MemberDecorate 1253(TDMatrix) 8 Offset 512
                              MemberDecorate 1253(TDMatrix) 8 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 9 ColMajor
                              MemberDecorate 1253(TDMatrix) 9 Offset 576
                              MemberDecorate 1253(TDMatrix) 9 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 10 ColMajor
                              MemberDecorate 1253(TDMatrix) 10 Offset 640
                              MemberDecorate 1253(TDMatrix) 10 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 11 ColMajor
                              MemberDecorate 1253(TDMatrix) 11 Offset 704
                              MemberDecorate 1253(TDMatrix) 11 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 12 ColMajor
                              MemberDecorate 1253(TDMatrix) 12 Offset 768
                              MemberDecorate 1253(TDMatrix) 12 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 13 ColMajor
                              MemberDecorate 1253(TDMatrix) 13 Offset 832
                              MemberDecorate 1253(TDMatrix) 13 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 14 ColMajor
                              MemberDecorate 1253(TDMatrix) 14 Offset 880
                              MemberDecorate 1253(TDMatrix) 14 MatrixStride 16
                              MemberDecorate 1253(TDMatrix) 15 ColMajor
                              MemberDecorate 1253(TDMatrix) 15 Offset 928
                              MemberDecorate 1253(TDMatrix) 15 MatrixStride 16
                              Decorate 1254 ArrayStride 976
                              MemberDecorate 1255(TDMatricesBlock) 0 Offset 0
                              Decorate 1255(TDMatricesBlock) Block
                              Decorate 1257 DescriptorSet 0
                              Decorate 1257 Binding 1
                              MemberDecorate 1258(TDCameraInfo) 0 Offset 0
                              MemberDecorate 1258(TDCameraInfo) 1 Offset 16
                              MemberDecorate 1258(TDCameraInfo) 2 Offset 32
                              MemberDecorate 1258(TDCameraInfo) 3 Offset 48
                              Decorate 1259 ArrayStride 64
                              MemberDecorate 1260(TDCameraInfoBlock) 0 Offset 0
                              Decorate 1260(TDCameraInfoBlock) Block
                              Decorate 1262 DescriptorSet 0
                              Decorate 1262 Binding 0
                              MemberDecorate 1263(TDGeneral) 0 Offset 0
                              MemberDecorate 1263(TDGeneral) 1 Offset 16
                              MemberDecorate 1263(TDGeneral) 2 Offset 32
                              MemberDecorate 1263(TDGeneral) 3 Offset 48
                              MemberDecorate 1263(TDGeneral) 4 Offset 64
                              MemberDecorate 1263(TDGeneral) 5 Offset 80
                              MemberDecorate 1264(TDGeneralBlock) 0 Offset 0
                              Decorate 1264(TDGeneralBlock) Block
                              Decorate 1266 DescriptorSet 0
                              Decorate 1266 Binding 0
                              Decorate 1270(sTDSineLookup) DescriptorSet 0
                              Decorate 1270(sTDSineLookup) Binding 0
                              Decorate 1271(sTDWhite2D) DescriptorSet 0
                              Decorate 1271(sTDWhite2D) Binding 0
                              Decorate 1275(sTDWhite3D) DescriptorSet 0
                              Decorate 1275(sTDWhite3D) Binding 0
                              Decorate 1276(sTDWhite2DArray) DescriptorSet 0
                              Decorate 1276(sTDWhite2DArray) Binding 0
                              Decorate 1280(sTDWhiteCube) DescriptorSet 0
                              Decorate 1280(sTDWhiteCube) Binding 0
                              MemberDecorate 1281(TDLight) 0 Offset 0
                              MemberDecorate 1281(TDLight) 1 Offset 16
                              MemberDecorate 1281(TDLight) 2 Offset 32
                              MemberDecorate 1281(TDLight) 3 Offset 48
                              MemberDecorate 1281(TDLight) 4 Offset 64
                              MemberDecorate 1281(TDLight) 5 Offset 80
                              MemberDecorate 1281(TDLight) 6 Offset 96
                              MemberDecorate 1281(TDLight) 7 Offset 112
                              MemberDecorate 1281(TDLight) 8 ColMajor
                              MemberDecorate 1281(TDLight) 8 Offset 128
                              MemberDecorate 1281(TDLight) 8 MatrixStride 16
                              MemberDecorate 1281(TDLight) 9 ColMajor
                              MemberDecorate 1281(TDLight) 9 Offset 192
                              MemberDecorate 1281(TDLight) 9 MatrixStride 16
                              MemberDecorate 1281(TDLight) 10 Offset 256
                              MemberDecorate 1281(TDLight) 11 ColMajor
                              MemberDecorate 1281(TDLight) 11 Offset 272
                              MemberDecorate 1281(TDLight) 11 MatrixStride 16
                              Decorate 1282 ArrayStride 336
                              MemberDecorate 1283(TDLightBlock) 0 Offset 0
                              Decorate 1283(TDLightBlock) Block
                              Decorate 1285 DescriptorSet 0
                              Decorate 1285 Binding 0
                              MemberDecorate 1286(TDEnvLight) 0 Offset 0
                              MemberDecorate 1286(TDEnvLight) 1 ColMajor
                              MemberDecorate 1286(TDEnvLight) 1 Offset 16
                              MemberDecorate 1286(TDEnvLight) 1 MatrixStride 16
                              Decorate 1287 ArrayStride 64
                              MemberDecorate 1288(TDEnvLightBlock) 0 Offset 0
                              Decorate 1288(TDEnvLightBlock) Block
                              Decorate 1290 DescriptorSet 0
                              Decorate 1290 Binding 0
                              Decorate 1292 ArrayStride 16
                              MemberDecorate 1293(TDEnvLightBuffer) 0 Restrict
                              MemberDecorate 1293(TDEnvLightBuffer) 0 NonWritable
                              MemberDecorate 1293(TDEnvLightBuffer) 0 Offset 0
                              Decorate 1293(TDEnvLightBuffer) BufferBlock
                              Decorate 1296(uTDEnvLightBuffers) DescriptorSet 0
                              Decorate 1296(uTDEnvLightBuffers) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeFunction 7(fvec4) 8(ptr)
              20:             TypeVector 6(float) 3
              21:             TypePointer Function 20(fvec3)
              22:             TypeBool
              23:             TypeFunction 22(bool) 21(ptr) 21(ptr)
              28:             TypeInt 32 1
              29:             TypePointer Function 28(int)
              30:             TypePointer Function 6(float)
              31:             TypeFunction 6(float) 29(ptr) 30(ptr)
              36:             TypeFunction 2 30(ptr)
              40:             TypeFunction 6(float) 29(ptr) 21(ptr)
              45:             TypeFunction 6(float) 29(ptr) 21(ptr) 29(ptr) 29(ptr)
              60:             TypeInt 32 0
              61:             TypePointer Function 60(int)
              62:             TypeFunction 6(float) 61(ptr)
              66:             TypeVector 6(float) 2
              67:             TypeFunction 66(fvec2) 61(ptr) 61(ptr)
              72:             TypePointer Function 66(fvec2)
              73:             TypeFunction 20(fvec3) 72(ptr) 30(ptr) 21(ptr)
              79:             TypeFunction 6(float) 21(ptr) 21(ptr) 30(ptr)
              85:             TypeFunction 20(fvec3) 21(ptr) 30(ptr)
              90:             TypeFunction 6(float) 30(ptr) 30(ptr) 30(ptr)
 96(TDPBRResult):             TypeStruct 20(fvec3) 20(fvec3) 6(float)
              97:             TypeFunction 96(TDPBRResult) 29(ptr) 21(ptr) 21(ptr) 21(ptr) 21(ptr) 30(ptr) 21(ptr) 21(ptr) 30(ptr)
             109:             TypeFunction 2 21(ptr) 21(ptr) 30(ptr) 29(ptr) 21(ptr) 21(ptr) 21(ptr) 21(ptr) 30(ptr) 21(ptr) 21(ptr) 30(ptr)
             124:             TypeFunction 2 21(ptr) 21(ptr) 29(ptr) 21(ptr) 21(ptr) 21(ptr) 21(ptr) 30(ptr) 21(ptr) 21(ptr) 30(ptr)
             138:             TypeFunction 96(TDPBRResult) 29(ptr) 21(ptr) 21(ptr) 21(ptr) 21(ptr) 30(ptr) 30(ptr)
             148:             TypeFunction 2 21(ptr) 21(ptr) 29(ptr) 21(ptr) 21(ptr) 21(ptr) 21(ptr) 30(ptr) 30(ptr)
160(TDPhongResult):             TypeStruct 20(fvec3) 20(fvec3) 20(fvec3) 6(float)
             161:             TypeFunction 160(TDPhongResult) 29(ptr) 21(ptr) 21(ptr) 30(ptr) 21(ptr) 21(ptr) 30(ptr) 30(ptr)
             172:             TypeFunction 2 21(ptr) 21(ptr) 21(ptr) 30(ptr) 29(ptr) 21(ptr) 21(ptr) 30(ptr) 21(ptr) 21(ptr) 30(ptr) 30(ptr)
             187:             TypeFunction 2 21(ptr) 21(ptr) 21(ptr) 29(ptr) 21(ptr) 21(ptr) 30(ptr) 21(ptr) 21(ptr) 30(ptr) 30(ptr)
             201:             TypeFunction 2 21(ptr) 21(ptr) 29(ptr) 21(ptr) 21(ptr) 30(ptr) 21(ptr) 21(ptr) 30(ptr)
             213:             TypeFunction 2 21(ptr) 21(ptr) 21(ptr) 29(ptr) 21(ptr) 21(ptr) 21(ptr) 30(ptr) 30(ptr)
             225:             TypeFunction 2 21(ptr) 21(ptr) 29(ptr) 21(ptr) 21(ptr) 21(ptr) 30(ptr)
             235:             TypeFunction 2 21(ptr) 29(ptr) 21(ptr) 21(ptr)
             242:             TypeFunction 2 21(ptr) 29(ptr) 21(ptr) 21(ptr) 30(ptr) 21(ptr)
             251:             TypeFunction 7(fvec4) 29(ptr) 21(ptr) 8(ptr)
             257:             TypeFunction 7(fvec4) 8(ptr) 21(ptr) 29(ptr)
             263:             TypeFunction 7(fvec4) 8(ptr) 21(ptr)
             268:             TypeFunction 20(fvec3) 29(ptr) 21(ptr)
             273:             TypeFunction 22(bool) 29(ptr)
             277:             TypePointer Function 22(bool)
             278:             TypeFunction 20(fvec3) 29(ptr) 277(ptr)
             283:             TypeFunction 20(fvec3) 29(ptr)
             287:             TypeMatrix 20(fvec3) 3
             288:             TypeFunction 287 29(ptr)
             304:             TypeMatrix 7(fvec4) 4
             305:             TypeFunction 304 29(ptr)
             315:             TypeFunction 7(fvec4) 29(ptr) 8(ptr)
             323:             TypeVector 60(int) 4
             324:             TypePointer Function 323(ivec4)
             325:             TypeFunction 323(ivec4) 324(ptr)
             331:    6(float) Constant 0
             332:    7(fvec4) ConstantComposite 331 331 331 331
     334(Vertex):             TypeStruct 7(fvec4) 20(fvec3) 20(fvec3) 28(int) 28(int)
             335:             TypePointer Input 334(Vertex)
      336(iVert):    335(ptr) Variable Input
             337:     28(int) Constant 2
             338:             TypePointer Input 20(fvec3)
             342:     60(int) Constant 2
             347:    6(float) Constant 1157627904
             353:     28(int) Constant 2048
             360:             TypeImage 6(float) 2D array sampled format:Unknown
             361:             TypeSampledImage 360
             362:             TypePointer UniformConstant 361
  363(sColorMap):    362(ptr) Variable UniformConstant
374(gl_DefaultUniformBlock):             TypeStruct 28(int) 28(int) 6(float) 20(fvec3) 6(float) 20(fvec3) 7(fvec4) 7(fvec4)
             375:             TypePointer Uniform 374(gl_DefaultUniformBlock)
             376:    375(ptr) Variable Uniform
             377:     28(int) Constant 3
             378:             TypePointer Uniform 20(fvec3)
             381:     28(int) Constant 0
             382:             TypePointer Input 7(fvec4)
             390:     60(int) Constant 0
             393:     60(int) Constant 1
             402:     60(int) Constant 3
             403:             TypePointer Input 6(float)
             427:             TypeArray 7(fvec4) 393
             428:             TypePointer Output 427
 429(oFragColor):    428(ptr) Variable Output
             433:             TypePointer Output 7(fvec4)
             436:     28(int) Constant 1
             453:             TypeImage 6(float) 2D sampled format:Unknown
             454:             TypeSampledImage 453
             455:             TypePointer UniformConstant 454
456(sTDNoiseMap):    455(ptr) Variable UniformConstant
458(gl_FragCoord):    382(ptr) Variable Input
             461:    6(float) Constant 1132462080
             466:    6(float) Constant 1056964608
             484:             TypePointer Input 22(bool)
485(gl_FrontFacing):    484(ptr) Variable Input
             489:    6(float) Constant 1065353216
             501:     60(int) Constant 16
             507:     60(int) Constant 1431655765
             511:     60(int) Constant 2863311530
             516:     60(int) Constant 858993459
             520:     60(int) Constant 3435973836
             525:     60(int) Constant 252645135
             527:     60(int) Constant 4
             530:     60(int) Constant 4042322160
             535:     60(int) Constant 16711935
             537:     60(int) Constant 8
             540:     60(int) Constant 4278255360
             546:    6(float) Constant 796917760
             564:    6(float) Constant 1086918619
             605:    6(float) Constant 1065336439
             607:   20(fvec3) ConstantComposite 331 331 489
             608:   20(fvec3) ConstantComposite 489 331 331
             609:             TypeVector 22(bool) 3
             643:    6(float) Constant 897988541
             657:    6(float) Constant 841731191
             661:    6(float) Constant 1078530011
             670:   20(fvec3) ConstantComposite 489 489 489
             673:    6(float) Constant 1073741824
             674:    6(float) Constant 3232874585
             677:    6(float) Constant 1088386572
             707:             TypePointer Function 96(TDPBRResult)
             789:             TypePointer Function 160(TDPhongResult)
             791:   20(fvec3) ConstantComposite 331 331 331
             928:             TypeImage 6(float) Buffer sampled format:Unknown
             929:             TypeSampledImage 928
             930:             TypePointer UniformConstant 929
931(sTDInstanceTexCoord):    930(ptr) Variable UniformConstant
             950:             TypePointer Uniform 28(int)
958(sTDInstanceT):    930(ptr) Variable UniformConstant
            1028:             TypePointer Function 287
            1030:   20(fvec3) ConstantComposite 331 489 331
            1031:         287 ConstantComposite 608 1030 607
            1068:    22(bool) ConstantTrue
            1079:         304 ConstantComposite 332 332 332 332
            1081:             TypePointer Function 304
            1083:    7(fvec4) ConstantComposite 489 331 331 331
            1084:    7(fvec4) ConstantComposite 331 489 331 331
            1085:    7(fvec4) ConstantComposite 331 331 489 331
            1086:    7(fvec4) ConstantComposite 331 331 331 489
            1087:         304 ConstantComposite 1083 1084 1085 1086
1219(sTDInstanceColor):    930(ptr) Variable UniformConstant
  1253(TDMatrix):             TypeStruct 304 304 304 304 304 304 304 304 304 304 304 304 304 287 287 287
            1254:             TypeArray 1253(TDMatrix) 393
1255(TDMatricesBlock):             TypeStruct 1254
            1256:             TypePointer Uniform 1255(TDMatricesBlock)
            1257:   1256(ptr) Variable Uniform
1258(TDCameraInfo):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 28(int)
            1259:             TypeArray 1258(TDCameraInfo) 393
1260(TDCameraInfoBlock):             TypeStruct 1259
            1261:             TypePointer Uniform 1260(TDCameraInfoBlock)
            1262:   1261(ptr) Variable Uniform
 1263(TDGeneral):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4)
1264(TDGeneralBlock):             TypeStruct 1263(TDGeneral)
            1265:             TypePointer Uniform 1264(TDGeneralBlock)
            1266:   1265(ptr) Variable Uniform
            1267:             TypeImage 6(float) 1D sampled format:Unknown
            1268:             TypeSampledImage 1267
            1269:             TypePointer UniformConstant 1268
1270(sTDSineLookup):   1269(ptr) Variable UniformConstant
1271(sTDWhite2D):    455(ptr) Variable UniformConstant
            1272:             TypeImage 6(float) 3D sampled format:Unknown
            1273:             TypeSampledImage 1272
            1274:             TypePointer UniformConstant 1273
1275(sTDWhite3D):   1274(ptr) Variable UniformConstant
1276(sTDWhite2DArray):    362(ptr) Variable UniformConstant
            1277:             TypeImage 6(float) Cube sampled format:Unknown
            1278:             TypeSampledImage 1277
            1279:             TypePointer UniformConstant 1278
1280(sTDWhiteCube):   1279(ptr) Variable UniformConstant
   1281(TDLight):             TypeStruct 7(fvec4) 20(fvec3) 20(fvec3) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 304 304 7(fvec4) 304
            1282:             TypeArray 1281(TDLight) 393
1283(TDLightBlock):             TypeStruct 1282
            1284:             TypePointer Uniform 1283(TDLightBlock)
            1285:   1284(ptr) Variable Uniform
1286(TDEnvLight):             TypeStruct 20(fvec3) 287
            1287:             TypeArray 1286(TDEnvLight) 393
1288(TDEnvLightBlock):             TypeStruct 1287
            1289:             TypePointer Uniform 1288(TDEnvLightBlock)
            1290:   1289(ptr) Variable Uniform
            1291:     60(int) Constant 9
            1292:             TypeArray 20(fvec3) 1291
1293(TDEnvLightBuffer):             TypeStruct 1292
            1294:             TypeArray 1293(TDEnvLightBuffer) 393
            1295:             TypePointer Uniform 1294
1296(uTDEnvLightBuffers):   1295(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
     330(outcol):      8(ptr) Variable Function
  333(texCoord0):     21(ptr) Variable Function
 341(actualTexZ):     30(ptr) Variable Function
349(instanceLoop):     30(ptr) Variable Function
359(colorMapColor):      8(ptr) Variable Function
        367(red):     30(ptr) Variable Function
      401(alpha):     30(ptr) Variable Function
      409(param):      8(ptr) Variable Function
      422(param):     30(ptr) Variable Function
      430(param):      8(ptr) Variable Function
          435(i):     29(ptr) Variable Function
             329:           2 FunctionCall 15(TDCheckDiscard()
                              Store 330(outcol) 332
             339:    338(ptr) AccessChain 336(iVert) 337
             340:   20(fvec3) Load 339
                              Store 333(texCoord0) 340
             343:     30(ptr) AccessChain 333(texCoord0) 342
             344:    6(float) Load 343
             345:     28(int) ConvertFToS 344
             346:    6(float) ConvertSToF 345
             348:    6(float) FMod 346 347
                              Store 341(actualTexZ) 348
             350:     30(ptr) AccessChain 333(texCoord0) 342
             351:    6(float) Load 350
             352:     28(int) ConvertFToS 351
             354:     28(int) SDiv 352 353
             355:    6(float) ConvertSToF 354
             356:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 355
                              Store 349(instanceLoop) 356
             357:    6(float) Load 341(actualTexZ)
             358:     30(ptr) AccessChain 333(texCoord0) 342
                              Store 358 357
             364:         361 Load 363(sColorMap)
             365:   20(fvec3) Load 333(texCoord0)
             366:    7(fvec4) ImageSampleImplicitLod 364 365
                              Store 359(colorMapColor) 366
             368:    6(float) Load 349(instanceLoop)
             369:     28(int) ConvertFToS 368
             370:     30(ptr) AccessChain 359(colorMapColor) 369
             371:    6(float) Load 370
                              Store 367(red) 371
             372:    6(float) Load 367(red)
             373:    7(fvec4) CompositeConstruct 372 372 372 372
                              Store 359(colorMapColor) 373
             379:    378(ptr) AccessChain 376 377
             380:   20(fvec3) Load 379
             383:    382(ptr) AccessChain 336(iVert) 381
             384:    7(fvec4) Load 383
             385:   20(fvec3) VectorShuffle 384 384 0 1 2
             386:   20(fvec3) FMul 380 385
             387:    7(fvec4) Load 330(outcol)
             388:   20(fvec3) VectorShuffle 387 387 0 1 2
             389:   20(fvec3) FAdd 388 386
             391:     30(ptr) AccessChain 330(outcol) 390
             392:    6(float) CompositeExtract 389 0
                              Store 391 392
             394:     30(ptr) AccessChain 330(outcol) 393
             395:    6(float) CompositeExtract 389 1
                              Store 394 395
             396:     30(ptr) AccessChain 330(outcol) 342
             397:    6(float) CompositeExtract 389 2
                              Store 396 397
             398:    7(fvec4) Load 359(colorMapColor)
             399:    7(fvec4) Load 330(outcol)
             400:    7(fvec4) FMul 399 398
                              Store 330(outcol) 400
             404:    403(ptr) AccessChain 336(iVert) 381 402
             405:    6(float) Load 404
             406:     30(ptr) AccessChain 359(colorMapColor) 402
             407:    6(float) Load 406
             408:    6(float) FMul 405 407
                              Store 401(alpha) 408
             410:    7(fvec4) Load 330(outcol)
                              Store 409(param) 410
             411:    7(fvec4) FunctionCall 18(TDDither(vf4;) 409(param)
                              Store 330(outcol) 411
             412:    6(float) Load 401(alpha)
             413:    7(fvec4) Load 330(outcol)
             414:   20(fvec3) VectorShuffle 413 413 0 1 2
             415:   20(fvec3) VectorTimesScalar 414 412
             416:     30(ptr) AccessChain 330(outcol) 390
             417:    6(float) CompositeExtract 415 0
                              Store 416 417
             418:     30(ptr) AccessChain 330(outcol) 393
             419:    6(float) CompositeExtract 415 1
                              Store 418 419
             420:     30(ptr) AccessChain 330(outcol) 342
             421:    6(float) CompositeExtract 415 2
                              Store 420 421
             423:    6(float) Load 401(alpha)
                              Store 422(param) 423
             424:           2 FunctionCall 38(TDAlphaTest(f1;) 422(param)
             425:    6(float) Load 401(alpha)
             426:     30(ptr) AccessChain 330(outcol) 402
                              Store 426 425
             431:    7(fvec4) Load 330(outcol)
                              Store 430(param) 431
             432:    7(fvec4) FunctionCall 321(TDOutputSwizzle(vf4;) 430(param)
             434:    433(ptr) AccessChain 429(oFragColor) 381
                              Store 434 432
                              Store 435(i) 436
                              Branch 437
             437:             Label
                              LoopMerge 439 440 None
                              Branch 441
             441:             Label
             442:     28(int) Load 435(i)
             443:    22(bool) SLessThan 442 436
                              BranchConditional 443 438 439
             438:               Label
             444:     28(int)   Load 435(i)
             445:    433(ptr)   AccessChain 429(oFragColor) 444
                                Store 445 332
                                Branch 440
             440:               Label
             446:     28(int)   Load 435(i)
             447:     28(int)   IAdd 446 436
                                Store 435(i) 447
                                Branch 437
             439:             Label
                              Return
                              FunctionEnd
11(TDColor(vf4;):    7(fvec4) Function None 9
       10(color):      8(ptr) FunctionParameter
              12:             Label
             448:    7(fvec4) Load 10(color)
                              ReturnValue 448
                              FunctionEnd
13(TDCheckOrderIndTrans():           2 Function None 3
              14:             Label
                              Return
                              FunctionEnd
15(TDCheckDiscard():           2 Function None 3
              16:             Label
             451:           2 FunctionCall 13(TDCheckOrderIndTrans()
                              Return
                              FunctionEnd
18(TDDither(vf4;):    7(fvec4) Function None 9
       17(color):      8(ptr) FunctionParameter
              19:             Label
          452(d):     30(ptr) Variable Function
             457:         454 Load 456(sTDNoiseMap)
             459:    7(fvec4) Load 458(gl_FragCoord)
             460:   66(fvec2) VectorShuffle 459 459 0 1
             462:   66(fvec2) CompositeConstruct 461 461
             463:   66(fvec2) FDiv 460 462
             464:    7(fvec4) ImageSampleImplicitLod 457 463
             465:    6(float) CompositeExtract 464 0
                              Store 452(d) 465
             467:    6(float) Load 452(d)
             468:    6(float) FSub 467 466
                              Store 452(d) 468
             469:    6(float) Load 452(d)
             470:    6(float) FDiv 469 461
                              Store 452(d) 470
             471:    7(fvec4) Load 17(color)
             472:   20(fvec3) VectorShuffle 471 471 0 1 2
             473:    6(float) Load 452(d)
             474:   20(fvec3) CompositeConstruct 473 473 473
             475:   20(fvec3) FAdd 472 474
             476:     30(ptr) AccessChain 17(color) 402
             477:    6(float) Load 476
             478:    6(float) CompositeExtract 475 0
             479:    6(float) CompositeExtract 475 1
             480:    6(float) CompositeExtract 475 2
             481:    7(fvec4) CompositeConstruct 478 479 480 477
                              ReturnValue 481
                              FunctionEnd
26(TDFrontFacing(vf3;vf3;):    22(bool) Function None 23
         24(pos):     21(ptr) FunctionParameter
      25(normal):     21(ptr) FunctionParameter
              27:             Label
             486:    22(bool) Load 485(gl_FrontFacing)
                              ReturnValue 486
                              FunctionEnd
34(TDAttenuateLight(i1;f1;):    6(float) Function None 31
       32(index):     29(ptr) FunctionParameter
   33(lightDist):     30(ptr) FunctionParameter
              35:             Label
                              ReturnValue 489
                              FunctionEnd
38(TDAlphaTest(f1;):           2 Function None 36
       37(alpha):     30(ptr) FunctionParameter
              39:             Label
                              Return
                              FunctionEnd
43(TDHardShadow(i1;vf3;):    6(float) Function None 40
  41(lightIndex):     29(ptr) FunctionParameter
42(worldSpacePos):     21(ptr) FunctionParameter
              44:             Label
                              ReturnValue 331
                              FunctionEnd
50(TDSoftShadow(i1;vf3;i1;i1;):    6(float) Function None 45
  46(lightIndex):     29(ptr) FunctionParameter
47(worldSpacePos):     21(ptr) FunctionParameter
     48(samples):     29(ptr) FunctionParameter
       49(steps):     29(ptr) FunctionParameter
              51:             Label
                              ReturnValue 331
                              FunctionEnd
54(TDSoftShadow(i1;vf3;):    6(float) Function None 40
  52(lightIndex):     29(ptr) FunctionParameter
53(worldSpacePos):     21(ptr) FunctionParameter
              55:             Label
                              ReturnValue 331
                              FunctionEnd
58(TDShadow(i1;vf3;):    6(float) Function None 40
  56(lightIndex):     29(ptr) FunctionParameter
57(worldSpacePos):     21(ptr) FunctionParameter
              59:             Label
                              ReturnValue 331
                              FunctionEnd
64(iTDRadicalInverse_VdC(u1;):    6(float) Function None 62
        63(bits):     61(ptr) FunctionParameter
              65:             Label
             500:     60(int) Load 63(bits)
             502:     60(int) ShiftLeftLogical 500 501
             503:     60(int) Load 63(bits)
             504:     60(int) ShiftRightLogical 503 501
             505:     60(int) BitwiseOr 502 504
                              Store 63(bits) 505
             506:     60(int) Load 63(bits)
             508:     60(int) BitwiseAnd 506 507
             509:     60(int) ShiftLeftLogical 508 393
             510:     60(int) Load 63(bits)
             512:     60(int) BitwiseAnd 510 511
             513:     60(int) ShiftRightLogical 512 393
             514:     60(int) BitwiseOr 509 513
                              Store 63(bits) 514
             515:     60(int) Load 63(bits)
             517:     60(int) BitwiseAnd 515 516
             518:     60(int) ShiftLeftLogical 517 342
             519:     60(int) Load 63(bits)
             521:     60(int) BitwiseAnd 519 520
             522:     60(int) ShiftRightLogical 521 342
             523:     60(int) BitwiseOr 518 522
                              Store 63(bits) 523
             524:     60(int) Load 63(bits)
             526:     60(int) BitwiseAnd 524 525
             528:     60(int) ShiftLeftLogical 526 527
             529:     60(int) Load 63(bits)
             531:     60(int) BitwiseAnd 529 530
             532:     60(int) ShiftRightLogical 531 527
             533:     60(int) BitwiseOr 528 532
                              Store 63(bits) 533
             534:     60(int) Load 63(bits)
             536:     60(int) BitwiseAnd 534 535
             538:     60(int) ShiftLeftLogical 536 537
             539:     60(int) Load 63(bits)
             541:     60(int) BitwiseAnd 539 540
             542:     60(int) ShiftRightLogical 541 537
             543:     60(int) BitwiseOr 538 542
                              Store 63(bits) 543
             544:     60(int) Load 63(bits)
             545:    6(float) ConvertUToF 544
             547:    6(float) FMul 545 546
                              ReturnValue 547
                              FunctionEnd
70(iTDHammersley(u1;u1;):   66(fvec2) Function None 67
           68(i):     61(ptr) FunctionParameter
           69(N):     61(ptr) FunctionParameter
              71:             Label
      555(param):     61(ptr) Variable Function
             550:     60(int) Load 68(i)
             551:    6(float) ConvertUToF 550
             552:     60(int) Load 69(N)
             553:    6(float) ConvertUToF 552
             554:    6(float) FDiv 551 553
             556:     60(int) Load 68(i)
                              Store 555(param) 556
             557:    6(float) FunctionCall 64(iTDRadicalInverse_VdC(u1;) 555(param)
             558:   66(fvec2) CompositeConstruct 554 557
                              ReturnValue 558
                              FunctionEnd
77(iTDImportanceSampleGGX(vf2;f1;vf3;):   20(fvec3) Function None 73
          74(Xi):     72(ptr) FunctionParameter
  75(roughness2):     30(ptr) FunctionParameter
           76(N):     21(ptr) FunctionParameter
              78:             Label
          561(a):     30(ptr) Variable Function
        563(phi):     30(ptr) Variable Function
   568(cosTheta):     30(ptr) Variable Function
   582(sinTheta):     30(ptr) Variable Function
          588(H):     21(ptr) Variable Function
   601(upVector):     21(ptr) Variable Function
   612(tangentX):     21(ptr) Variable Function
   617(tangentY):     21(ptr) Variable Function
621(worldResult):     21(ptr) Variable Function
             562:    6(float) Load 75(roughness2)
                              Store 561(a) 562
             565:     30(ptr) AccessChain 74(Xi) 390
             566:    6(float) Load 565
             567:    6(float) FMul 564 566
                              Store 563(phi) 567
             569:     30(ptr) AccessChain 74(Xi) 393
             570:    6(float) Load 569
             571:    6(float) FSub 489 570
             572:    6(float) Load 561(a)
             573:    6(float) Load 561(a)
             574:    6(float) FMul 572 573
             575:    6(float) FSub 574 489
             576:     30(ptr) AccessChain 74(Xi) 393
             577:    6(float) Load 576
             578:    6(float) FMul 575 577
             579:    6(float) FAdd 489 578
             580:    6(float) FDiv 571 579
             581:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 580
                              Store 568(cosTheta) 581
             583:    6(float) Load 568(cosTheta)
             584:    6(float) Load 568(cosTheta)
             585:    6(float) FMul 583 584
             586:    6(float) FSub 489 585
             587:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 586
                              Store 582(sinTheta) 587
             589:    6(float) Load 582(sinTheta)
             590:    6(float) Load 563(phi)
             591:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 590
             592:    6(float) FMul 589 591
             593:     30(ptr) AccessChain 588(H) 390
                              Store 593 592
             594:    6(float) Load 582(sinTheta)
             595:    6(float) Load 563(phi)
             596:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 595
             597:    6(float) FMul 594 596
             598:     30(ptr) AccessChain 588(H) 393
                              Store 598 597
             599:    6(float) Load 568(cosTheta)
             600:     30(ptr) AccessChain 588(H) 342
                              Store 600 599
             602:     30(ptr) AccessChain 76(N) 342
             603:    6(float) Load 602
             604:    6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 603
             606:    22(bool) FOrdLessThan 604 605
             610:  609(bvec3) CompositeConstruct 606 606 606
             611:   20(fvec3) Select 610 607 608
                              Store 601(upVector) 611
             613:   20(fvec3) Load 601(upVector)
             614:   20(fvec3) Load 76(N)
             615:   20(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 613 614
             616:   20(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 615
                              Store 612(tangentX) 616
             618:   20(fvec3) Load 76(N)
             619:   20(fvec3) Load 612(tangentX)
             620:   20(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 618 619
                              Store 617(tangentY) 620
             622:   20(fvec3) Load 612(tangentX)
             623:     30(ptr) AccessChain 588(H) 390
             624:    6(float) Load 623
             625:   20(fvec3) VectorTimesScalar 622 624
             626:   20(fvec3) Load 617(tangentY)
             627:     30(ptr) AccessChain 588(H) 393
             628:    6(float) Load 627
             629:   20(fvec3) VectorTimesScalar 626 628
             630:   20(fvec3) FAdd 625 629
             631:   20(fvec3) Load 76(N)
             632:     30(ptr) AccessChain 588(H) 342
             633:    6(float) Load 632
             634:   20(fvec3) VectorTimesScalar 631 633
             635:   20(fvec3) FAdd 630 634
                              Store 621(worldResult) 635
             636:   20(fvec3) Load 621(worldResult)
                              ReturnValue 636
                              FunctionEnd
83(iTDDistributionGGX(vf3;vf3;f1;):    6(float) Function None 79
      80(normal):     21(ptr) FunctionParameter
 81(half_vector):     21(ptr) FunctionParameter
  82(roughness2):     30(ptr) FunctionParameter
              84:             Label
      639(NdotH):     30(ptr) Variable Function
     645(alpha2):     30(ptr) Variable Function
      649(denom):     30(ptr) Variable Function
             640:   20(fvec3) Load 80(normal)
             641:   20(fvec3) Load 81(half_vector)
             642:    6(float) Dot 640 641
             644:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 642 643 489
                              Store 639(NdotH) 644
             646:    6(float) Load 82(roughness2)
             647:    6(float) Load 82(roughness2)
             648:    6(float) FMul 646 647
                              Store 645(alpha2) 648
             650:    6(float) Load 639(NdotH)
             651:    6(float) Load 639(NdotH)
             652:    6(float) FMul 650 651
             653:    6(float) Load 645(alpha2)
             654:    6(float) FSub 653 489
             655:    6(float) FMul 652 654
             656:    6(float) FAdd 655 489
                              Store 649(denom) 656
             658:    6(float) Load 649(denom)
             659:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 657 658
                              Store 649(denom) 659
             660:    6(float) Load 645(alpha2)
             662:    6(float) Load 649(denom)
             663:    6(float) FMul 661 662
             664:    6(float) Load 649(denom)
             665:    6(float) FMul 663 664
             666:    6(float) FDiv 660 665
                              ReturnValue 666
                              FunctionEnd
88(iTDCalcF(vf3;f1;):   20(fvec3) Function None 85
          86(F0):     21(ptr) FunctionParameter
       87(VdotH):     30(ptr) FunctionParameter
              89:             Label
             669:   20(fvec3) Load 86(F0)
             671:   20(fvec3) Load 86(F0)
             672:   20(fvec3) FSub 670 671
             675:    6(float) Load 87(VdotH)
             676:    6(float) FMul 674 675
             678:    6(float) FSub 676 677
             679:    6(float) Load 87(VdotH)
             680:    6(float) FMul 678 679
             681:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 673 680
             682:   20(fvec3) VectorTimesScalar 672 681
             683:   20(fvec3) FAdd 669 682
                              ReturnValue 683
                              FunctionEnd
94(iTDCalcG(f1;f1;f1;):    6(float) Function None 90
       91(NdotL):     30(ptr) FunctionParameter
       92(NdotV):     30(ptr) FunctionParameter
           93(k):     30(ptr) FunctionParameter
              95:             Label
         686(Gl):     30(ptr) Variable Function
         694(Gv):     30(ptr) Variable Function
             687:    6(float) Load 91(NdotL)
             688:    6(float) Load 93(k)
             689:    6(float) FSub 489 688
             690:    6(float) FMul 687 689
             691:    6(float) Load 93(k)
             692:    6(float) FAdd 690 691
             693:    6(float) FDiv 489 692
                              Store 686(Gl) 693
             695:    6(float) Load 92(NdotV)
             696:    6(float) Load 93(k)
             697:    6(float) FSub 489 696
             698:    6(float) FMul 695 697
             699:    6(float) Load 93(k)
             700:    6(float) FAdd 698 699
             701:    6(float) FDiv 489 700
                              Store 694(Gv) 701
             702:    6(float) Load 686(Gl)
             703:    6(float) Load 694(Gv)
             704:    6(float) FMul 702 703
                              ReturnValue 704
                              FunctionEnd
107(TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1;):96(TDPBRResult) Function None 97
       98(index):     29(ptr) FunctionParameter
99(diffuseColor):     21(ptr) FunctionParameter
100(specularColor):     21(ptr) FunctionParameter
101(worldSpacePos):     21(ptr) FunctionParameter
     102(normal):     21(ptr) FunctionParameter
103(shadowStrength):     30(ptr) FunctionParameter
104(shadowColor):     21(ptr) FunctionParameter
  105(camVector):     21(ptr) FunctionParameter
  106(roughness):     30(ptr) FunctionParameter
             108:             Label
        708(res):    707(ptr) Variable Function
             709:96(TDPBRResult) Load 708(res)
                              ReturnValue 709
                              FunctionEnd
122(TDLightingPBR(vf3;vf3;f1;i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1;):           2 Function None 109
110(diffuseContrib):     21(ptr) FunctionParameter
111(specularContrib):     21(ptr) FunctionParameter
112(shadowStrengthOut):     30(ptr) FunctionParameter
      113(index):     29(ptr) FunctionParameter
114(diffuseColor):     21(ptr) FunctionParameter
115(specularColor):     21(ptr) FunctionParameter
116(worldSpacePos):     21(ptr) FunctionParameter
     117(normal):     21(ptr) FunctionParameter
118(shadowStrength):     30(ptr) FunctionParameter
119(shadowColor):     21(ptr) FunctionParameter
  120(camVector):     21(ptr) FunctionParameter
  121(roughness):     30(ptr) FunctionParameter
             123:             Label
        712(res):    707(ptr) Variable Function
      713(param):     29(ptr) Variable Function
      715(param):     21(ptr) Variable Function
      717(param):     21(ptr) Variable Function
      719(param):     21(ptr) Variable Function
      721(param):     21(ptr) Variable Function
      723(param):     30(ptr) Variable Function
      725(param):     21(ptr) Variable Function
      727(param):     21(ptr) Variable Function
      729(param):     30(ptr) Variable Function
             714:     28(int) Load 113(index)
                              Store 713(param) 714
             716:   20(fvec3) Load 114(diffuseColor)
                              Store 715(param) 716
             718:   20(fvec3) Load 115(specularColor)
                              Store 717(param) 718
             720:   20(fvec3) Load 116(worldSpacePos)
                              Store 719(param) 720
             722:   20(fvec3) Load 117(normal)
                              Store 721(param) 722
             724:    6(float) Load 118(shadowStrength)
                              Store 723(param) 724
             726:   20(fvec3) Load 119(shadowColor)
                              Store 725(param) 726
             728:   20(fvec3) Load 120(camVector)
                              Store 727(param) 728
             730:    6(float) Load 121(roughness)
                              Store 729(param) 730
             731:96(TDPBRResult) FunctionCall 107(TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1;) 713(param) 715(param) 717(param) 719(param) 721(param) 723(param) 725(param) 727(param) 729(param)
                              Store 712(res) 731
             732:     21(ptr) AccessChain 712(res) 381
             733:   20(fvec3) Load 732
                              Store 110(diffuseContrib) 733
             734:     21(ptr) AccessChain 712(res) 436
             735:   20(fvec3) Load 734
                              Store 111(specularContrib) 735
             736:     30(ptr) AccessChain 712(res) 337
             737:    6(float) Load 736
                              Store 112(shadowStrengthOut) 737
                              Return
                              FunctionEnd
136(TDLightingPBR(vf3;vf3;i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1;):           2 Function None 124
125(diffuseContrib):     21(ptr) FunctionParameter
126(specularContrib):     21(ptr) FunctionParameter
      127(index):     29(ptr) FunctionParameter
128(diffuseColor):     21(ptr) FunctionParameter
129(specularColor):     21(ptr) FunctionParameter
130(worldSpacePos):     21(ptr) FunctionParameter
     131(normal):     21(ptr) FunctionParameter
132(shadowStrength):     30(ptr) FunctionParameter
133(shadowColor):     21(ptr) FunctionParameter
  134(camVector):     21(ptr) FunctionParameter
  135(roughness):     30(ptr) FunctionParameter
             137:             Label
        738(res):    707(ptr) Variable Function
      739(param):     29(ptr) Variable Function
      741(param):     21(ptr) Variable Function
      743(param):     21(ptr) Variable Function
      745(param):     21(ptr) Variable Function
      747(param):     21(ptr) Variable Function
      749(param):     30(ptr) Variable Function
      751(param):     21(ptr) Variable Function
      753(param):     21(ptr) Variable Function
      755(param):     30(ptr) Variable Function
             740:     28(int) Load 127(index)
                              Store 739(param) 740
             742:   20(fvec3) Load 128(diffuseColor)
                              Store 741(param) 742
             744:   20(fvec3) Load 129(specularColor)
                              Store 743(param) 744
             746:   20(fvec3) Load 130(worldSpacePos)
                              Store 745(param) 746
             748:   20(fvec3) Load 131(normal)
                              Store 747(param) 748
             750:    6(float) Load 132(shadowStrength)
                              Store 749(param) 750
             752:   20(fvec3) Load 133(shadowColor)
                              Store 751(param) 752
             754:   20(fvec3) Load 134(camVector)
                              Store 753(param) 754
             756:    6(float) Load 135(roughness)
                              Store 755(param) 756
             757:96(TDPBRResult) FunctionCall 107(TDLightingPBR(i1;vf3;vf3;vf3;vf3;f1;vf3;vf3;f1;) 739(param) 741(param) 743(param) 745(param) 747(param) 749(param) 751(param) 753(param) 755(param)
                              Store 738(res) 757
             758:     21(ptr) AccessChain 738(res) 381
             759:   20(fvec3) Load 758
                              Store 125(diffuseContrib) 759
             760:     21(ptr) AccessChain 738(res) 436
             761:   20(fvec3) Load 760
                              Store 126(specularContrib) 761
                              Return
                              FunctionEnd
146(TDEnvLightingPBR(i1;vf3;vf3;vf3;vf3;f1;f1;):96(TDPBRResult) Function None 138
      139(index):     29(ptr) FunctionParameter
140(diffuseColor):     21(ptr) FunctionParameter
141(specularColor):     21(ptr) FunctionParameter
     142(normal):     21(ptr) FunctionParameter
  143(camVector):     21(ptr) FunctionParameter
  144(roughness):     30(ptr) FunctionParameter
145(ambientOcclusion):     30(ptr) FunctionParameter
             147:             Label
        762(res):    707(ptr) Variable Function
             763:96(TDPBRResult) Load 762(res)
                              ReturnValue 763
                              FunctionEnd
158(TDEnvLightingPBR(vf3;vf3;i1;vf3;vf3;vf3;vf3;f1;f1;):           2 Function None 148
149(diffuseContrib):     21(ptr) FunctionParameter
150(specularContrib):     21(ptr) FunctionParameter
      151(index):     29(ptr) FunctionParameter
152(diffuseColor):     21(ptr) FunctionParameter
153(specularColor):     21(ptr) FunctionParameter
     154(normal):     21(ptr) FunctionParameter
  155(camVector):     21(ptr) FunctionParameter
  156(roughness):     30(ptr) FunctionParameter
157(ambientOcclusion):     30(ptr) FunctionParameter
             159:             Label
        766(res):    707(ptr) Variable Function
      767(param):     29(ptr) Variable Function
      769(param):     21(ptr) Variable Function
      771(param):     21(ptr) Variable Function
      773(param):     21(ptr) Variable Function
      775(param):     21(ptr) Variable Function
      777(param):     30(ptr) Variable Function
      779(param):     30(ptr) Variable Function
             768:     28(int) Load 151(index)
                              Store 767(param) 768
             770:   20(fvec3) Load 152(diffuseColor)
                              Store 769(param) 770
             772:   20(fvec3) Load 153(specularColor)
                              Store 771(param) 772
             774:   20(fvec3) Load 154(normal)
                              Store 773(param) 774
             776:   20(fvec3) Load 155(camVector)
                              Store 775(param) 776
             778:    6(float) Load 156(roughness)
                              Store 777(param) 778
             780:    6(float) Load 157(ambientOcclusion)
                              Store 779(param) 780
             781:96(TDPBRResult) FunctionCall 146(TDEnvLightingPBR(i1;vf3;vf3;vf3;vf3;f1;f1;) 767(param) 769(param) 771(param) 773(param) 775(param) 777(param) 779(param)
                              Store 766(res) 781
             782:     21(ptr) AccessChain 766(res) 381
             783:   20(fvec3) Load 782
                              Store 149(diffuseContrib) 783
             784:     21(ptr) AccessChain 766(res) 436
             785:   20(fvec3) Load 784
                              Store 150(specularContrib) 785
                              Return
                              FunctionEnd
170(TDLighting(i1;vf3;vf3;f1;vf3;vf3;f1;f1;):160(TDPhongResult) Function None 161
      162(index):     29(ptr) FunctionParameter
163(worldSpacePos):     21(ptr) FunctionParameter
     164(normal):     21(ptr) FunctionParameter
165(shadowStrength):     30(ptr) FunctionParameter
166(shadowColor):     21(ptr) FunctionParameter
  167(camVector):     21(ptr) FunctionParameter
  168(shininess):     30(ptr) FunctionParameter
 169(shininess2):     30(ptr) FunctionParameter
             171:             Label
        790(res):    789(ptr) Variable Function
             786:     28(int) Load 162(index)
                              SelectionMerge 788 None
                              Switch 786 787
             787:               Label
             792:     21(ptr)   AccessChain 790(res) 381
                                Store 792 791
             793:     21(ptr)   AccessChain 790(res) 436
                                Store 793 791
             794:     21(ptr)   AccessChain 790(res) 337
                                Store 794 791
             795:     30(ptr)   AccessChain 790(res) 377
                                Store 795 331
                                Branch 788
             788:             Label
             798:160(TDPhongResult) Load 790(res)
                              ReturnValue 798
                              FunctionEnd
185(TDLighting(vf3;vf3;vf3;f1;i1;vf3;vf3;f1;vf3;vf3;f1;f1;):           2 Function None 172
173(diffuseContrib):     21(ptr) FunctionParameter
174(specularContrib):     21(ptr) FunctionParameter
175(specularContrib2):     21(ptr) FunctionParameter
176(shadowStrengthOut):     30(ptr) FunctionParameter
      177(index):     29(ptr) FunctionParameter
178(worldSpacePos):     21(ptr) FunctionParameter
     179(normal):     21(ptr) FunctionParameter
180(shadowStrength):     30(ptr) FunctionParameter
181(shadowColor):     21(ptr) FunctionParameter
  182(camVector):     21(ptr) FunctionParameter
  183(shininess):     30(ptr) FunctionParameter
 184(shininess2):     30(ptr) FunctionParameter
             186:             Label
        804(res):    789(ptr) Variable Function
             801:     28(int) Load 177(index)
                              SelectionMerge 803 None
                              Switch 801 802
             802:               Label
             805:     21(ptr)   AccessChain 804(res) 381
                                Store 805 791
             806:     21(ptr)   AccessChain 804(res) 436
                                Store 806 791
             807:     21(ptr)   AccessChain 804(res) 337
                                Store 807 791
             808:     30(ptr)   AccessChain 804(res) 377
                                Store 808 331
                                Branch 803
             803:             Label
             811:     21(ptr) AccessChain 804(res) 381
             812:   20(fvec3) Load 811
                              Store 173(diffuseContrib) 812
             813:     21(ptr) AccessChain 804(res) 436
             814:   20(fvec3) Load 813
                              Store 174(specularContrib) 814
             815:     21(ptr) AccessChain 804(res) 337
             816:   20(fvec3) Load 815
                              Store 175(specularContrib2) 816
             817:     30(ptr) AccessChain 804(res) 377
             818:    6(float) Load 817
                              Store 176(shadowStrengthOut) 818
                              Return
                              FunctionEnd
199(TDLighting(vf3;vf3;vf3;i1;vf3;vf3;f1;vf3;vf3;f1;f1;):           2 Function None 187
188(diffuseContrib):     21(ptr) FunctionParameter
189(specularContrib):     21(ptr) FunctionParameter
190(specularContrib2):     21(ptr) FunctionParameter
      191(index):     29(ptr) FunctionParameter
192(worldSpacePos):     21(ptr) FunctionParameter
     193(normal):     21(ptr) FunctionParameter
194(shadowStrength):     30(ptr) FunctionParameter
195(shadowColor):     21(ptr) FunctionParameter
  196(camVector):     21(ptr) FunctionParameter
  197(shininess):     30(ptr) FunctionParameter
 198(shininess2):     30(ptr) FunctionParameter
             200:             Label
        822(res):    789(ptr) Variable Function
             819:     28(int) Load 191(index)
                              SelectionMerge 821 None
                              Switch 819 820
             820:               Label
             823:     21(ptr)   AccessChain 822(res) 381
                                Store 823 791
             824:     21(ptr)   AccessChain 822(res) 436
                                Store 824 791
             825:     21(ptr)   AccessChain 822(res) 337
                                Store 825 791
             826:     30(ptr)   AccessChain 822(res) 377
                                Store 826 331
                                Branch 821
             821:             Label
             829:     21(ptr) AccessChain 822(res) 381
             830:   20(fvec3) Load 829
                              Store 188(diffuseContrib) 830
             831:     21(ptr) AccessChain 822(res) 436
             832:   20(fvec3) Load 831
                              Store 189(specularContrib) 832
             833:     21(ptr) AccessChain 822(res) 337
             834:   20(fvec3) Load 833
                              Store 190(specularContrib2) 834
                              Return
                              FunctionEnd
211(TDLighting(vf3;vf3;i1;vf3;vf3;f1;vf3;vf3;f1;):           2 Function None 201
202(diffuseContrib):     21(ptr) FunctionParameter
203(specularContrib):     21(ptr) FunctionParameter
      204(index):     29(ptr) FunctionParameter
205(worldSpacePos):     21(ptr) FunctionParameter
     206(normal):     21(ptr) FunctionParameter
207(shadowStrength):     30(ptr) FunctionParameter
208(shadowColor):     21(ptr) FunctionParameter
  209(camVector):     21(ptr) FunctionParameter
  210(shininess):     30(ptr) FunctionParameter
             212:             Label
        838(res):    789(ptr) Variable Function
             835:     28(int) Load 204(index)
                              SelectionMerge 837 None
                              Switch 835 836
             836:               Label
             839:     21(ptr)   AccessChain 838(res) 381
                                Store 839 791
             840:     21(ptr)   AccessChain 838(res) 436
                                Store 840 791
             841:     21(ptr)   AccessChain 838(res) 337
                                Store 841 791
             842:     30(ptr)   AccessChain 838(res) 377
                                Store 842 331
                                Branch 837
             837:             Label
             845:     21(ptr) AccessChain 838(res) 381
             846:   20(fvec3) Load 845
                              Store 202(diffuseContrib) 846
             847:     21(ptr) AccessChain 838(res) 436
             848:   20(fvec3) Load 847
                              Store 203(specularContrib) 848
                              Return
                              FunctionEnd
223(TDLighting(vf3;vf3;vf3;i1;vf3;vf3;vf3;f1;f1;):           2 Function None 213
214(diffuseContrib):     21(ptr) FunctionParameter
215(specularContrib):     21(ptr) FunctionParameter
216(specularContrib2):     21(ptr) FunctionParameter
      217(index):     29(ptr) FunctionParameter
218(worldSpacePos):     21(ptr) FunctionParameter
     219(normal):     21(ptr) FunctionParameter
  220(camVector):     21(ptr) FunctionParameter
  221(shininess):     30(ptr) FunctionParameter
 222(shininess2):     30(ptr) FunctionParameter
             224:             Label
        852(res):    789(ptr) Variable Function
             849:     28(int) Load 217(index)
                              SelectionMerge 851 None
                              Switch 849 850
             850:               Label
             853:     21(ptr)   AccessChain 852(res) 381
                                Store 853 791
             854:     21(ptr)   AccessChain 852(res) 436
                                Store 854 791
             855:     21(ptr)   AccessChain 852(res) 337
                                Store 855 791
             856:     30(ptr)   AccessChain 852(res) 377
                                Store 856 331
                                Branch 851
             851:             Label
             859:     21(ptr) AccessChain 852(res) 381
             860:   20(fvec3) Load 859
                              Store 214(diffuseContrib) 860
             861:     21(ptr) AccessChain 852(res) 436
             862:   20(fvec3) Load 861
                              Store 215(specularContrib) 862
             863:     21(ptr) AccessChain 852(res) 337
             864:   20(fvec3) Load 863
                              Store 216(specularContrib2) 864
                              Return
                              FunctionEnd
233(TDLighting(vf3;vf3;i1;vf3;vf3;vf3;f1;):           2 Function None 225
226(diffuseContrib):     21(ptr) FunctionParameter
227(specularContrib):     21(ptr) FunctionParameter
      228(index):     29(ptr) FunctionParameter
229(worldSpacePos):     21(ptr) FunctionParameter
     230(normal):     21(ptr) FunctionParameter
  231(camVector):     21(ptr) FunctionParameter
  232(shininess):     30(ptr) FunctionParameter
             234:             Label
        868(res):    789(ptr) Variable Function
             865:     28(int) Load 228(index)
                              SelectionMerge 867 None
                              Switch 865 866
             866:               Label
             869:     21(ptr)   AccessChain 868(res) 381
                                Store 869 791
             870:     21(ptr)   AccessChain 868(res) 436
                                Store 870 791
             871:     21(ptr)   AccessChain 868(res) 337
                                Store 871 791
             872:     30(ptr)   AccessChain 868(res) 377
                                Store 872 331
                                Branch 867
             867:             Label
             875:     21(ptr) AccessChain 868(res) 381
             876:   20(fvec3) Load 875
                              Store 226(diffuseContrib) 876
             877:     21(ptr) AccessChain 868(res) 436
             878:   20(fvec3) Load 877
                              Store 227(specularContrib) 878
                              Return
                              FunctionEnd
240(TDLighting(vf3;i1;vf3;vf3;):           2 Function None 235
236(diffuseContrib):     21(ptr) FunctionParameter
      237(index):     29(ptr) FunctionParameter
238(worldSpacePos):     21(ptr) FunctionParameter
     239(normal):     21(ptr) FunctionParameter
             241:             Label
        882(res):    789(ptr) Variable Function
             879:     28(int) Load 237(index)
                              SelectionMerge 881 None
                              Switch 879 880
             880:               Label
             883:     21(ptr)   AccessChain 882(res) 381
                                Store 883 791
             884:     21(ptr)   AccessChain 882(res) 436
                                Store 884 791
             885:     21(ptr)   AccessChain 882(res) 337
                                Store 885 791
             886:     30(ptr)   AccessChain 882(res) 377
                                Store 886 331
                                Branch 881
             881:             Label
             889:     21(ptr) AccessChain 882(res) 381
             890:   20(fvec3) Load 889
                              Store 236(diffuseContrib) 890
                              Return
                              FunctionEnd
249(TDLighting(vf3;i1;vf3;vf3;f1;vf3;):           2 Function None 242
243(diffuseContrib):     21(ptr) FunctionParameter
      244(index):     29(ptr) FunctionParameter
245(worldSpacePos):     21(ptr) FunctionParameter
     246(normal):     21(ptr) FunctionParameter
247(shadowStrength):     30(ptr) FunctionParameter
248(shadowColor):     21(ptr) FunctionParameter
             250:             Label
        894(res):    789(ptr) Variable Function
             891:     28(int) Load 244(index)
                              SelectionMerge 893 None
                              Switch 891 892
             892:               Label
             895:     21(ptr)   AccessChain 894(res) 381
                                Store 895 791
             896:     21(ptr)   AccessChain 894(res) 436
                                Store 896 791
             897:     21(ptr)   AccessChain 894(res) 337
                                Store 897 791
             898:     30(ptr)   AccessChain 894(res) 377
                                Store 898 331
                                Branch 893
             893:             Label
             901:     21(ptr) AccessChain 894(res) 381
             902:   20(fvec3) Load 901
                              Store 243(diffuseContrib) 902
                              Return
                              FunctionEnd
255(TDProjMap(i1;vf3;vf4;):    7(fvec4) Function None 251
      252(index):     29(ptr) FunctionParameter
253(worldSpacePos):     21(ptr) FunctionParameter
254(defaultColor):      8(ptr) FunctionParameter
             256:             Label
             903:     28(int) Load 252(index)
                              SelectionMerge 905 None
                              Switch 903 904
             904:               Label
             906:    7(fvec4)   Load 254(defaultColor)
                                ReturnValue 906
             905:             Label
                              Unreachable
                              FunctionEnd
261(TDFog(vf4;vf3;i1;):    7(fvec4) Function None 257
      258(color):      8(ptr) FunctionParameter
259(lightingSpacePosition):     21(ptr) FunctionParameter
260(cameraIndex):     29(ptr) FunctionParameter
             262:             Label
             910:     28(int) Load 260(cameraIndex)
                              SelectionMerge 912 None
                              Switch 910 911 
                                     case 0: 911
             911:               Label
             913:    7(fvec4)   Load 258(color)
                                ReturnValue 913
             912:             Label
                              Unreachable
                              FunctionEnd
266(TDFog(vf4;vf3;):    7(fvec4) Function None 263
      264(color):      8(ptr) FunctionParameter
265(lightingSpacePosition):     21(ptr) FunctionParameter
             267:             Label
      917(param):      8(ptr) Variable Function
      919(param):     21(ptr) Variable Function
      921(param):     29(ptr) Variable Function
             918:    7(fvec4) Load 264(color)
                              Store 917(param) 918
             920:   20(fvec3) Load 265(lightingSpacePosition)
                              Store 919(param) 920
                              Store 921(param) 381
             922:    7(fvec4) FunctionCall 261(TDFog(vf4;vf3;i1;) 917(param) 919(param) 921(param)
                              ReturnValue 922
                              FunctionEnd
271(TDInstanceTexCoord(i1;vf3;):   20(fvec3) Function None 268
      269(index):     29(ptr) FunctionParameter
          270(t):     21(ptr) FunctionParameter
             272:             Label
      925(coord):     29(ptr) Variable Function
       927(samp):      8(ptr) Variable Function
          936(v):     21(ptr) Variable Function
             926:     28(int) Load 269(index)
                              Store 925(coord) 926
             932:         929 Load 931(sTDInstanceTexCoord)
             933:     28(int) Load 925(coord)
             934:         928 Image 932
             935:    7(fvec4) ImageFetch 934 933
                              Store 927(samp) 935
             937:     30(ptr) AccessChain 270(t) 390
             938:    6(float) Load 937
             939:     30(ptr) AccessChain 936(v) 390
                              Store 939 938
             940:     30(ptr) AccessChain 270(t) 393
             941:    6(float) Load 940
             942:     30(ptr) AccessChain 936(v) 393
                              Store 942 941
             943:     30(ptr) AccessChain 927(samp) 390
             944:    6(float) Load 943
             945:     30(ptr) AccessChain 936(v) 342
                              Store 945 944
             946:   20(fvec3) Load 936(v)
                              Store 270(t) 946
             947:   20(fvec3) Load 270(t)
                              ReturnValue 947
                              FunctionEnd
275(TDInstanceActive(i1;):    22(bool) Function None 273
      274(index):     29(ptr) FunctionParameter
             276:             Label
      955(coord):     29(ptr) Variable Function
       957(samp):      8(ptr) Variable Function
          963(v):     30(ptr) Variable Function
             951:    950(ptr) AccessChain 376 381
             952:     28(int) Load 951
             953:     28(int) Load 274(index)
             954:     28(int) ISub 953 952
                              Store 274(index) 954
             956:     28(int) Load 274(index)
                              Store 955(coord) 956
             959:         929 Load 958(sTDInstanceT)
             960:     28(int) Load 955(coord)
             961:         928 Image 959
             962:    7(fvec4) ImageFetch 961 960
                              Store 957(samp) 962
             964:     30(ptr) AccessChain 957(samp) 390
             965:    6(float) Load 964
                              Store 963(v) 965
             966:    6(float) Load 963(v)
             967:    22(bool) FUnordNotEqual 966 331
                              ReturnValue 967
                              FunctionEnd
281(iTDInstanceTranslate(i1;b1;):   20(fvec3) Function None 278
      279(index):     29(ptr) FunctionParameter
280(instanceActive):    277(ptr) FunctionParameter
             282:             Label
  970(origIndex):     29(ptr) Variable Function
      976(coord):     29(ptr) Variable Function
       978(samp):      8(ptr) Variable Function
          983(v):     21(ptr) Variable Function
             971:     28(int) Load 279(index)
                              Store 970(origIndex) 971
             972:    950(ptr) AccessChain 376 381
             973:     28(int) Load 972
             974:     28(int) Load 279(index)
             975:     28(int) ISub 974 973
                              Store 279(index) 975
             977:     28(int) Load 279(index)
                              Store 976(coord) 977
             979:         929 Load 958(sTDInstanceT)
             980:     28(int) Load 976(coord)
             981:         928 Image 979
             982:    7(fvec4) ImageFetch 981 980
                              Store 978(samp) 982
             984:     30(ptr) AccessChain 978(samp) 393
             985:    6(float) Load 984
             986:     30(ptr) AccessChain 983(v) 390
                              Store 986 985
             987:     30(ptr) AccessChain 978(samp) 342
             988:    6(float) Load 987
             989:     30(ptr) AccessChain 983(v) 393
                              Store 989 988
             990:     30(ptr) AccessChain 978(samp) 402
             991:    6(float) Load 990
             992:     30(ptr) AccessChain 983(v) 342
                              Store 992 991
             993:     30(ptr) AccessChain 978(samp) 390
             994:    6(float) Load 993
             995:    22(bool) FUnordNotEqual 994 331
                              Store 280(instanceActive) 995
             996:   20(fvec3) Load 983(v)
                              ReturnValue 996
                              FunctionEnd
285(TDInstanceTranslate(i1;):   20(fvec3) Function None 283
      284(index):     29(ptr) FunctionParameter
             286:             Label
     1003(coord):     29(ptr) Variable Function
      1005(samp):      8(ptr) Variable Function
         1010(v):     21(ptr) Variable Function
             999:    950(ptr) AccessChain 376 381
            1000:     28(int) Load 999
            1001:     28(int) Load 284(index)
            1002:     28(int) ISub 1001 1000
                              Store 284(index) 1002
            1004:     28(int) Load 284(index)
                              Store 1003(coord) 1004
            1006:         929 Load 958(sTDInstanceT)
            1007:     28(int) Load 1003(coord)
            1008:         928 Image 1006
            1009:    7(fvec4) ImageFetch 1008 1007
                              Store 1005(samp) 1009
            1011:     30(ptr) AccessChain 1005(samp) 393
            1012:    6(float) Load 1011
            1013:     30(ptr) AccessChain 1010(v) 390
                              Store 1013 1012
            1014:     30(ptr) AccessChain 1005(samp) 342
            1015:    6(float) Load 1014
            1016:     30(ptr) AccessChain 1010(v) 393
                              Store 1016 1015
            1017:     30(ptr) AccessChain 1005(samp) 402
            1018:    6(float) Load 1017
            1019:     30(ptr) AccessChain 1010(v) 342
                              Store 1019 1018
            1020:   20(fvec3) Load 1010(v)
                              ReturnValue 1020
                              FunctionEnd
290(TDInstanceRotateMat(i1;):         287 Function None 288
      289(index):     29(ptr) FunctionParameter
             291:             Label
         1027(v):     21(ptr) Variable Function
         1029(m):   1028(ptr) Variable Function
            1023:    950(ptr) AccessChain 376 381
            1024:     28(int) Load 1023
            1025:     28(int) Load 289(index)
            1026:     28(int) ISub 1025 1024
                              Store 289(index) 1026
                              Store 1027(v) 791
                              Store 1029(m) 1031
            1032:         287 Load 1029(m)
                              ReturnValue 1032
                              FunctionEnd
293(TDInstanceScale(i1;):   20(fvec3) Function None 283
      292(index):     29(ptr) FunctionParameter
             294:             Label
         1039(v):     21(ptr) Variable Function
            1035:    950(ptr) AccessChain 376 381
            1036:     28(int) Load 1035
            1037:     28(int) Load 292(index)
            1038:     28(int) ISub 1037 1036
                              Store 292(index) 1038
                              Store 1039(v) 670
            1040:   20(fvec3) Load 1039(v)
                              ReturnValue 1040
                              FunctionEnd
296(TDInstancePivot(i1;):   20(fvec3) Function None 283
      295(index):     29(ptr) FunctionParameter
             297:             Label
         1047(v):     21(ptr) Variable Function
            1043:    950(ptr) AccessChain 376 381
            1044:     28(int) Load 1043
            1045:     28(int) Load 295(index)
            1046:     28(int) ISub 1045 1044
                              Store 295(index) 1046
                              Store 1047(v) 791
            1048:   20(fvec3) Load 1047(v)
                              ReturnValue 1048
                              FunctionEnd
299(TDInstanceRotTo(i1;):   20(fvec3) Function None 283
      298(index):     29(ptr) FunctionParameter
             300:             Label
         1055(v):     21(ptr) Variable Function
            1051:    950(ptr) AccessChain 376 381
            1052:     28(int) Load 1051
            1053:     28(int) Load 298(index)
            1054:     28(int) ISub 1053 1052
                              Store 298(index) 1054
                              Store 1055(v) 607
            1056:   20(fvec3) Load 1055(v)
                              ReturnValue 1056
                              FunctionEnd
302(TDInstanceRotUp(i1;):   20(fvec3) Function None 283
      301(index):     29(ptr) FunctionParameter
             303:             Label
         1063(v):     21(ptr) Variable Function
            1059:    950(ptr) AccessChain 376 381
            1060:     28(int) Load 1059
            1061:     28(int) Load 301(index)
            1062:     28(int) ISub 1061 1060
                              Store 301(index) 1062
                              Store 1063(v) 1030
            1064:   20(fvec3) Load 1063(v)
                              ReturnValue 1064
                              FunctionEnd
307(TDInstanceMat(i1;):         304 Function None 305
         306(id):     29(ptr) FunctionParameter
             308:             Label
1067(instanceActive):    277(ptr) Variable Function
         1069(t):     21(ptr) Variable Function
     1070(param):     29(ptr) Variable Function
     1072(param):    277(ptr) Variable Function
         1082(m):   1081(ptr) Variable Function
        1088(tt):     21(ptr) Variable Function
                              Store 1067(instanceActive) 1068
            1071:     28(int) Load 306(id)
                              Store 1070(param) 1071
            1073:   20(fvec3) FunctionCall 281(iTDInstanceTranslate(i1;b1;) 1070(param) 1072(param)
            1074:    22(bool) Load 1072(param)
                              Store 1067(instanceActive) 1074
                              Store 1069(t) 1073
            1075:    22(bool) Load 1067(instanceActive)
            1076:    22(bool) LogicalNot 1075
                              SelectionMerge 1078 None
                              BranchConditional 1076 1077 1078
            1077:               Label
                                ReturnValue 1079
            1078:             Label
                              Store 1082(m) 1087
            1089:   20(fvec3) Load 1069(t)
                              Store 1088(tt) 1089
            1090:     30(ptr) AccessChain 1082(m) 381 390
            1091:    6(float) Load 1090
            1092:     30(ptr) AccessChain 1088(tt) 390
            1093:    6(float) Load 1092
            1094:    6(float) FMul 1091 1093
            1095:     30(ptr) AccessChain 1082(m) 377 390
            1096:    6(float) Load 1095
            1097:    6(float) FAdd 1096 1094
            1098:     30(ptr) AccessChain 1082(m) 377 390
                              Store 1098 1097
            1099:     30(ptr) AccessChain 1082(m) 381 393
            1100:    6(float) Load 1099
            1101:     30(ptr) AccessChain 1088(tt) 390
            1102:    6(float) Load 1101
            1103:    6(float) FMul 1100 1102
            1104:     30(ptr) AccessChain 1082(m) 377 393
            1105:    6(float) Load 1104
            1106:    6(float) FAdd 1105 1103
            1107:     30(ptr) AccessChain 1082(m) 377 393
                              Store 1107 1106
            1108:     30(ptr) AccessChain 1082(m) 381 342
            1109:    6(float) Load 1108
            1110:     30(ptr) AccessChain 1088(tt) 390
            1111:    6(float) Load 1110
            1112:    6(float) FMul 1109 1111
            1113:     30(ptr) AccessChain 1082(m) 377 342
            1114:    6(float) Load 1113
            1115:    6(float) FAdd 1114 1112
            1116:     30(ptr) AccessChain 1082(m) 377 342
                              Store 1116 1115
            1117:     30(ptr) AccessChain 1082(m) 381 402
            1118:    6(float) Load 1117
            1119:     30(ptr) AccessChain 1088(tt) 390
            1120:    6(float) Load 1119
            1121:    6(float) FMul 1118 1120
            1122:     30(ptr) AccessChain 1082(m) 377 402
            1123:    6(float) Load 1122
            1124:    6(float) FAdd 1123 1121
            1125:     30(ptr) AccessChain 1082(m) 377 402
                              Store 1125 1124
            1126:     30(ptr) AccessChain 1082(m) 436 390
            1127:    6(float) Load 1126
            1128:     30(ptr) AccessChain 1088(tt) 393
            1129:    6(float) Load 1128
            1130:    6(float) FMul 1127 1129
            1131:     30(ptr) AccessChain 1082(m) 377 390
            1132:    6(float) Load 1131
            1133:    6(float) FAdd 1132 1130
            1134:     30(ptr) AccessChain 1082(m) 377 390
                              Store 1134 1133
            1135:     30(ptr) AccessChain 1082(m) 436 393
            1136:    6(float) Load 1135
            1137:     30(ptr) AccessChain 1088(tt) 393
            1138:    6(float) Load 1137
            1139:    6(float) FMul 1136 1138
            1140:     30(ptr) AccessChain 1082(m) 377 393
            1141:    6(float) Load 1140
            1142:    6(float) FAdd 1141 1139
            1143:     30(ptr) AccessChain 1082(m) 377 393
                              Store 1143 1142
            1144:     30(ptr) AccessChain 1082(m) 436 342
            1145:    6(float) Load 1144
            1146:     30(ptr) AccessChain 1088(tt) 393
            1147:    6(float) Load 1146
            1148:    6(float) FMul 1145 1147
            1149:     30(ptr) AccessChain 1082(m) 377 342
            1150:    6(float) Load 1149
            1151:    6(float) FAdd 1150 1148
            1152:     30(ptr) AccessChain 1082(m) 377 342
                              Store 1152 1151
            1153:     30(ptr) AccessChain 1082(m) 436 402
            1154:    6(float) Load 1153
            1155:     30(ptr) AccessChain 1088(tt) 393
            1156:    6(float) Load 1155
            1157:    6(float) FMul 1154 1156
            1158:     30(ptr) AccessChain 1082(m) 377 402
            1159:    6(float) Load 1158
            1160:    6(float) FAdd 1159 1157
            1161:     30(ptr) AccessChain 1082(m) 377 402
                              Store 1161 1160
            1162:     30(ptr) AccessChain 1082(m) 337 390
            1163:    6(float) Load 1162
            1164:     30(ptr) AccessChain 1088(tt) 342
            1165:    6(float) Load 1164
            1166:    6(float) FMul 1163 1165
            1167:     30(ptr) AccessChain 1082(m) 377 390
            1168:    6(float) Load 1167
            1169:    6(float) FAdd 1168 1166
            1170:     30(ptr) AccessChain 1082(m) 377 390
                              Store 1170 1169
            1171:     30(ptr) AccessChain 1082(m) 337 393
            1172:    6(float) Load 1171
            1173:     30(ptr) AccessChain 1088(tt) 342
            1174:    6(float) Load 1173
            1175:    6(float) FMul 1172 1174
            1176:     30(ptr) AccessChain 1082(m) 377 393
            1177:    6(float) Load 1176
            1178:    6(float) FAdd 1177 1175
            1179:     30(ptr) AccessChain 1082(m) 377 393
                              Store 1179 1178
            1180:     30(ptr) AccessChain 1082(m) 337 342
            1181:    6(float) Load 1180
            1182:     30(ptr) AccessChain 1088(tt) 342
            1183:    6(float) Load 1182
            1184:    6(float) FMul 1181 1183
            1185:     30(ptr) AccessChain 1082(m) 377 342
            1186:    6(float) Load 1185
            1187:    6(float) FAdd 1186 1184
            1188:     30(ptr) AccessChain 1082(m) 377 342
                              Store 1188 1187
            1189:     30(ptr) AccessChain 1082(m) 337 402
            1190:    6(float) Load 1189
            1191:     30(ptr) AccessChain 1088(tt) 342
            1192:    6(float) Load 1191
            1193:    6(float) FMul 1190 1192
            1194:     30(ptr) AccessChain 1082(m) 377 402
            1195:    6(float) Load 1194
            1196:    6(float) FAdd 1195 1193
            1197:     30(ptr) AccessChain 1082(m) 377 402
                              Store 1197 1196
            1198:         304 Load 1082(m)
                              ReturnValue 1198
                              FunctionEnd
310(TDInstanceMat3(i1;):         287 Function None 288
         309(id):     29(ptr) FunctionParameter
             311:             Label
         1201(m):   1028(ptr) Variable Function
                              Store 1201(m) 1031
            1202:         287 Load 1201(m)
                              ReturnValue 1202
                              FunctionEnd
313(TDInstanceMat3ForNorm(i1;):         287 Function None 288
         312(id):     29(ptr) FunctionParameter
             314:             Label
         1205(m):   1028(ptr) Variable Function
     1206(param):     29(ptr) Variable Function
            1207:     28(int) Load 312(id)
                              Store 1206(param) 1207
            1208:         287 FunctionCall 310(TDInstanceMat3(i1;) 1206(param)
                              Store 1205(m) 1208
            1209:         287 Load 1205(m)
                              ReturnValue 1209
                              FunctionEnd
318(TDInstanceColor(i1;vf4;):    7(fvec4) Function None 315
      316(index):     29(ptr) FunctionParameter
   317(curColor):      8(ptr) FunctionParameter
             319:             Label
     1216(coord):     29(ptr) Variable Function
      1218(samp):      8(ptr) Variable Function
         1224(v):      8(ptr) Variable Function
            1212:    950(ptr) AccessChain 376 381
            1213:     28(int) Load 1212
            1214:     28(int) Load 316(index)
            1215:     28(int) ISub 1214 1213
                              Store 316(index) 1215
            1217:     28(int) Load 316(index)
                              Store 1216(coord) 1217
            1220:         929 Load 1219(sTDInstanceColor)
            1221:     28(int) Load 1216(coord)
            1222:         928 Image 1220
            1223:    7(fvec4) ImageFetch 1222 1221
                              Store 1218(samp) 1223
            1225:     30(ptr) AccessChain 1218(samp) 390
            1226:    6(float) Load 1225
            1227:     30(ptr) AccessChain 1224(v) 390
                              Store 1227 1226
            1228:     30(ptr) AccessChain 1218(samp) 393
            1229:    6(float) Load 1228
            1230:     30(ptr) AccessChain 1224(v) 393
                              Store 1230 1229
            1231:     30(ptr) AccessChain 1218(samp) 342
            1232:    6(float) Load 1231
            1233:     30(ptr) AccessChain 1224(v) 342
                              Store 1233 1232
            1234:     30(ptr) AccessChain 1224(v) 402
                              Store 1234 489
            1235:     30(ptr) AccessChain 1224(v) 390
            1236:    6(float) Load 1235
            1237:     30(ptr) AccessChain 317(curColor) 390
                              Store 1237 1236
            1238:     30(ptr) AccessChain 1224(v) 393
            1239:    6(float) Load 1238
            1240:     30(ptr) AccessChain 317(curColor) 393
                              Store 1240 1239
            1241:     30(ptr) AccessChain 1224(v) 342
            1242:    6(float) Load 1241
            1243:     30(ptr) AccessChain 317(curColor) 342
                              Store 1243 1242
            1244:    7(fvec4) Load 317(curColor)
                              ReturnValue 1244
                              FunctionEnd
321(TDOutputSwizzle(vf4;):    7(fvec4) Function None 9
          320(c):      8(ptr) FunctionParameter
             322:             Label
            1247:    7(fvec4) Load 320(c)
                              ReturnValue 1247
                              FunctionEnd
327(TDOutputSwizzle(vu4;):  323(ivec4) Function None 325
          326(c):    324(ptr) FunctionParameter
             328:             Label
            1250:  323(ivec4) Load 326(c)
                              ReturnValue 1250
                              FunctionEnd
