diff options
Diffstat (limited to 'Test/baseResults/vk.relaxed.stagelink.0.0.vert.out')
-rwxr-xr-x | Test/baseResults/vk.relaxed.stagelink.0.0.vert.out | 10697 |
1 files changed, 10697 insertions, 0 deletions
diff --git a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out new file mode 100755 index 00000000..bcd4e2af --- /dev/null +++ b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out @@ -0,0 +1,10697 @@ +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): 8000a +// 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): 8000a +// 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 |