MojoShader testparse Compiled against version 1 Linked against version 1 FILE: vs_3_0/1067.bytecode PROFILE: glsl SHADER TYPE: vertex VERSION: 3.0 INSTRUCTION COUNT: 92 ATTRIBUTES: * position ("vs_v0") * normal ("vs_v1") * tangent ("vs_v2") * texcoord ("vs_v3") * blendweight ("vs_v4") * texcoord1 ("vs_v5") CONSTANTS: * 16: float (0.010000 0.159155 0.500000 0.000000) * 17: float (6.283185 -3.141593 0.000000 0.000000) UNIFORMS: * 9: array[2] float ("vs_const_array_9_2") * 0: float ("vs_c0") * 1: float ("vs_c1") * 2: float ("vs_c2") * 3: float ("vs_c3") * 4: float ("vs_c4") * 5: float ("vs_c5") * 6: float ("vs_c6") * 7: float ("vs_c7") * 8: float ("vs_c8") * 11: float ("vs_c11") * 12: float ("vs_c12") * 13: float ("vs_c13") * 14: float ("vs_c14") * 15: float ("vs_c15") SAMPLERS: (none.) OUTPUT: const vec4 vs_c16 = vec4(0.01, 0.159155, 0.5, 0.0); const vec4 vs_c17 = vec4(6.283185, -3.141593, 0.0, 0.0); vec4 vs_r0; ivec4 vs_a0; vec4 vs_r1; vec4 vs_r2; vec4 vs_r3; vec4 vs_r4; vec4 vs_r5; uniform vec4 vs_const_array_9_2[2]; uniform vec4 vs_c0; uniform vec4 vs_c1; uniform vec4 vs_c2; uniform vec4 vs_c3; uniform vec4 vs_c4; uniform vec4 vs_c5; uniform vec4 vs_c6; uniform vec4 vs_c7; uniform vec4 vs_c8; #define vs_c9 vs_const_array_9_2[0] uniform vec4 vs_c11; uniform vec4 vs_c12; uniform vec4 vs_c13; uniform vec4 vs_c14; uniform vec4 vs_c15; attribute vec4 vs_v0; #define vs_o0 gl_TexCoord[0] attribute vec4 vs_v1; #define vs_o1 gl_TexCoord[1] attribute vec4 vs_v2; #define vs_o2 gl_TexCoord[5] attribute vec4 vs_v3; #define vs_o3 gl_TexCoord[6] attribute vec4 vs_v4; #define vs_o4 gl_TexCoord[7] attribute vec4 vs_v5; #define vs_o5 gl_Position void main() { vs_r0.xyz = vs_c6.xyz * vs_v1.yyy; vs_r0.xyz = (vs_c5.xyz * vs_v1.xxx) + vs_r0.xyz; vs_r0.xyz = (vs_c7.xyz * vs_v1.zzz) + vs_r0.xyz; vs_r0.xyz = (vs_c8.xyz * vs_v1.www) + vs_r0.xyz; vs_r1 = vs_c6 * vs_v0.yyyy; vs_r1 = (vs_c5 * vs_v0.xxxx) + vs_r1; vs_r1 = (vs_c7 * vs_v0.zzzz) + vs_r1; vs_r1 = (vs_c8 * vs_v0.wwww) + vs_r1; vs_r0.xyz = -vs_r0.xyz + vs_r1.xyz; vs_r0.w = dot(vs_r0.xyz, vs_r0.xyz); vs_r0.w = max(vs_r0.w, vs_c16.x); vs_r0.w = inversesqrt(vs_r0.w); vs_r0.xyz = vs_r0.xyz * vs_r0.www; vs_r2.xyz = -vs_r1.zxy + vs_c11.zxy; vs_r0.w = dot(vs_r2.xyz, vs_r2.xyz); vs_r0.w = max(vs_r0.w, vs_c16.x); vs_r0.w = inversesqrt(vs_r0.w); vs_r2.xyz = vs_r2.xyz * vs_r0.www; vs_r3.xyz = vs_r0.yzx * vs_r2.xyz; vs_r3.xyz = (vs_r2.zxy * vs_r0.zxy) + -vs_r3.xyz; vs_r0.xyz = -vs_r0.xyz; vs_r2.w = dot(vs_r3.xyz, vs_r3.xyz); vs_r2.w = max(vs_r2.w, vs_c16.x); vs_r2.w = inversesqrt(vs_r2.w); vs_r3.xyz = vs_r3.xyz * vs_r2.www; vs_r3.w = vs_c16.w; vs_r3 = vs_r3 * vs_c15.yyyy; vs_r2.w = (vs_v4.x * vs_c16.y) + vs_c16.z; vs_r2.w = fract(vs_r2.w); vs_r2.w = (vs_r2.w * vs_c17.x) + vs_c17.y; vs_r4.xy = vec2(cos(vs_r2.w), sin(vs_r2.w)); vs_r5 = vs_r4.yyyy * vs_c12; vs_r5 = (-vs_r4.xxxx * vs_c13) + vs_r5; vs_r3 = (vs_r5 * vs_c15.xxxx) + vs_r3; vs_r2.w = float(vs_c14.x < -vs_c14.x); vs_r4.z = fract(vs_c14.x); vs_r4.w = -vs_r4.z + vs_c14.x; vs_r4.z = float(-vs_r4.z < vs_r4.z); vs_r2.w = (vs_r2.w * vs_r4.z) + vs_r4.w; vs_a0.x = int(floor(abs(vs_r2.w) + 0.5) * sign(vs_r2.w)); vs_r5.xyz = vs_r2.xyz * vs_const_array_9_2[vs_a0.x].yzx; vs_r2.xyz = (vs_r2.zxy * vs_const_array_9_2[vs_a0.x].zxy) + -vs_r5.xyz; vs_r4.z = dot(vs_r2.xyz, vs_r2.xyz); vs_r4.z = max(vs_r4.z, vs_c16.x); vs_r4.z = inversesqrt(vs_r4.z); vs_r2.xyz = vs_r2.xyz * vs_r4.zzz; vs_r2.xyz = (vs_r2.xyz * vs_const_array_9_2[vs_a0.x].www) + -vs_const_array_9_2[vs_a0.x].xyz; vs_r4.z = float(-vs_r2.w < vs_r2.w); vs_r2.w = float(-vs_r2.w >= vs_r2.w); vs_r5.xyz = (vs_r4.zzz * vs_r2.xyz) + vs_const_array_9_2[vs_a0.x].xyz; vs_r2.xyz = (vs_r2.www * vs_r2.xyz) + vs_const_array_9_2[vs_a0.x].xyz; vs_r5.w = vs_c16.w; vs_r3 = (vs_r5 * vs_c15.zzzz) + vs_r3; vs_r4.zw = -vs_c16.zz + vs_v3.xy; vs_r4.zw = vs_r4.zw * vs_v2.xy; vs_r1 = (vs_r4.zzzz * vs_r3) + vs_r1; vs_r5 = vs_r4.xxxx * vs_c12; vs_r5 = (vs_r4.yyyy * vs_c13) + vs_r5; vs_r0.w = vs_c16.w; vs_r0 = vs_r0 * vs_c15.yyyy; vs_r0 = (vs_r5 * vs_c15.xxxx) + vs_r0; vs_r2.w = vs_c16.w; vs_r0 = (vs_r2 * vs_c15.zzzz) + vs_r0; vs_r1 = (vs_r4.wwww * vs_r0) + vs_r1; vs_r2.xyz = (vs_r1.xyz * -vs_c4.www) + vs_c4.xyz; vs_o3.x = dot(vs_r3.xyz, vs_r2.xyz); vs_o3.y = dot(vs_r0.xyz, vs_r2.xyz); vs_r4.xyz = vs_r3.zxy * vs_r0.yzx; vs_r0.xyw = (vs_r3.yzx * vs_r0.zxy) + -vs_r4.xyz; vs_o4.x = vs_r3.z; vs_o4.y = vs_r0.z; vs_r3.xyz = normalize(vs_r0.xyw); vs_o3.z = dot(vs_r3.xyz, vs_r2.xyz); vs_o4.z = vs_r3.z; vs_o0.xy = vs_v3.xy; vs_o1 = vs_v5; vs_r0 = vs_r1.yyyy * vs_c1; vs_r0 = (vs_c0 * vs_r1.xxxx) + vs_r0; vs_r0 = (vs_c2 * vs_r1.zzzz) + vs_r0; vs_r0 = (vs_c3 * vs_r1.wwww) + vs_r0; vs_o2 = vs_r0; vs_o5 = vs_r0; vs_o3.w = vs_c16.w; }