Guest User

Untitled

a guest
Mar 17th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.50 KB | None | 0 0
  1. // smaaBlendWeight.frag
  2. #version 450
  3.  
  4. struct SMAAParameters
  5. {
  6. float threshold;
  7. float depthThreshold;
  8. uint maxSearchSteps;
  9. uint maxSearchStepsDiag;
  10. uint cornerRounding;
  11. uint pad0;
  12. uint pad1;
  13. uint pad2;
  14. };
  15.  
  16. layout(binding = 0, std140) uniform Globals
  17. {
  18. vec4 screenSize;
  19. mat4 viewProj;
  20. mat4 guiOrtho;
  21. SMAAParameters smaaParameters;
  22. float predicationThreshold;
  23. float predicationScale;
  24. float predicationStrength;
  25. float pad0;
  26. } _190;
  27.  
  28. layout(binding = 0) uniform sampler2D edgesTex;
  29. layout(binding = 1) uniform sampler2D areaTex;
  30. layout(binding = 2) uniform sampler2D searchTex;
  31.  
  32. layout(location = 2) in vec4 offset0;
  33. layout(location = 3) in vec4 offset1;
  34. layout(location = 4) in vec4 offset2;
  35. layout(location = 0) out vec4 outColor;
  36. layout(location = 0) in vec2 texcoord;
  37. layout(location = 1) in vec2 pixcoord;
  38.  
  39. vec4 _2819;
  40. vec2 _2820;
  41. vec3 _2845;
  42.  
  43. void main()
  44. {
  45. vec2 _1268 = texture(edgesTex, texcoord).xy;
  46. vec4 _2856;
  47. vec2 _2857;
  48. if (_1268.y > 0.0)
  49. {
  50. vec4 _2823;
  51. if (_1268.x > 0.0)
  52. {
  53. vec2 _2821;
  54. vec4 _2822;
  55. _2821 = _2820;
  56. _2822 = vec4(texcoord, -1.0, 1.0);
  57. vec2 _1697;
  58. vec4 _2504;
  59. for (;;)
  60. {
  61. bool _1675 = _2822.z < 15.0;
  62. bool _1681;
  63. if (_1675)
  64. {
  65. _1681 = _2822.w > 0.89999997615814208984375;
  66. }
  67. else
  68. {
  69. _1681 = _1675;
  70. }
  71. if (_1681)
  72. {
  73. vec3 _1690 = fma(vec3(_190.screenSize.xy, 1.0), vec3(-1.0, -1.0, 1.0), _2822.xyz);
  74. vec4 _1692 = vec4(_1690.x, _1690.y, _1690.z, _2822.w);
  75. _1697 = textureLod(edgesTex, _1692.xy, 0.0).xy;
  76. _2504 = _1692;
  77. _2504.w = dot(_1697, vec2(0.5));
  78. _2821 = _1697;
  79. _2822 = _2504;
  80. continue;
  81. }
  82. else
  83. {
  84. break;
  85. }
  86. }
  87. vec4 _2510 = vec4(_2822.zw.x, _2819.y, _2822.zw.y, _2819.w);
  88. _2510.x = vec4(_2822.zw.x, _2819.y, _2822.zw.y, _2819.w).x + float(_2821.y > 0.89999997615814208984375);
  89. _2823 = _2510;
  90. }
  91. else
  92. {
  93. _2823 = vec4(vec2(0.0).x, _2819.y, vec2(0.0).y, _2819.w);
  94. }
  95. float _1708 = -(-1.0);
  96. vec4 _1713 = vec4(texcoord, -1.0, 1.0);
  97. vec3 _1719 = vec3(_190.screenSize.xy, 1.0);
  98. vec4 _2826;
  99. _2826 = _1713;
  100. vec4 _2520;
  101. for (;;)
  102. {
  103. bool _1726 = _2826.z < 15.0;
  104. bool _1732;
  105. if (_1726)
  106. {
  107. _1732 = _2826.w > 0.89999997615814208984375;
  108. }
  109. else
  110. {
  111. _1732 = _1726;
  112. }
  113. if (_1732)
  114. {
  115. vec3 _1741 = fma(_1719, vec3(1.0, _1708, 1.0), _2826.xyz);
  116. vec4 _1743 = vec4(_1741.x, _1741.y, _1741.z, _2826.w);
  117. _2520 = _1743;
  118. _2520.w = dot(textureLod(edgesTex, _1743.xy, 0.0).xy, vec2(0.5));
  119. _2826 = _2520;
  120. continue;
  121. }
  122. else
  123. {
  124. break;
  125. }
  126. }
  127. vec2 _2829;
  128. if ((vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).x + vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y) > 2.0)
  129. {
  130. float _1497 = -vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).x;
  131. vec4 _1515 = fma(vec4(_1497 + 0.25, _1497, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y, -((-vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y) - 0.25)), _190.screenSize.xyxy, texcoord.xyxy);
  132. vec2 _1520 = textureLodOffset(edgesTex, _1515.xy, 0.0, ivec2(-1, 0)).xy;
  133. vec4 _1522 = vec4(_1520.x, _1520.y, _2819.z, _2819.w);
  134. vec2 _1527 = textureLodOffset(edgesTex, _1515.zw, 0.0, ivec2(1, 0)).xy;
  135. vec4 _1529 = vec4(_1522.x, _1522.y, _1527.x, _1527.y);
  136. vec2 _1756 = _1529.xz;
  137. vec2 _1763 = _1756 * abs((_1756 * 5.0) - vec2(3.75));
  138. vec4 _1767 = round(vec4(_1763.x, _1529.y, _1763.y, _1529.w));
  139. vec4 _1533 = vec4(_1767.y, _1767.x, _1767.w, _1767.z);
  140. vec2 _1538 = fma(vec2(2.0), _1533.xz, _1533.yw);
  141. bvec2 _1543 = notEqual(step(vec2(0.89999997615814208984375), vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).zw), vec2(0.0));
  142. vec2 _2827;
  143. if (_1543.x)
  144. {
  145. vec2 _2536 = _1538;
  146. _2536.x = 0.0;
  147. _2827 = _2536;
  148. }
  149. else
  150. {
  151. _2827 = _1538;
  152. }
  153. vec2 _2828;
  154. if (_1543.y)
  155. {
  156. vec2 _2540 = _2827;
  157. _2540.y = 0.0;
  158. _2828 = _2540;
  159. }
  160. else
  161. {
  162. _2828 = _2827;
  163. }
  164. vec2 _1788 = fma(vec2(0.0062500000931322574615478515625, 0.001785714295692741870880126953125), fma(vec2(20.0), _2828, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).xy), vec2(0.00312500004656612873077392578125, 0.0008928571478463709354400634765625));
  165. vec2 _2546 = _1788;
  166. _2546.x = _1788.x + 0.5;
  167. vec2 _2554 = _2546;
  168. _2554.y = 1.0 - (_2546.y + (0.14285714924335479736328125 * 0.0));
  169. _2829 = vec2(0.0) + textureLod(areaTex, _2554, 0.0).xy;
  170. }
  171. else
  172. {
  173. _2829 = vec2(0.0);
  174. }
  175. vec4 _2562 = _1713;
  176. _2562.x = texcoord.x + (0.25 * _190.screenSize.x);
  177. vec4 _2832;
  178. _2832 = _2562;
  179. vec4 _2574;
  180. for (;;)
  181. {
  182. bool _1838 = _2832.z < 15.0;
  183. bool _1844;
  184. if (_1838)
  185. {
  186. _1844 = _2832.w > 0.89999997615814208984375;
  187. }
  188. else
  189. {
  190. _1844 = _1838;
  191. }
  192. if (_1844)
  193. {
  194. vec3 _1853 = fma(_1719, vec3(-1.0, _1708, 1.0), _2832.xyz);
  195. vec4 _1855 = vec4(_1853.x, _1853.y, _1853.z, _2832.w);
  196. vec2 _1860 = textureLod(edgesTex, _1855.xy, 0.0).xy;
  197. float _2568 = _1860.x;
  198. vec2 _2572 = _1860;
  199. _2572.x = _2568 * abs((5.0 * _2568) - 3.75);
  200. _2574 = _1855;
  201. _2574.w = dot(round(_2572), vec2(0.5));
  202. _2832 = _2574;
  203. continue;
  204. }
  205. else
  206. {
  207. break;
  208. }
  209. }
  210. vec4 _2835;
  211. if (textureLodOffset(edgesTex, texcoord, 0.0, ivec2(1, 0)).x > 0.0)
  212. {
  213. vec2 _2833;
  214. vec4 _2834;
  215. _2833 = _2820;
  216. _2834 = _2562;
  217. vec2 _1952;
  218. vec4 _2594;
  219. for (;;)
  220. {
  221. bool _1911 = _2834.z < 15.0;
  222. bool _1917;
  223. if (_1911)
  224. {
  225. _1917 = _2834.w > 0.89999997615814208984375;
  226. }
  227. else
  228. {
  229. _1917 = _1911;
  230. }
  231. if (_1917)
  232. {
  233. vec3 _1926 = fma(_1719, vec3(1.0, -1.0, 1.0), _2834.xyz);
  234. vec4 _1928 = vec4(_1926.x, _1926.y, _1926.z, _2834.w);
  235. vec2 _1933 = textureLod(edgesTex, _1928.xy, 0.0).xy;
  236. float _2588 = _1933.x;
  237. vec2 _2592 = _1933;
  238. _2592.x = _2588 * abs((5.0 * _2588) - 3.75);
  239. _1952 = round(_2592);
  240. _2594 = _1928;
  241. _2594.w = dot(_1952, vec2(0.5));
  242. _2833 = _1952;
  243. _2834 = _2594;
  244. continue;
  245. }
  246. else
  247. {
  248. break;
  249. }
  250. }
  251. vec4 _2600 = vec4(vec4(_2832.zw.x, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y, _2832.zw.y, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).w).x, _2834.zw.x, vec4(_2832.zw.x, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y, _2832.zw.y, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).w).z, _2834.zw.y);
  252. _2600.y = vec4(vec4(_2832.zw.x, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y, _2832.zw.y, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).w).x, _2834.zw.x, vec4(_2832.zw.x, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y, _2832.zw.y, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).w).z, _2834.zw.y).y + float(_2833.y > 0.89999997615814208984375);
  253. _2835 = _2600;
  254. }
  255. else
  256. {
  257. _2835 = vec4(vec4(_2832.zw.x, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y, _2832.zw.y, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).w).x, vec2(0.0).x, vec4(_2832.zw.x, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).y, _2832.zw.y, vec4(_2823.x, _2826.zw.x, _2823.z, _2826.zw.y).w).z, vec2(0.0).y);
  258. }
  259. vec2 _2840;
  260. if ((_2835.x + _2835.y) > 2.0)
  261. {
  262. float _1593 = -_2835.x;
  263. vec4 _1609 = fma(vec4(_1593, -_1593, _2835.y, -_2835.y), _190.screenSize.xyxy, texcoord.xyxy);
  264. vec2 _1612 = _1609.xy;
  265. vec4 _2614 = _2819;
  266. _2614.x = textureLodOffset(edgesTex, _1612, 0.0, ivec2(-1, 0)).y;
  267. vec4 _2616 = _2614;
  268. _2616.y = textureLodOffset(edgesTex, _1612, 0.0, ivec2(0, 1)).x;
  269. vec2 _1626 = textureLodOffset(edgesTex, _1609.zw, 0.0, ivec2(1, 0)).yx;
  270. vec4 _1628 = vec4(_2616.x, _2616.y, _1626.x, _1626.y);
  271. vec2 _1633 = fma(vec2(2.0), _1628.xz, _1628.yw);
  272. bvec2 _1638 = notEqual(step(vec2(0.89999997615814208984375), _2835.zw), vec2(0.0));
  273. vec2 _2838;
  274. if (_1638.x)
  275. {
  276. vec2 _2620 = _1633;
  277. _2620.x = 0.0;
  278. _2838 = _2620;
  279. }
  280. else
  281. {
  282. _2838 = _1633;
  283. }
  284. vec2 _2839;
  285. if (_1638.y)
  286. {
  287. vec2 _2624 = _2838;
  288. _2624.y = 0.0;
  289. _2839 = _2624;
  290. }
  291. else
  292. {
  293. _2839 = _2838;
  294. }
  295. vec2 _1973 = fma(vec2(0.0062500000931322574615478515625, 0.001785714295692741870880126953125), fma(vec2(20.0), _2839, _2835.xy), vec2(0.00312500004656612873077392578125, 0.0008928571478463709354400634765625));
  296. vec2 _2630 = _1973;
  297. _2630.x = _1973.x + 0.5;
  298. vec2 _2638 = _2630;
  299. _2638.y = 1.0 - (_2630.y + (0.14285714924335479736328125 * 0.0));
  300. _2840 = _2829 + textureLod(areaTex, _2638, 0.0).xy.yx;
  301. }
  302. else
  303. {
  304. _2840 = _2829;
  305. }
  306. vec4 _2848;
  307. vec2 _2849;
  308. if (vec4(_2840.x, _2840.y, vec4(0.0).z, vec4(0.0).w).x == (-vec4(_2840.x, _2840.y, vec4(0.0).z, vec4(0.0).w).y))
  309. {
  310. vec2 _2843;
  311. vec2 _2844;
  312. _2843 = offset0.xy;
  313. _2844 = vec2(0.0, 1.0);
  314. vec2 _2021;
  315. vec2 _2026;
  316. float _2646;
  317. for (;;)
  318. {
  319. _2646 = _2843.x;
  320. bool _2004 = _2646 > offset2.x;
  321. bool _2010;
  322. if (_2004)
  323. {
  324. _2010 = _2844.y > 0.828100025653839111328125;
  325. }
  326. else
  327. {
  328. _2010 = _2004;
  329. }
  330. bool _2016;
  331. if (_2010)
  332. {
  333. _2016 = _2844.x == 0.0;
  334. }
  335. else
  336. {
  337. _2016 = _2010;
  338. }
  339. if (_2016)
  340. {
  341. _2021 = textureLod(edgesTex, _2843, 0.0).xy;
  342. _2026 = fma(vec2(-2.0, -0.0), _190.screenSize.xy, _2843);
  343. _2843 = _2026;
  344. _2844 = _2021;
  345. continue;
  346. }
  347. else
  348. {
  349. break;
  350. }
  351. }
  352. vec2 _2048 = (vec2(33.0, -33.0) + vec2(-1.0, 1.0)) * vec2(0.015625, 0.0625);
  353. vec2 _2054 = fma(_2048, _2844, ((vec2(66.0, 33.0) * vec2(0.0, 1.0)) + vec2(0.5, -0.5)) * vec2(0.015625, 0.0625));
  354. vec2 _2654 = _2054;
  355. _2654.y = 1.0 - _2054.y;
  356. float _2035 = fma(_190.screenSize.x, fma(-2.007874011993408203125, textureLod(searchTex, _2654, 0.0).x, 3.25), _2646);
  357. vec3 _2658 = _2845;
  358. _2658.x = _2035;
  359. vec3 _2662 = _2658;
  360. _2662.y = offset1.y;
  361. vec2 _2666 = _2820;
  362. _2666.x = _2035;
  363. vec2 _2846;
  364. vec2 _2847;
  365. _2846 = offset0.zw;
  366. _2847 = vec2(0.0, 1.0);
  367. vec2 _2092;
  368. vec2 _2097;
  369. float _2670;
  370. for (;;)
  371. {
  372. _2670 = _2846.x;
  373. bool _2075 = _2670 < offset2.y;
  374. bool _2081;
  375. if (_2075)
  376. {
  377. _2081 = _2847.y > 0.828100025653839111328125;
  378. }
  379. else
  380. {
  381. _2081 = _2075;
  382. }
  383. bool _2087;
  384. if (_2081)
  385. {
  386. _2087 = _2847.x == 0.0;
  387. }
  388. else
  389. {
  390. _2087 = _2081;
  391. }
  392. if (_2087)
  393. {
  394. _2092 = textureLod(edgesTex, _2846, 0.0).xy;
  395. _2097 = fma(vec2(2.0, 0.0), _190.screenSize.xy, _2846);
  396. _2846 = _2097;
  397. _2847 = _2092;
  398. continue;
  399. }
  400. else
  401. {
  402. break;
  403. }
  404. }
  405. vec2 _2126 = fma(_2048, _2847, ((vec2(66.0, 33.0) * vec2(0.5, 1.0)) + vec2(0.5, -0.5)) * vec2(0.015625, 0.0625));
  406. vec2 _2678 = _2126;
  407. _2678.y = 1.0 - _2126.y;
  408. float _2107 = fma(-_190.screenSize.x, fma(-2.007874011993408203125, textureLod(searchTex, _2678, 0.0).x, 3.25), _2670);
  409. vec3 _2682 = _2662;
  410. _2682.z = _2107;
  411. vec2 _2686 = _2666;
  412. _2686.y = _2107;
  413. vec2 _1326 = abs(round(fma(_190.screenSize.zz, _2686, -pixcoord.xx)));
  414. vec2 _2145 = fma(vec2(0.0062500000931322574615478515625, 0.001785714295692741870880126953125), fma(vec2(16.0), round(vec2(textureLod(edgesTex, _2662.xy, 0.0).x, textureLodOffset(edgesTex, _2682.zy, 0.0, ivec2(1, 0)).x) * 4.0), sqrt(_1326)), vec2(0.00312500004656612873077392578125, 0.0008928571478463709354400634765625));
  415. vec2 _2696 = _2145;
  416. _2696.y = 1.0 - fma(0.14285714924335479736328125, 0.0, _2145.y);
  417. vec2 _2158 = textureLod(areaTex, _2696, 0.0).xy;
  418. vec4 _1341 = vec4(_2158.x, _2158.y, vec4(_2840.x, _2840.y, vec4(0.0).z, vec4(0.0).w).z, vec4(_2840.x, _2840.y, vec4(0.0).z, vec4(0.0).w).w);
  419. vec3 _2700 = _2682;
  420. _2700.y = texcoord.y;
  421. vec2 _2165 = step(_1326, _1326.yx);
  422. vec2 _2175 = (_2165 * 0.75) / vec2(_2165.x + _2165.y);
  423. float _2706 = _2175.x;
  424. float _2712 = _2175.y;
  425. vec2 _2716 = vec2(1.0);
  426. _2716.x = (1.0 - (_2706 * textureLodOffset(edgesTex, _2700.xyzy.xy, 0.0, ivec2(0, -1)).x)) - (_2712 * textureLodOffset(edgesTex, _2700.xyzy.zw, 0.0, ivec2(1, -1)).x);
  427. vec2 _2728 = _2716;
  428. _2728.y = (1.0 - (_2706 * textureLodOffset(edgesTex, _2700.xyzy.xy, 0.0, ivec2(0, 2)).x)) - (_2712 * textureLodOffset(edgesTex, _2700.xyzy.zw, 0.0, ivec2(1, 2)).x);
  429. vec2 _2229 = _1341.xy * clamp(_2728, vec2(0.0), vec2(1.0));
  430. _2848 = vec4(_2229.x, _2229.y, _1341.z, _1341.w);
  431. _2849 = _1268;
  432. }
  433. else
  434. {
  435. vec2 _2730 = _1268;
  436. _2730.x = 0.0;
  437. _2848 = vec4(_2840.x, _2840.y, vec4(0.0).z, vec4(0.0).w);
  438. _2849 = _2730;
  439. }
  440. _2856 = _2848;
  441. _2857 = _2849;
  442. }
  443. else
  444. {
  445. _2856 = vec4(0.0);
  446. _2857 = _1268;
  447. }
  448. vec4 _2880;
  449. if (_2857.x > 0.0)
  450. {
  451. vec2 _2876;
  452. vec2 _2877;
  453. _2876 = offset1.xy;
  454. _2877 = vec2(1.0, 0.0);
  455. vec2 _2259;
  456. vec2 _2264;
  457. float _2736;
  458. for (;;)
  459. {
  460. _2736 = _2876.y;
  461. bool _2242 = _2736 < offset2.z;
  462. bool _2248;
  463. if (_2242)
  464. {
  465. _2248 = _2877.x > 0.828100025653839111328125;
  466. }
  467. else
  468. {
  469. _2248 = _2242;
  470. }
  471. bool _2254;
  472. if (_2248)
  473. {
  474. _2254 = _2877.y == 0.0;
  475. }
  476. else
  477. {
  478. _2254 = _2248;
  479. }
  480. if (_2254)
  481. {
  482. _2259 = textureLod(edgesTex, _2876, 0.0).xy;
  483. _2264 = fma(vec2(-0.0, 2.0), _190.screenSize.xy, _2876);
  484. _2876 = _2264;
  485. _2877 = _2259;
  486. continue;
  487. }
  488. else
  489. {
  490. break;
  491. }
  492. }
  493. vec2 _2288 = (vec2(33.0, -33.0) + vec2(-1.0, 1.0)) * vec2(0.015625, 0.0625);
  494. vec2 _2294 = fma(_2288, _2877.yx, ((vec2(66.0, 33.0) * vec2(0.0, 1.0)) + vec2(0.5, -0.5)) * vec2(0.015625, 0.0625));
  495. vec2 _2744 = _2294;
  496. _2744.y = 1.0 - _2294.y;
  497. float _2275 = fma(_190.screenSize.y, -fma(-2.007874011993408203125, textureLod(searchTex, _2744, 0.0).x, 3.25), _2736);
  498. vec3 _2748 = _2845;
  499. _2748.y = _2275;
  500. vec3 _2752 = _2748;
  501. _2752.x = offset0.x;
  502. vec2 _2756 = _2820;
  503. _2756.x = _2275;
  504. vec2 _2878;
  505. vec2 _2879;
  506. _2878 = offset1.zw;
  507. _2879 = vec2(1.0, 0.0);
  508. vec2 _2332;
  509. vec2 _2337;
  510. float _2760;
  511. for (;;)
  512. {
  513. _2760 = _2878.y;
  514. bool _2315 = _2760 > offset2.w;
  515. bool _2321;
  516. if (_2315)
  517. {
  518. _2321 = _2879.x > 0.828100025653839111328125;
  519. }
  520. else
  521. {
  522. _2321 = _2315;
  523. }
  524. bool _2327;
  525. if (_2321)
  526. {
  527. _2327 = _2879.y == 0.0;
  528. }
  529. else
  530. {
  531. _2327 = _2321;
  532. }
  533. if (_2327)
  534. {
  535. _2332 = textureLod(edgesTex, _2878, 0.0).xy;
  536. _2337 = fma(vec2(0.0, -2.0), _190.screenSize.xy, _2878);
  537. _2878 = _2337;
  538. _2879 = _2332;
  539. continue;
  540. }
  541. else
  542. {
  543. break;
  544. }
  545. }
  546. vec2 _2368 = fma(_2288, _2879.yx, ((vec2(66.0, 33.0) * vec2(0.5, 1.0)) + vec2(0.5, -0.5)) * vec2(0.015625, 0.0625));
  547. vec2 _2768 = _2368;
  548. _2768.y = 1.0 - _2368.y;
  549. float _2349 = fma(-_190.screenSize.y, -fma(-2.007874011993408203125, textureLod(searchTex, _2768, 0.0).x, 3.25), _2760);
  550. vec3 _2772 = _2752;
  551. _2772.z = _2349;
  552. vec2 _2776 = _2756;
  553. _2776.y = _2349;
  554. vec2 _1397 = abs(round(fma(_190.screenSize.ww, _2776, -pixcoord.yy)));
  555. vec2 _2387 = fma(vec2(0.0062500000931322574615478515625, 0.001785714295692741870880126953125), fma(vec2(16.0), round(vec2(textureLod(edgesTex, _2752.xy, 0.0).y, textureLodOffset(edgesTex, _2772.xz, 0.0, ivec2(0, -1)).y) * 4.0), sqrt(_1397)), vec2(0.00312500004656612873077392578125, 0.0008928571478463709354400634765625));
  556. vec2 _2786 = _2387;
  557. _2786.y = 1.0 - fma(0.14285714924335479736328125, 0.0, _2387.y);
  558. vec2 _2400 = textureLod(areaTex, _2786, 0.0).xy;
  559. vec4 _1412 = vec4(_2856.x, _2856.y, _2400.x, _2400.y);
  560. vec3 _2790 = _2772;
  561. _2790.x = texcoord.x;
  562. vec2 _2407 = step(_1397, _1397.yx);
  563. vec2 _2417 = (_2407 * 0.75) / vec2(_2407.x + _2407.y);
  564. float _2796 = _2417.x;
  565. float _2802 = _2417.y;
  566. vec2 _2806 = vec2(1.0);
  567. _2806.x = (1.0 - (_2796 * textureLodOffset(edgesTex, _2790.xyxz.xy, 0.0, ivec2(1, 0)).y)) - (_2802 * textureLodOffset(edgesTex, _2790.xyxz.zw, 0.0, ivec2(1, -1)).y);
  568. vec2 _2818 = _2806;
  569. _2818.y = (1.0 - (_2796 * textureLodOffset(edgesTex, _2790.xyxz.xy, 0.0, ivec2(-2, 0)).y)) - (_2802 * textureLodOffset(edgesTex, _2790.xyxz.zw, 0.0, ivec2(-2, -1)).y);
  570. vec2 _2471 = _1412.zw * clamp(_2818, vec2(0.0), vec2(1.0));
  571. _2880 = vec4(_1412.x, _1412.y, _2471.x, _2471.y);
  572. }
  573. else
  574. {
  575. _2880 = _2856;
  576. }
  577. outColor = _2880;
  578. }
Add Comment
Please, Sign In to add comment