Advertisement
Guest User

Vertex shader

a guest
Mar 27th, 2017
1,396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #version 400
  2. #extension GL_ARB_texture_gather : enable
  3. #extension GL_ARB_shading_language_packing : enable
  4.  
  5. uniform ivec4 uf_remappedVS[14];
  6. uniform vec2 uf_windowSpaceToClipSpaceTransform;
  7. uniform sampler2D textureUnitVS0;
  8. in uvec4 attrDataR3;
  9. in uvec4 attrDataR2;
  10. in uvec4 attrDataR4;
  11. in uvec4 attrDataR5;
  12. in uvec4 attrDataR1;
  13. out vec4 passParameter0;
  14. out vec4 passParameter1;
  15. out vec4 passParameter2;
  16. out vec4 passParameter3;
  17. out vec4 passParameter4;
  18. out vec4 passParameter5;
  19. int clampFI32(int v)
  20. {
  21. if( v == 0x7FFFFFFF )
  22.     return floatBitsToInt(1.0);
  23. else if( v == 0xFFFFFFFF )
  24.     return floatBitsToInt(0.0);
  25. return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
  26. }
  27. float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
  28. void main()
  29. {
  30. vec4 R0f = vec4(0.0);
  31. vec4 R1f = vec4(0.0);
  32. vec4 R2f = vec4(0.0);
  33. vec4 R3f = vec4(0.0);
  34. vec4 R4f = vec4(0.0);
  35. vec4 R5f = vec4(0.0);
  36. vec4 R6f = vec4(0.0);
  37. vec4 R7f = vec4(0.0);
  38. vec4 R8f = vec4(0.0);
  39. vec4 R9f = vec4(0.0);
  40. vec4 R10f = vec4(0.0);
  41. vec4 R122f = vec4(0.0);
  42. vec4 R123f = vec4(0.0);
  43. vec4 R124f = vec4(0.0);
  44. vec4 R125f = vec4(0.0);
  45. vec4 R126f = vec4(0.0);
  46. vec4 R127f = vec4(0.0);
  47. uvec4 attrDecoder;
  48. float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
  49. vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
  50. float PS0f = 0.0, PS1f = 0.0;
  51. vec4 tempf = vec4(0.0);
  52. float tempResultf;
  53. int tempResulti;
  54. ivec4 ARi = ivec4(0);
  55. bool predResult = true;
  56. vec3 cubeMapSTM;
  57. int cubeMapFaceId;
  58. R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
  59. attrDecoder.xyzw = attrDataR3.xyzw;
  60. attrDecoder.x = ((attrDecoder.x>>8)&0xFF)|((attrDecoder.x<<8)&0xFF00);
  61. attrDecoder.y = ((attrDecoder.y>>8)&0xFF)|((attrDecoder.y<<8)&0xFF00);
  62. attrDecoder.z = ((attrDecoder.z>>8)&0xFF)|((attrDecoder.z<<8)&0xFF00);
  63. attrDecoder.w = ((attrDecoder.w>>8)&0xFF)|((attrDecoder.w<<8)&0xFF00);
  64. attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16))));
  65. R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w)));
  66. attrDecoder.x = attrDataR2.x;
  67. attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24));
  68. attrDecoder.y = 0;
  69. attrDecoder.z = 0;
  70. attrDecoder.w = 0;
  71. attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3);
  72. if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00;
  73. if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00;
  74. if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00;
  75. attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0));
  76. attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0));
  77. attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0));
  78. attrDecoder.w = floatBitsToUint(float(attrDecoder.w));
  79. R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w)));
  80. attrDecoder.xyzw = attrDataR4.xyzw;
  81. if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00;
  82. if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00;
  83. if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00;
  84. if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00;
  85. attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0));
  86. attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0));
  87. attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0));
  88. attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0));
  89. R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w)));
  90. attrDecoder.xy = attrDataR5.xy;
  91. attrDecoder.x = ((attrDecoder.x>>8)&0xFF)|((attrDecoder.x<<8)&0xFF00);
  92. attrDecoder.y = ((attrDecoder.y>>8)&0xFF)|((attrDecoder.y<<8)&0xFF00);
  93. attrDecoder.z = 0;
  94. attrDecoder.w = 0;
  95. attrDecoder.xy = floatBitsToUint(vec2(float(attrDecoder.x), float(attrDecoder.y))/65535.0);
  96. attrDecoder.zw = uvec2(0);
  97. R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0)));
  98. attrDecoder.xyzw = floatBitsToUint(vec4(attrDataR1.xyzw)/255.0);
  99. R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w)));
  100. // 0
  101. R127f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].w), intBitsToFloat(0x43c9d6c7));
  102. PV0f.x = R127f.x;
  103. R8f.y = -(R1f.w) + 1.0;
  104. PV0f.y = R8f.y;
  105. PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(0x3ed413cd));
  106. R6f.w = intBitsToFloat(0x3f800000);
  107. PV0f.w = R6f.w;
  108. R7f.w = intBitsToFloat(0x3f800000);
  109. PS0f = R7f.w;
  110. // 1
  111. PV1f.x = PV0f.y;
  112. PV1f.x /= 2.0;
  113. R0f.y = intBitsToFloat(uf_remappedVS[0].x);
  114. PV1f.y = R0f.y;
  115. R6f.z = intBitsToFloat(uf_remappedVS[0].x);
  116. PV1f.z = R6f.z;
  117. PV1f.w = intBitsToFloat(uf_remappedVS[1].x) + PV0f.z;
  118. R7f.x = intBitsToFloat(uf_remappedVS[0].x) + -(0.5);
  119. R7f.x = clamp(R7f.x, 0.0, 1.0);
  120. PS1f = R7f.x;
  121. // 2
  122. R8f.x = intBitsToFloat(0x3f800000);
  123. PV0f.x = R8f.x;
  124. R126f.y = fract(PV1f.w);
  125. PV0f.y = R126f.y;
  126. R127f.z = intBitsToFloat(uf_remappedVS[0].w) + PV1f.x;
  127. PV0f.z = R127f.z;
  128. R8f.w = intBitsToFloat(0x3f800000);
  129. PV0f.w = R8f.w;
  130. R9f.w = intBitsToFloat(0x3f800000);
  131. PS0f = R9f.w;
  132. // 3
  133. tempf.x = R3f.x * intBitsToFloat(uf_remappedVS[1].x) + R3f.y * intBitsToFloat(uf_remappedVS[1].y) + R3f.z * intBitsToFloat(uf_remappedVS[1].z) + R6f.w * intBitsToFloat(uf_remappedVS[1].w);
  134. PV1f.x = tempf.x;
  135. PV1f.y = tempf.x;
  136. PV1f.z = tempf.x;
  137. PV1f.w = tempf.x;
  138. R3f.w = tempf.x;
  139. PS1f = mul_nonIEEE(PV0f.y, intBitsToFloat(0x3e65a5dd));
  140. // 4
  141. backupReg0f = R127f.z;
  142. PV0f.x = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[0].y));
  143. R127f.y = PS1f + R127f.x;
  144. PV0f.y = R127f.y;
  145. R127f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[2].y));
  146. PV0f.z = R127f.z;
  147. R127f.w = mul_nonIEEE(backupReg0f, intBitsToFloat(0x42c80000));
  148. PV0f.w = R127f.w;
  149. R10f.w = R4f.w;
  150. PS0f = R10f.w;
  151. // 5
  152. tempf.x = R3f.x * intBitsToFloat(uf_remappedVS[3].x) + R3f.y * intBitsToFloat(uf_remappedVS[3].y) + R3f.z * intBitsToFloat(uf_remappedVS[3].z) + R6f.w * intBitsToFloat(uf_remappedVS[3].w);
  153. PV1f.x = tempf.x;
  154. PV1f.y = tempf.x;
  155. PV1f.z = tempf.x;
  156. PV1f.w = tempf.x;
  157. R5f.w = tempf.x;
  158. R127f.x = -(PV0f.x) + PV0f.y;
  159. PS1f = R127f.x;
  160. // 6
  161. PV0f.x = R127f.y + -(R127f.z);
  162. PV0f.y = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[0].z));
  163. PV0f.z = intBitsToFloat(uf_remappedVS[0].w) + R126f.y;
  164. PV0f.w = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[2].z));
  165. R127f.y = mul_nonIEEE(R127f.w, intBitsToFloat(0x40490e56));
  166. PS0f = R127f.y;
  167. // 7
  168. PV1f.x = -(PV0f.w) + PV0f.x;
  169. R6f.y = mul_nonIEEE(PV0f.z, intBitsToFloat(0x40400000));
  170. PV1f.y = R6f.y;
  171. PV1f.z = -(PV0f.y) + R127f.x;
  172. PV1f.w = mul_nonIEEE(PS0f, intBitsToFloat(0x40a00000));
  173. R0f.z = mul_nonIEEE(PS0f, intBitsToFloat(0x40400000));
  174. PS1f = R0f.z;
  175. // 8
  176. R0f.x = mul_nonIEEE(PV1f.z, intBitsToFloat(0x3cb6a401));
  177. PV0f.x = R0f.x;
  178. R7f.y = (PV1f.w * intBitsToFloat(0x3e22f983) + 0.5);
  179. PV0f.y = R7f.y;
  180. R5f.z = mul_nonIEEE(R127f.y, intBitsToFloat(0x40e00000));
  181. PV0f.z = R5f.z;
  182. R0f.w = fract(PV1f.y);
  183. PV0f.w = R0f.w;
  184. R6f.x = mul_nonIEEE(PV1f.x, intBitsToFloat(0x3cb6a401));
  185. PS0f = R6f.x;
  186. R2f.w = (texture(textureUnitVS0, R0f.xy).x); // TEX_INST_SAMPLE OffsetXYZ 00 00 00
  187. R6f.z = (texture(textureUnitVS0, R6f.xz).x); // TEX_INST_SAMPLE OffsetXYZ 00 00 00
  188. // export
  189. passParameter2 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
  190. // export
  191. passParameter0 = vec4(R5f.x, R5f.y, R5f.x, R5f.y);
  192. // 0
  193. R127f.x = mul_nonIEEE(R6f.y, intBitsToFloat(0x431d1463));
  194. PV0f.x = R127f.x;
  195. PV0f.y = R0f.w + -(0.5);
  196. R123f.z = (R5f.z * intBitsToFloat(0x3e22f983) + 0.5);
  197. PV0f.z = R123f.z;
  198. R123f.w = (R0f.z * intBitsToFloat(0x3e22f983) + 0.5);
  199. PV0f.w = R123f.w;
  200. PS0f = fract(R7f.y);
  201. // 1
  202. PV1f.x = max(PV0f.y, -(PV0f.y));
  203. PV1f.y = fract(PV0f.w);
  204. PV1f.z = PV0f.x;
  205. PV1f.z *= 4.0;
  206. PV1f.w = fract(PV0f.z);
  207. R127f.w = (PS0f * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
  208. PS1f = R127f.w;
  209. // 2
  210. R123f.x = (PV1f.y * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
  211. PV0f.x = R123f.x;
  212. R123f.y = (R127f.x * intBitsToFloat(0x3e22f983) + 0.5);
  213. PV0f.y = R123f.y;
  214. PV0f.z = PV1f.x + 0.5;
  215. R123f.w = (PV1f.z * intBitsToFloat(0x3e22f983) + 0.5);
  216. PV0f.w = R123f.w;
  217. R127f.x = (PV1f.w * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
  218. PS0f = R127f.x;
  219. // 3
  220. PV1f.x = fract(PV0f.w);
  221. PV1f.y = mul_nonIEEE(R127f.w, intBitsToFloat(0x3e22f983));
  222. R127f.z = mul_nonIEEE(PV0f.x, intBitsToFloat(0x3e22f983));
  223. PV1f.z = R127f.z;
  224. R127f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), PV0f.z);
  225. PV1f.w = R127f.w;
  226. PS1f = fract(PV0f.y);
  227. // 4
  228. R123f.x = (PV1f.x * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
  229. PV0f.x = R123f.x;
  230. PV0f.y = -(PV1f.w) + 1.0;
  231. R126f.z = mul_nonIEEE(R127f.x, intBitsToFloat(0x3e22f983));
  232. PV0f.z = R126f.z;
  233. R123f.w = (PS1f * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb));
  234. PV0f.w = R123f.w;
  235. R127f.x = sin((PV1f.y)/0.1591549367);
  236. PS0f = R127f.x;
  237. // 5
  238. backupReg0f = R127f.z;
  239. PV1f.x = min(R127f.w, PV0f.y);
  240. PV1f.x *= 2.0;
  241. PV1f.x = clamp(PV1f.x, 0.0, 1.0);
  242. R127f.y = mul_nonIEEE(PV0f.w, intBitsToFloat(0x3e22f983));
  243. PV1f.y = R127f.y;
  244. R127f.z = mul_nonIEEE(PV0f.x, intBitsToFloat(0x3e22f983));
  245. PV1f.z = R127f.z;
  246. PV1f.w = R127f.w + intBitsToFloat(0xbe99999a);
  247. PV1f.w = clamp(PV1f.w, 0.0, 1.0);
  248. PS1f = sin((backupReg0f)/0.1591549367);
  249. // 6
  250. backupReg0f = R127f.x;
  251. backupReg1f = R126f.z;
  252. R127f.x = mul_nonIEEE(PV1f.w, intBitsToFloat(0x3d6a0fd3));
  253. PV0f.x = R127f.x;
  254. PV0f.y = mul_nonIEEE(backupReg0f, PS1f);
  255. R126f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(0x3ca3d70a));
  256. PV0f.z = R126f.z;
  257. R127f.w = mul_nonIEEE(R8f.y, intBitsToFloat(uf_remappedVS[4].x));
  258. PV0f.w = R127f.w;
  259. PS0f = sin((backupReg1f)/0.1591549367);
  260. // 7
  261. PV1f.x = mul_nonIEEE(PS0f, PV0f.y);
  262. R6f.y = intBitsToFloat(uf_remappedVS[5].x);
  263. PV1f.y = R6f.y;
  264. R0f.z = intBitsToFloat(uf_remappedVS[5].y);
  265. PV1f.z = R0f.z;
  266. R0f.w = intBitsToFloat(uf_remappedVS[5].z);
  267. PV1f.w = R0f.w;
  268. PS1f = sin((R127f.z)/0.1591549367);
  269. // 8
  270. backupReg0f = R127f.y;
  271. R127f.y = mul_nonIEEE(R127f.x, PS1f);
  272. PV0f.y = R127f.y;
  273. PV0f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(0x3d4ccccd));
  274. PS0f = sin((backupReg0f)/0.1591549367);
  275. // 9
  276. PV1f.z = mul_nonIEEE(R126f.z, PS0f);
  277. PV1f.w = mul_nonIEEE(R7f.x, PV0f.z);
  278. // 10
  279. PV0f.y = mul_nonIEEE(R8f.y, PV1f.w);
  280. PV0f.w = R127f.y + PV1f.z;
  281. // 11
  282. PV1f.x = R127f.w + PV0f.y;
  283. R126f.z = PV0f.w + R6f.z;
  284. PV1f.z = R126f.z;
  285. R127f.w = PV0f.w + R2f.w;
  286. PV1f.w = R127f.w;
  287. // 12
  288. R127f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), PV1f.w);
  289. PV0f.x = R127f.x;
  290. PV0f.y = -(PV1f.w) + PV1f.z;
  291. R127f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(0x41a00000));
  292. PV0f.z = R127f.z;
  293. PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[2].y), PV1f.z);
  294. // 13
  295. R123f.x = (PV0f.y * intBitsToFloat(uf_remappedVS[2].x) + R127f.w);
  296. PV1f.x = R123f.x;
  297. R126f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].z), R127f.w);
  298. PV1f.y = R126f.y;
  299. PV1f.z = -(PV0f.x) + PV0f.w;
  300. // 14
  301. PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[2].z), R126f.z);
  302. R127f.y = mul_nonIEEE(PV1f.x, R127f.z);
  303. PV0f.y = R127f.y;
  304. R123f.z = (PV1f.z * intBitsToFloat(uf_remappedVS[2].x) + R127f.x);
  305. PV0f.z = R123f.z;
  306. // 15
  307. PV1f.x = mul_nonIEEE(PV0f.y, PV0f.y);
  308. PV1f.y = mul_nonIEEE(R127f.z, PV0f.z);
  309. PV1f.w = -(R126f.y) + PV0f.x;
  310. // 16
  311. R123f.y = (PV1f.w * intBitsToFloat(uf_remappedVS[2].x) + R126f.y);
  312. PV0f.y = R123f.y;
  313. PV0f.z = PV1f.y;
  314. PV0f.w = mul_nonIEEE(R127f.y, PV1f.x);
  315. // 17
  316. R7f.x = R3f.w + PV0f.z;
  317. PV1f.x = R7f.x;
  318. PV1f.z = mul_nonIEEE(PV0f.w, intBitsToFloat(0x3e23d70a));
  319. PV1f.w = mul_nonIEEE(R127f.z, PV0f.y);
  320. // 18
  321. PV0f.x = PV1f.w;
  322. PV0f.y = max(PV1f.z, 0.0);
  323. // 19
  324. R6f.z = R5f.w + PV0f.x;
  325. PV1f.z = R6f.z;
  326. R5f.w = -(PV0f.y);
  327. PV1f.w = R5f.w;
  328. R3f.w = intBitsToFloat(uf_remappedVS[5].w);
  329. PS1f = R3f.w;
  330. // 0
  331. tempf.x = R3f.x * intBitsToFloat(uf_remappedVS[6].x) + R3f.y * intBitsToFloat(uf_remappedVS[6].y) + R3f.z * intBitsToFloat(uf_remappedVS[6].z) + R6f.w * intBitsToFloat(uf_remappedVS[6].w);
  332. PV0f.x = tempf.x;
  333. PV0f.y = tempf.x;
  334. PV0f.z = tempf.x;
  335. PV0f.w = tempf.x;
  336. PS0f = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[6].z));
  337. // 1
  338. R126f.x = (R2f.y * intBitsToFloat(uf_remappedVS[6].y) + PS0f);
  339. PV1f.x = R126f.x;
  340. R127f.y = PV0f.x + R5f.w;
  341. PV1f.y = R127f.y;
  342. R127f.z = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[1].z));
  343. PV1f.z = R127f.z;
  344. R126f.w = mul_nonIEEE(R4f.y, intBitsToFloat(uf_remappedVS[6].y));
  345. PV1f.w = R126f.w;
  346. R127f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[1].z));
  347. PS1f = R127f.x;
  348. // 2
  349. tempf.x = R7f.x * intBitsToFloat(uf_remappedVS[7].x) + PV1f.y * intBitsToFloat(uf_remappedVS[7].y) + R6f.z * intBitsToFloat(uf_remappedVS[7].z) + R7f.w * intBitsToFloat(uf_remappedVS[7].w);
  350. PV0f.x = tempf.x;
  351. PV0f.y = tempf.x;
  352. PV0f.z = tempf.x;
  353. PV0f.w = tempf.x;
  354. R126f.y = tempf.x;
  355. // 3
  356. R125f.x = R7f.x * intBitsToFloat(uf_remappedVS[8].x) + R127f.y * intBitsToFloat(uf_remappedVS[8].y) + R6f.z * intBitsToFloat(uf_remappedVS[8].z) + R7f.w * intBitsToFloat(uf_remappedVS[8].w);
  357. PV1f.x = R125f.x;
  358. PV1f.y = R125f.x;
  359. PV1f.z = R125f.x;
  360. PV1f.w = R125f.x;
  361. R3f.x = PV0f.x;
  362. PS1f = R3f.x;
  363. // 4
  364. tempf.x = R7f.x * intBitsToFloat(uf_remappedVS[9].x) + R127f.y * intBitsToFloat(uf_remappedVS[9].y) + R6f.z * intBitsToFloat(uf_remappedVS[9].z) + R7f.w * intBitsToFloat(uf_remappedVS[9].w);
  365. PV0f.x = tempf.x;
  366. PV0f.y = tempf.x;
  367. PV0f.z = tempf.x;
  368. PV0f.w = tempf.x;
  369. R125f.w = tempf.x;
  370. R3f.y = PV1f.x;
  371. PS0f = R3f.y;
  372. // 5
  373. backupReg0f = R127f.x;
  374. R127f.x = (R2f.y * intBitsToFloat(uf_remappedVS[1].y) + backupReg0f);
  375. PV1f.x = R127f.x;
  376. R125f.y = (R2f.x * intBitsToFloat(uf_remappedVS[6].x) + R126f.x);
  377. PV1f.y = R125f.y;
  378. R3f.z = PV0f.x;
  379. PV1f.z = R3f.z;
  380. R127f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].y), R0f.z);
  381. PV1f.w = R127f.w;
  382. R126f.x = (R4f.y * intBitsToFloat(uf_remappedVS[1].y) + R127f.z);
  383. PS1f = R126f.x;
  384. // 6
  385. R5f.x = R3f.x * intBitsToFloat(uf_remappedVS[10].x) + R3f.y * intBitsToFloat(uf_remappedVS[10].y) + PV1f.z * intBitsToFloat(uf_remappedVS[10].z) + R8f.w * intBitsToFloat(uf_remappedVS[10].w);
  386. PV0f.x = R5f.x;
  387. PV0f.y = R5f.x;
  388. PV0f.z = R5f.x;
  389. PV0f.w = R5f.x;
  390. // 7
  391. tempf.x = R3f.x * intBitsToFloat(uf_remappedVS[11].x) + R3f.y * intBitsToFloat(uf_remappedVS[11].y) + R3f.z * intBitsToFloat(uf_remappedVS[11].z) + R8f.w * intBitsToFloat(uf_remappedVS[11].w);
  392. PV1f.x = tempf.x;
  393. PV1f.y = tempf.x;
  394. PV1f.z = tempf.x;
  395. PV1f.w = tempf.x;
  396. R5f.y = tempf.x;
  397. // 8
  398. tempf.x = R3f.x * intBitsToFloat(uf_remappedVS[12].x) + R3f.y * intBitsToFloat(uf_remappedVS[12].y) + R3f.z * intBitsToFloat(uf_remappedVS[12].z) + R8f.w * intBitsToFloat(uf_remappedVS[12].w);
  399. PV0f.x = tempf.x;
  400. PV0f.y = tempf.x;
  401. PV0f.z = tempf.x;
  402. PV0f.w = tempf.x;
  403. R5f.z = tempf.x;
  404. // 9
  405. tempf.x = R3f.x * intBitsToFloat(uf_remappedVS[13].x) + R3f.y * intBitsToFloat(uf_remappedVS[13].y) + R3f.z * intBitsToFloat(uf_remappedVS[13].z) + R8f.w * intBitsToFloat(uf_remappedVS[13].w);
  406. PV1f.x = tempf.x;
  407. PV1f.y = tempf.x;
  408. PV1f.z = tempf.x;
  409. PV1f.w = tempf.x;
  410. R5f.w = tempf.x;
  411. // 10
  412. backupReg0f = R127f.x;
  413. R127f.x = intBitsToFloat(uf_remappedVS[1].x) * R6f.y + intBitsToFloat(uf_remappedVS[1].w) * R8f.x + intBitsToFloat(uf_remappedVS[1].z) * R0f.w + R127f.w * 1.0;
  414. PV0f.x = R127f.x;
  415. PV0f.y = R127f.x;
  416. PV0f.z = R127f.x;
  417. PV0f.w = R127f.x;
  418. R7f.x = (R2f.x * intBitsToFloat(uf_remappedVS[1].x) + backupReg0f);
  419. PS0f = R7f.x;
  420. // 11
  421. tempf.x = intBitsToFloat(uf_remappedVS[6].x) * R6f.y + intBitsToFloat(uf_remappedVS[6].y) * R0f.z + intBitsToFloat(uf_remappedVS[6].z) * R0f.w + intBitsToFloat(uf_remappedVS[6].w) * R8f.x;
  422. PV1f.x = tempf.x;
  423. PV1f.y = tempf.x;
  424. PV1f.z = tempf.x;
  425. PV1f.w = tempf.x;
  426. R127f.y = tempf.x;
  427. R124f.x = (R4f.z * intBitsToFloat(uf_remappedVS[6].z) + R126f.w);
  428. PS1f = R124f.x;
  429. // 12
  430. tempf.x = intBitsToFloat(uf_remappedVS[3].x) * R6f.y + intBitsToFloat(uf_remappedVS[3].y) * R0f.z + intBitsToFloat(uf_remappedVS[3].z) * R0f.w + intBitsToFloat(uf_remappedVS[3].w) * R8f.x;
  431. PV0f.x = tempf.x;
  432. PV0f.y = tempf.x;
  433. PV0f.z = tempf.x;
  434. PV0f.w = tempf.x;
  435. R127f.z = tempf.x;
  436. PS0f = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[3].z));
  437. // 13
  438. tempf.x = R2f.x * intBitsToFloat(uf_remappedVS[3].x) + R2f.y * intBitsToFloat(uf_remappedVS[3].y) + PS0f * 1.0 + intBitsToFloat(0x80000000) * 0.0;
  439. PV1f.x = tempf.x;
  440. PV1f.y = tempf.x;
  441. PV1f.z = tempf.x;
  442. PV1f.w = tempf.x;
  443. R126f.z = tempf.x;
  444. R2f.x = (R4f.x * intBitsToFloat(uf_remappedVS[1].x) + R126f.x);
  445. PS1f = R2f.x;
  446. // 14
  447. tempf.x = intBitsToFloat(uf_remappedVS[7].x) * R127f.x + intBitsToFloat(uf_remappedVS[7].y) * R127f.y + intBitsToFloat(uf_remappedVS[7].z) * R127f.z + intBitsToFloat(uf_remappedVS[7].w) * R9f.w;
  448. PV0f.x = tempf.x;
  449. PV0f.y = tempf.x;
  450. PV0f.z = tempf.x;
  451. PV0f.w = tempf.x;
  452. R126f.x = mul_nonIEEE(PV1f.x, PV1f.x);
  453. PS0f = R126f.x;
  454. // 15
  455. tempf.x = intBitsToFloat(uf_remappedVS[8].x) * R127f.x + intBitsToFloat(uf_remappedVS[8].y) * R127f.y + intBitsToFloat(uf_remappedVS[8].z) * R127f.z + intBitsToFloat(uf_remappedVS[8].w) * R9f.w;
  456. PV1f.x = tempf.x;
  457. PV1f.y = tempf.x;
  458. PV1f.z = tempf.x;
  459. PV1f.w = tempf.x;
  460. R8f.x = R126f.y + -(PV0f.x);
  461. PS1f = R8f.x;
  462. // 16
  463. tempf.x = intBitsToFloat(uf_remappedVS[9].x) * R127f.x + intBitsToFloat(uf_remappedVS[9].y) * R127f.y + intBitsToFloat(uf_remappedVS[9].z) * R127f.z + intBitsToFloat(uf_remappedVS[9].w) * R9f.w;
  464. PV0f.x = tempf.x;
  465. PV0f.y = tempf.x;
  466. PV0f.z = tempf.x;
  467. PV0f.w = tempf.x;
  468. R126f.y = R125f.x + -(PV1f.x);
  469. PS0f = R126f.y;
  470. // 17
  471. R123f.x = (R125f.y * R125f.y + R126f.x);
  472. PV1f.x = R123f.x;
  473. R127f.y = (R4f.x * intBitsToFloat(uf_remappedVS[6].x) + R124f.x);
  474. PV1f.y = R127f.y;
  475. R2f.z = R125f.w + -(PV0f.x);
  476. PV1f.z = R2f.z;
  477. PS1f = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[3].z));
  478. // 18
  479. tempf.x = R4f.x * intBitsToFloat(uf_remappedVS[3].x) + R4f.y * intBitsToFloat(uf_remappedVS[3].y) + PS1f * 1.0 + intBitsToFloat(0x80000000) * 0.0;
  480. PV0f.x = tempf.x;
  481. PV0f.y = tempf.x;
  482. PV0f.z = tempf.x;
  483. PV0f.w = tempf.x;
  484. R125f.z = tempf.x;
  485. R122f.x = (R7f.x * R7f.x + PV1f.x);
  486. PS0f = R122f.x;
  487. // 19
  488. tempf.x = R2f.x * R2f.x + R127f.y * R127f.y + PV0f.x * PV0f.x + intBitsToFloat(0x80000000) * 0.0;
  489. PV1f.x = tempf.x;
  490. PV1f.y = tempf.x;
  491. PV1f.z = tempf.x;
  492. PV1f.w = tempf.x;
  493. R127f.z = tempf.x;
  494. tempResultf = 1.0 / sqrt(PS0f);
  495. R125f.w = tempResultf;
  496. PS1f = R125f.w;
  497. // 20
  498. backupReg0f = R7f.x;
  499. tempf.x = R8f.x * R8f.x + R126f.y * R126f.y + R2f.z * R2f.z + intBitsToFloat(0x80000000) * 0.0;
  500. PV0f.x = tempf.x;
  501. PV0f.y = tempf.x;
  502. PV0f.z = tempf.x;
  503. PV0f.w = tempf.x;
  504. R126f.w = tempf.x;
  505. R7f.x = mul_nonIEEE(backupReg0f, PS1f);
  506. PS0f = R7f.x;
  507. // 21
  508. R4f.y = mul_nonIEEE(R125f.y, R125f.w);
  509. PV1f.y = R4f.y;
  510. R4f.z = mul_nonIEEE(R126f.z, R125f.w);
  511. PV1f.z = R4f.z;
  512. tempResultf = 1.0 / sqrt(R127f.z);
  513. PS1f = tempResultf;
  514. // 22
  515. backupReg0f = R2f.x;
  516. R2f.x = mul_nonIEEE(backupReg0f, PS1f);
  517. PV0f.x = R2f.x;
  518. R6f.y = mul_nonIEEE(R127f.y, PS1f);
  519. PV0f.y = R6f.y;
  520. R6f.z = mul_nonIEEE(R125f.z, PS1f);
  521. PV0f.z = R6f.z;
  522. PV0f.w = mul_nonIEEE(PV1f.z, intBitsToFloat(uf_remappedVS[7].z));
  523. tempResultf = 1.0 / sqrt(R126f.w);
  524. R0f.z = tempResultf;
  525. PS0f = R0f.z;
  526. // 23
  527. R4f.x = R7f.x * intBitsToFloat(uf_remappedVS[7].x) + R4f.y * intBitsToFloat(uf_remappedVS[7].y) + PV0f.w * 1.0 + intBitsToFloat(0x80000000) * 0.0;
  528. PV1f.x = R4f.x;
  529. PV1f.y = R4f.x;
  530. PV1f.z = R4f.x;
  531. PV1f.w = R4f.x;
  532. R2f.y = mul_nonIEEE(R8f.x, PS0f);
  533. PS1f = R2f.y;
  534. // 24
  535. backupReg0f = R0f.z;
  536. tempf.x = R7f.x * intBitsToFloat(uf_remappedVS[8].x) + R4f.y * intBitsToFloat(uf_remappedVS[8].y) + R4f.z * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(0x80000000) * 0.0;
  537. PV0f.x = tempf.x;
  538. PV0f.y = tempf.x;
  539. PV0f.z = tempf.x;
  540. PV0f.w = tempf.x;
  541. R4f.w = tempf.x;
  542. R8f.x = mul_nonIEEE(R126f.y, backupReg0f);
  543. PS0f = R8f.x;
  544. // export
  545. gl_Position = vec4(R5f.x, R5f.y, R5f.z, R5f.w);
  546. // export
  547. passParameter5 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
  548. // 0
  549. tempf.x = R7f.x * intBitsToFloat(uf_remappedVS[9].x) + R4f.y * intBitsToFloat(uf_remappedVS[9].y) + R4f.z * intBitsToFloat(uf_remappedVS[9].z) + intBitsToFloat(0x80000000) * 0.0;
  550. PV0f.x = tempf.x;
  551. PV0f.y = tempf.x;
  552. PV0f.z = tempf.x;
  553. PV0f.w = tempf.x;
  554. R125f.z = tempf.x;
  555. R126f.w = mul_nonIEEE(R2f.z, R0f.z);
  556. PS0f = R126f.w;
  557. // 1
  558. R10f.x = R2f.x * intBitsToFloat(uf_remappedVS[7].x) + R6f.y * intBitsToFloat(uf_remappedVS[7].y) + R6f.z * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(0x80000000) * 0.0;
  559. PV1f.x = R10f.x;
  560. PV1f.y = R10f.x;
  561. PV1f.z = R10f.x;
  562. PV1f.w = R10f.x;
  563. R0f.x = mul_nonIEEE(R3f.w, R2f.y);
  564. PS1f = R0f.x;
  565. // 2
  566. tempf.x = R2f.x * intBitsToFloat(uf_remappedVS[8].x) + R6f.y * intBitsToFloat(uf_remappedVS[8].y) + R6f.z * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(0x80000000) * 0.0;
  567. PV0f.x = tempf.x;
  568. PV0f.y = tempf.x;
  569. PV0f.z = tempf.x;
  570. PV0f.w = tempf.x;
  571. R10f.y = tempf.x;
  572. R0f.y = mul_nonIEEE(R3f.w, R8f.x);
  573. PS0f = R0f.y;
  574. // 3
  575. tempf.x = R2f.x * intBitsToFloat(uf_remappedVS[9].x) + R6f.y * intBitsToFloat(uf_remappedVS[9].y) + R6f.z * intBitsToFloat(uf_remappedVS[9].z) + intBitsToFloat(0x80000000) * 0.0;
  576. PV1f.x = tempf.x;
  577. PV1f.y = tempf.x;
  578. PV1f.z = tempf.x;
  579. PV1f.w = tempf.x;
  580. R10f.z = tempf.x;
  581. R0f.z = mul_nonIEEE(R3f.w, R126f.w);
  582. PS1f = R0f.z;
  583. // 4
  584. backupReg0f = R4f.x;
  585. R4f.x = backupReg0f;
  586. PV0f.x = R4f.x;
  587. R4f.y = R4f.w;
  588. PV0f.y = R4f.y;
  589. R4f.z = R125f.z;
  590. PV0f.z = R4f.z;
  591. // export
  592. passParameter4 = vec4(R10f.x, R10f.y, R10f.z, R10f.w);
  593. // export
  594. passParameter1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
  595. // export
  596. passParameter3 = vec4(R4f.x, R4f.y, R4f.z, R4f.w);
  597. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement