#version 130 #extension GL_ARB_cull_distance : enable #extension GL_ARB_shader_bit_encoding : enable #extension GL_ARB_shading_language_420pack : enable #extension GL_ARB_shading_language_packing : enable #extension GL_ARB_texture_cube_map_array : enable #extension GL_ARB_texture_gather : enable #extension GL_ARB_texture_query_levels : enable #extension GL_ARB_uniform_buffer_object : enable #extension GL_EXT_texture_array : enable #extension GL_ARB_conservative_depth : enable #extension GL_ARB_fragment_coord_conventions : enable #extension GL_ARB_shader_texture_lod : enable uniform vec4 ps_c[224]; uniform ivec4 ps_i[16]; uniform sampler2D ps_sampler0; uniform sampler2D ps_sampler1; uniform sampler2D ps_sampler2; uniform sampler2D ps_sampler3; uniform sampler2D ps_sampler4; uniform sampler2D ps_sampler5; uniform sampler2D ps_sampler6; vec4 R0; vec4 R1; vec4 R2; vec4 R3; vec4 R4; vec4 R5; vec4 R6; vec4 R7; vec4 R8; vec4 R9; int aL0; int tmpInt0; vec4 tmp0; vec4 tmp1; const vec4 ps_lc21 = vec4(5.00000000e-01, -5.00000000e-01, 0.00000000e+00, 0.00000000e+00); const vec4 ps_lc20 = vec4(1.00000000e+00, 3.92156886e-03, 1.53787005e-05, 2.00000003e-01); const vec4 ps_lc19 = vec4(3.30000013e-01, -1.70000002e-01, 4.00000000e+00, 1.00000001e-01); const vec4 ps_lc18 = vec4(2.00000000e+00, -1.00000000e+00, 1.00000005e-03, 0.00000000e+00); const vec4 ps_lc17 = vec4(-5.00000000e-01, 1.00000000e+00, 2.00000000e+00, -9.99999978e-03); in vec4 ps_link[10]; vec4 ps_in[10]; out vec4 ps_out[8]; void main() { ps_in[0].xy = ps_link[0].xy; ps_in[1].xyzw = ps_link[1].xyzw; ps_in[2].xyz = ps_link[2].xyz; ps_in[3].xyzw = ps_link[3].xyzw; ps_in[4].xyz = ps_link[4].xyz; ps_in[5].xyzw = ps_link[5].xyzw; ps_in[6].xyzw = ps_link[6].xyzw; ps_in[7].xyzw = ps_link[7].xyzw; R0.xy = (ps_c[15].ww + ps_in[0].xy); R0.xyzw = (texture(ps_sampler1, R0.xy).xyzw); R0.xy = ((R0.xy * ps_lc18.xx) + ps_lc18.yy); R0.z = (dot(R0.xy, -R0.xy) + ps_lc17.y); R0.z = clamp(R0.z, 0.0, 1.0); R0.z = (R0.z + ps_lc18.z); R0.z = (inversesqrt(abs(R0.z))); R1.z = (1.0 / R0.z); R0.zw = (ps_lc19.xy + ps_in[0].xy); R0.zw = (R0.zw + -ps_c[15].ww); R2.xyzw = (texture(ps_sampler1, R0.zw).xyzw); R0.xy = ((R2.xy * ps_lc17.zz) + R0.xy); R1.xy = (R0.xy + -ps_lc17.yy); R0.x = (dot(R1.xyz, R1.xyz)); R0.x = (inversesqrt(abs(R0.x))); R0.yzw = ((R1.xyz * R0.xxx) + -abs(ps_lc18.wwy)); R2.xyzw = (textureProj(ps_sampler5, ps_in[6].xyw).xyzw); R1.w = (R2.w + ps_lc17.x); tmp0.w = (R1.w >= 0.0 ? R1.w : R2.w); R1.w = (tmp0.w); R2.z = (R1.w + R1.w); R3.xyzw = (textureProj(ps_sampler4, ps_in[6].xyw).xyzw); R2.xy = (R3.zw); R1.w = (dot(R2.xyz, ps_lc20.xyz)); R2.w = (ps_lc19.w); R2.x = ((R1.w * -ps_c[11].y) + R2.w); R1.w = ((R1.w * ps_c[11].y) + -ps_in[7].z); R1.w = (R1.w * ps_c[12].x); R1.w = clamp(R1.w, 0.0, 1.0); R3.xyw = (ps_lc17.xyw); R2.yzw = (R3.xxx + ps_c[8].xyz); R4.xyzw = (texture(ps_sampler0, ps_in[0].xy).xyzw); R5.xyz = (-R4.xyz + ps_lc17.yyy); R2.yzw = ((R2.yzw * R5.xyz) + R4.xyz); R5.xyzw = (R4.xyzw * ps_c[8].xyzw); R2.yzw = ((R5.xyz * -ps_lc17.zzz) + R2.yzw); R5.xyz = (R5.xyz + R5.xyz); R2.yzw = ((R4.xyz * R2.yzw) + R5.xyz); R1.w = (R1.w * R5.w); tmp0.w = (R2.x >= 0.0 ? R5.w : R1.w); R1.w = (tmp0.w); R2.x = ((ps_c[8].w * R4.w) + R3.w); R3.x = (ps_c[12].y * ps_in[7].z); R3.x = clamp(R3.x, 0.0, 1.0); R4.w = (R1.w * R3.x); R5.yw = (ps_lc18.yw); R0.yzw = ((ps_c[15].yyy * R0.yzw) + abs(R5.wwy)); tmp0.x = dot(R0.yzw, R0.yzw); R5.xyz = (tmp0.x == 0.0 ? vec3(0.0) : (R0.yzw * inversesqrt(tmp0.x))); R0.y = (dot(ps_in[3].xyz, ps_in[3].xyz)); R0.y = (inversesqrt(abs(R0.y))); R0.xzw = (R1.xyz * R0.xxx); tmp0.x = dot(ps_in[2].xyz, ps_in[2].xyz); R1.xyz = (tmp0.x == 0.0 ? vec3(0.0) : (ps_in[2].xyz * inversesqrt(tmp0.x))); R1.w = (dot(R1.xyz, R0.xzw)); R1.w = (R1.w + R1.w); R1.xyz = ((R0.xzw * -R1.www) + R1.xyz); R3.xzw = (R0.yyy * ps_in[3].xyz); R1.x = (dot(R1.xyz, R3.xzw)); R6.xyzw = ((ps_in[5].xyzw * ps_lc18.xxxx) + ps_lc18.yyyy); tmp0.x = dot(R6.xyz, R6.xyz); R7.xyz = (tmp0.x == 0.0 ? vec3(0.0) : (R6.xyz * inversesqrt(tmp0.x))); tmp0.x = dot(ps_in[4].xyz, ps_in[4].xyz); R6.xyz = (tmp0.x == 0.0 ? vec3(0.0) : (ps_in[4].xyz * inversesqrt(tmp0.x))); R1.yzw = (R7.zxy * R6.yzx); R1.yzw = ((R7.yzx * R6.zxy) + -R1.yzw); R1.yzw = (R6.www * -R1.yzw); R1.yzw = (R5.yyy * R1.yzw); R1.yzw = ((R5.xxx * R6.xyz) + R1.yzw); R1.yzw = ((R5.zzz * R7.xyz) + R1.yzw); R5.xyz = (R1.zzz * ps_c[5].xyz); R5.xyz = ((ps_c[4].xyz * R1.yyy) + R5.xyz); R1.yzw = ((ps_c[6].xyz * R1.www) + R5.xyz); tmp0.x = dot(R1.yzw, R1.yzw); R5.xyz = (tmp0.x == 0.0 ? vec3(0.0) : (R1.yzw * inversesqrt(tmp0.x))); R1.y = (dot(-ps_in[7].xyzw, -ps_in[7].xyzw)); R1.y = (inversesqrt(abs(R1.y))); R1.yzw = (R1.yyy * -ps_in[7].xyz); R1.y = (dot(R1.yzw, R5.xyz)); R0.w = (dot(R0.xzw, R3.xzw)); R1.z = (max(R0.w, ps_lc18.w)); R0.w = ((R1.x * ps_c[7].z) + ps_c[7].w); R0.w = clamp(R0.w, 0.0, 1.0); R0.w = (R0.w * R0.w); R1.x = (R1.z * ps_lc19.z); R3.x = (min(R1.x, ps_lc17.y)); R0.w = (R0.w * R3.x); R6.xyzw = (texture(ps_sampler2, ps_in[0].xy).xyzw); R0.w = (R0.w * R6.x); R0.w = ((R0.w * ps_c[7].y) + R1.z); R0.y = (1.0 / R0.y); R0.y = ((R0.y * -ps_in[3].w) + ps_lc17.y); R1.x = (max(R0.y, ps_lc18.w)); R0.y = (R0.w * R1.x); R0.xz = (R0.xz * ps_c[13].xy); R0.w = (1.0 / ps_in[6].w); R0.xz = ((ps_in[6].xy * R0.ww) + R0.xz); R1.xz = (max(ps_c[16].xy, R0.xz)); R0.xz = (min(R1.xz, ps_c[16].zw)); R1.xzw = ((R0.yyy * ps_c[9].xyz) + ps_in[1].xyz); R1.xzw = ((R2.yzw * R1.xzw) + -ps_c[10].xyz); R1.xzw = ((ps_in[1].www * R1.xzw) + ps_c[10].xyz); R0.xyzw = (texture(ps_sampler6, R0.xz).xyzw); R3.xzw = (R2.yzw * ps_c[14].www); R0.xyz = (R0.xyz * R3.xzw); R0.w = (dot(ps_in[7].xyz, ps_in[7].xyz)); R0.w = (inversesqrt(abs(R0.w))); R3.x = (1.0 / R0.w); R6.xyz = (R0.www * ps_in[7].xyz); R0.w = (dot(R6.xyz, R5.xyz)); R0.w = (R0.w + R0.w); R5.xyz = ((R5.xyz * -R0.www) + R6.xyz); R3.xzw = (R3.xxx * R5.xyz); R5.xyw = ((R3.xzw * ps_c[15].xxx) + ps_in[7].xyz); R3.xzw = (R5.yyy * ps_c[1].xyw); R3.xzw = ((ps_c[0].xyw * R5.xxx) + R3.xzw); R3.xzw = ((ps_c[2].xyw * R5.www) + R3.xzw); R3.xzw = (R3.xzw + ps_c[3].xyw); R0.w = (1.0 / R3.w); R3.xz = (R3.xz * R0.ww); R3.xz = ((R3.xz * ps_lc21.xy) + ps_lc21.xx); R6.xy = (max(ps_c[16].xy, R3.xz)); R5.xy = (min(R6.xy, ps_c[16].zw)); R5.z = (ps_lc18.w); R6.xyzw = (textureLod(ps_sampler4, R5.xy, R5.z).xyzw); R0.w = ((R6.w * ps_lc20.y) + R6.z); R0.w = ((R0.w * -ps_c[11].y) + ps_in[7].z); R3.xzw = (ps_c[1].xyw * ps_in[7].yyy); R3.xzw = ((ps_c[0].xyw * ps_in[7].xxx) + R3.xzw); R3.xzw = ((ps_c[2].xyw * ps_in[7].zzz) + R3.xzw); R3.xzw = (R3.xzw + ps_c[3].xyw); R3.w = (1.0 / R3.w); R3.xz = (R3.xz * R3.ww); R3.xz = ((R3.xz * ps_lc21.xy) + ps_lc21.xx); R6.xy = (max(ps_c[16].xy, R3.xz)); R7.xy = (min(R6.xy, ps_c[16].zw)); R3.xz = (R0.w >= 0.0 ? R7.xy : R5.xy); R7.z = (ps_in[7].z); R5.xyz = (R5.xyw + -R7.xyz); R6.w = (ps_lc18.w); R6.xyz = (R7.xyz); R8.xy = (R3.xz); R0.w = (ps_lc17.y); for (tmpInt0 = 0; tmpInt0 < 4; tmpInt0++) { R6.xyz = ((R5.xyz * ps_lc20.www) + R6.xyz); R9.xyzw = (textureLod(ps_sampler4, R6.xy, R6.w).xyzw); R3.w = ((R9.w * ps_lc20.y) + R9.z); R5.w = ((R3.w * -ps_c[11].y) + ps_in[7].z); tmp0.w = (R5.w >= 0.0 ? abs(ps_lc18.w) : abs(ps_lc18.y)); R5.w = (tmp0.w); R3.w = ((R3.w * ps_c[11].y) + -R6.z); tmp0.w = (R3.w >= 0.0 ? abs(ps_lc18.w) : abs(ps_lc18.y)); R3.w = (tmp0.w); R3.w = (R5.w * R3.w); if (R3.w != -R3.w) { R8.xy = (R6.xy); R3.w = (R0.w); if (R3.w != -R3.w) break; } } R0.w = (dot(R2.yzw, ps_lc19.xxx)); R0.w = (1.0 / R0.w); R2.yzw = ((R2.yzw * R0.www) + -ps_lc17.yyy); R2.yzw = ((ps_c[14].xxx * R2.yzw) + R3.yyy); R8.zw = (ps_lc18.ww); R5.xyzw = (textureLod(ps_sampler6, R8.xy, R8.w).xyzw); R3.xzw = (R5.xyz * ps_c[14].yyy); R2.yzw = ((R3.xzw * R2.yzw) + -R0.xyz); R0.w = ((ps_c[14].z * -R1.y) + R3.y); R0.w = clamp(R0.w, 0.0, 1.0); R0.w = (R0.w * ps_c[14].y); R0.xyz = ((R0.www * R2.yzw) + R0.xyz); R3.xyzw = (texture(ps_sampler3, ps_in[0].xy).xyzw); R0.xyz = ((R0.xyz * R3.xxx) + R1.xzw); R4.xyz = (R4.www * R0.xyz); ps_out[0].xyzw = (R2.x >= 0.0 ? R4.xyzw : ps_lc18.wwww); }