blob: 37532ed6031af35f37d203607903eb01b09c15e9 [file] [log] [blame]
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