Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #version 150
  2. #extension GL_ARB_explicit_attrib_location : require
  3. #extension GL_ARB_shader_bit_encoding : enable
  4.  
  5. float ImmCB_0_0_0[64];
  6. uniform     vec4 _ProjectionParams;
  7. uniform     float M_PI;
  8. uniform     float HR;
  9. uniform     vec3 betaR;
  10. uniform     float HM;
  11. uniform     vec3 betaMEx;
  12. uniform     float mieG;
  13. uniform     float _Exposure;
  14. uniform     float Rg;
  15. uniform     float Rt;
  16. uniform     float RES_R;
  17. uniform     float RES_MU;
  18. uniform     float RES_MU_S;
  19. uniform     float RES_NU;
  20. uniform     vec3 SUN_DIR;
  21. uniform     float SUN_INTENSITY;
  22. uniform     float _experimentalAtmoScale;
  23. uniform     float _global_alpha;
  24. uniform     float _global_depth;
  25. uniform     vec3 _camPos;
  26. uniform     vec3 _camForward;
  27. uniform     float _openglThreshold;
  28. uniform  sampler2D _customDepthTexture;
  29. uniform  sampler2D _Inscatter;
  30. in  vec2 vs_TEXCOORD0;
  31. in  vec3 vs_TEXCOORD1;
  32. layout(location = 0) out vec4 SV_Target0;
  33. vec4 u_xlat0;
  34. vec4 u_xlat10_0;
  35. ivec4 u_xlati0;
  36. bool u_xlatb0;
  37. vec4 u_xlat1;
  38. int u_xlati1;
  39. bvec3 u_xlatb1;
  40. vec4 u_xlat2;
  41. bool u_xlatb2;
  42. vec4 u_xlat3;
  43. vec4 u_xlat10_3;
  44. ivec2 u_xlati3;
  45. bool u_xlatb3;
  46. vec4 u_xlat4;
  47. ivec2 u_xlati4;
  48. vec4 u_xlat5;
  49. vec4 u_xlat10_5;
  50. ivec3 u_xlati5;
  51. vec4 u_xlat6;
  52. vec4 u_xlat10_6;
  53. vec4 u_xlat7;
  54. vec4 u_xlat10_7;
  55. vec3 u_xlat8;
  56. vec4 u_xlat9;
  57. vec4 u_xlat10_9;
  58. vec4 u_xlat10;
  59. vec4 u_xlat10_10;
  60. vec3 u_xlat11;
  61. vec3 u_xlat12;
  62. vec3 u_xlat13;
  63. float u_xlat14;
  64. bool u_xlatb14;
  65. float u_xlat22;
  66. bool u_xlatb22;
  67. vec2 u_xlat23;
  68. bvec2 u_xlatb23;
  69. float u_xlat24;
  70. bool u_xlatb24;
  71. float u_xlat25;
  72. vec2 u_xlat26;
  73. float u_xlat33;
  74. float u_xlat34;
  75. bool u_xlatb34;
  76. float u_xlat35;
  77. bool u_xlatb35;
  78. float u_xlat36;
  79. bool u_xlatb36;
  80. void main()
  81. {
  82.     ImmCB_0_0_0[0] = 0.0;
  83.     ImmCB_0_0_0[1] = 32.0;
  84.     ImmCB_0_0_0[2] = 8.0;
  85.     ImmCB_0_0_0[3] = 40.0;
  86.     ImmCB_0_0_0[4] = 2.0;
  87.     ImmCB_0_0_0[5] = 34.0;
  88.     ImmCB_0_0_0[6] = 10.0;
  89.     ImmCB_0_0_0[7] = 42.0;
  90.     ImmCB_0_0_0[8] = 48.0;
  91.     ImmCB_0_0_0[9] = 16.0;
  92.     ImmCB_0_0_0[10] = 56.0;
  93.     ImmCB_0_0_0[11] = 24.0;
  94.     ImmCB_0_0_0[12] = 50.0;
  95.     ImmCB_0_0_0[13] = 18.0;
  96.     ImmCB_0_0_0[14] = 58.0;
  97.     ImmCB_0_0_0[15] = 26.0;
  98.     ImmCB_0_0_0[16] = 12.0;
  99.     ImmCB_0_0_0[17] = 44.0;
  100.     ImmCB_0_0_0[18] = 4.0;
  101.     ImmCB_0_0_0[19] = 36.0;
  102.     ImmCB_0_0_0[20] = 14.0;
  103.     ImmCB_0_0_0[21] = 46.0;
  104.     ImmCB_0_0_0[22] = 6.0;
  105.     ImmCB_0_0_0[23] = 38.0;
  106.     ImmCB_0_0_0[24] = 60.0;
  107.     ImmCB_0_0_0[25] = 28.0;
  108.     ImmCB_0_0_0[26] = 52.0;
  109.     ImmCB_0_0_0[27] = 20.0;
  110.     ImmCB_0_0_0[28] = 62.0;
  111.     ImmCB_0_0_0[29] = 30.0;
  112.     ImmCB_0_0_0[30] = 54.0;
  113.     ImmCB_0_0_0[31] = 22.0;
  114.     ImmCB_0_0_0[32] = 3.0;
  115.     ImmCB_0_0_0[33] = 35.0;
  116.     ImmCB_0_0_0[34] = 11.0;
  117.     ImmCB_0_0_0[35] = 43.0;
  118.     ImmCB_0_0_0[36] = 1.0;
  119.     ImmCB_0_0_0[37] = 33.0;
  120.     ImmCB_0_0_0[38] = 9.0;
  121.     ImmCB_0_0_0[39] = 41.0;
  122.     ImmCB_0_0_0[40] = 51.0;
  123.     ImmCB_0_0_0[41] = 19.0;
  124.     ImmCB_0_0_0[42] = 59.0;
  125.     ImmCB_0_0_0[43] = 27.0;
  126.     ImmCB_0_0_0[44] = 49.0;
  127.     ImmCB_0_0_0[45] = 17.0;
  128.     ImmCB_0_0_0[46] = 57.0;
  129.     ImmCB_0_0_0[47] = 25.0;
  130.     ImmCB_0_0_0[48] = 15.0;
  131.     ImmCB_0_0_0[49] = 47.0;
  132.     ImmCB_0_0_0[50] = 7.0;
  133.     ImmCB_0_0_0[51] = 39.0;
  134.     ImmCB_0_0_0[52] = 13.0;
  135.     ImmCB_0_0_0[53] = 45.0;
  136.     ImmCB_0_0_0[54] = 5.0;
  137.     ImmCB_0_0_0[55] = 37.0;
  138.     ImmCB_0_0_0[56] = 63.0;
  139.     ImmCB_0_0_0[57] = 31.0;
  140.     ImmCB_0_0_0[58] = 55.0;
  141.     ImmCB_0_0_0[59] = 23.0;
  142.     ImmCB_0_0_0[60] = 61.0;
  143.     ImmCB_0_0_0[61] = 29.0;
  144.     ImmCB_0_0_0[62] = 53.0;
  145.     ImmCB_0_0_0[63] = 21.0;
  146.     u_xlat10_0 = texture(_customDepthTexture, vs_TEXCOORD0.xy);
  147.     u_xlat11.x = dot(vs_TEXCOORD1.xyz, vs_TEXCOORD1.xyz);
  148.     u_xlat11.x = inversesqrt(u_xlat11.x);
  149.     u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD1.xyz;
  150.     u_xlat1.x = dot(_camForward.xyz, _camForward.xyz);
  151.     u_xlat1.x = inversesqrt(u_xlat1.x);
  152.     u_xlat1.xyz = u_xlat1.xxx * _camForward.xyz;
  153.     u_xlat1.x = dot(u_xlat11.xyz, u_xlat1.xyz);
  154.     u_xlat12.x = u_xlat10_0.x * 750000.0;
  155.     u_xlat23.x = dot(u_xlat11.xyz, u_xlat11.xyz);
  156.     u_xlat34 = dot(u_xlat11.xyz, _camPos.xyz);
  157.     u_xlat2.x = u_xlat34 + u_xlat34;
  158.     u_xlat13.x = dot(_camPos.xyz, _camPos.xyz);
  159.     u_xlat24 = Rg * Rg;
  160.     u_xlat35 = (-Rg) * Rg + u_xlat13.x;
  161.     u_xlat35 = u_xlat23.x * u_xlat35;
  162.     u_xlat35 = u_xlat35 * 4.0;
  163.     u_xlat2.x = u_xlat2.x * u_xlat2.x + (-u_xlat35);
  164.     u_xlatb35 = u_xlat2.x<0.0;
  165.     u_xlat2.x = sqrt(u_xlat2.x);
  166.     u_xlat12.z = (-u_xlat34) * 2.0 + (-u_xlat2.x);
  167.     u_xlat1.z = u_xlat23.x + u_xlat23.x;
  168.     u_xlat12.xy = u_xlat12.xz / u_xlat1.xz;
  169.     u_xlat23.x = (u_xlatb35) ? -1.0 : u_xlat12.y;
  170.     u_xlatb34 = 0.0<u_xlat23.x;
  171.     u_xlatb2 = u_xlat23.x<u_xlat12.x;
  172.     u_xlatb2 = u_xlatb34 && u_xlatb2;
  173.     u_xlat12.x = (u_xlatb2) ? u_xlat23.x : u_xlat12.x;
  174.     u_xlat1.x = u_xlat1.x * u_xlat12.x;
  175.     u_xlatb23.x = u_xlat1.x>=_ProjectionParams.y;
  176.     u_xlatb1.x = _ProjectionParams.z>=u_xlat1.x;
  177.     u_xlatb1.x = u_xlatb1.x && u_xlatb23.x;
  178.     u_xlatb0 = u_xlat10_0.x!=1.0;
  179.     u_xlatb0 = u_xlatb0 || u_xlatb34;
  180.     u_xlati0.x = int(uint(u_xlatb0) * 0xffffffffu & uint(u_xlatb1.x) * 0xffffffffu);
  181.     u_xlat11.xyz = u_xlat12.xxx * u_xlat11.xyz + _camPos.xyz;
  182.     u_xlat1.x = dot(u_xlat11.xyz, u_xlat11.xyz);
  183.     u_xlat23.x = sqrt(u_xlat1.x);
  184.     u_xlat34 = Rg + _openglThreshold;
  185.     u_xlatb23.x = u_xlat23.x<u_xlat34;
  186.     u_xlat1.x = inversesqrt(u_xlat1.x);
  187.     u_xlat3.xyz = u_xlat11.xyz * u_xlat1.xxx;
  188.     u_xlat3.xyz = vec3(u_xlat34) * u_xlat3.xyz;
  189.     u_xlat3.xyz = (u_xlatb23.x) ? u_xlat3.xyz : u_xlat11.xyz;
  190.     u_xlat11.xyz = u_xlat3.xyz + (-_camPos.xyz);
  191.     u_xlat1.x = dot(u_xlat11.xyz, u_xlat11.xyz);
  192.     u_xlat4.x = sqrt(u_xlat1.x);
  193.     u_xlat11.xyz = u_xlat11.xyz / u_xlat4.xxx;
  194.     u_xlat1.x = (-Rg) + Rt;
  195.     u_xlat5.y = u_xlat1.x * _experimentalAtmoScale + Rg;
  196.     u_xlat1.x = dot(u_xlat11.xyz, u_xlat11.xyz);
  197.     u_xlat1.x = inversesqrt(u_xlat1.x);
  198.     u_xlat11.xyz = u_xlat11.xyz * u_xlat1.xxx;
  199.     u_xlat6.z = sqrt(u_xlat13.x);
  200.     u_xlat1.x = Rg * 0.899999976;
  201.     u_xlatb1.x = u_xlat6.z<u_xlat1.x;
  202.     u_xlat7.y = Rg + _camPos.y;
  203.     u_xlat8.y = u_xlat3.y + Rg;
  204.     u_xlat7.xz = _camPos.xz;
  205.     u_xlat23.x = dot(u_xlat7.xyz, u_xlat7.xyz);
  206.     u_xlat8.z = sqrt(u_xlat23.x);
  207.     u_xlat8.x = u_xlat7.y;
  208.     u_xlat6.x = _camPos.y;
  209.     u_xlat6.y = u_xlat3.y;
  210.     u_xlat1.xzw = (u_xlatb1.x) ? u_xlat8.xyz : u_xlat6.xyz;
  211.     u_xlat6.xz = _camPos.xz;
  212.     u_xlat6.y = u_xlat1.x;
  213.     u_xlat1.x = dot(u_xlat6.xyz, u_xlat11.xyz);
  214.     u_xlat4.z = u_xlat1.x / u_xlat1.w;
  215.     u_xlat2.x = u_xlat1.w * u_xlat1.w;
  216.     u_xlat2.x = u_xlat1.x * u_xlat1.x + (-u_xlat2.x);
  217.     u_xlat2.x = u_xlat5.y * u_xlat5.y + u_xlat2.x;
  218.     u_xlat13.x = sqrt(u_xlat2.x);
  219.     u_xlat13.x = (-u_xlat1.x) + (-u_xlat13.x);
  220.     u_xlat13.x = max(u_xlat13.x, 0.0);
  221.     u_xlatb35 = 0.0<u_xlat13.x;
  222.     u_xlatb14 = u_xlat13.x<u_xlat4.x;
  223.     u_xlatb35 = u_xlatb35 && u_xlatb14;
  224.     u_xlat1.x = u_xlat1.x + u_xlat13.x;
  225.     u_xlat5.z = u_xlat1.x / u_xlat5.y;
  226.     u_xlat5.x = (-u_xlat13.x) + u_xlat4.x;
  227.     u_xlat4.y = u_xlat1.w;
  228.     u_xlat7.xyz = (bool(u_xlatb35)) ? u_xlat5.xyz : u_xlat4.xyz;
  229.     u_xlatb1.x = u_xlat5.y>=u_xlat7.y;
  230.     u_xlatb34 = u_xlat2.x>=0.0;
  231.     u_xlatb1.x = u_xlatb34 && u_xlatb1.x;
  232.     if(u_xlatb1.x){
  233.         u_xlat1.x = min(u_xlat4.x, 1.0);
  234.         u_xlat3.w = u_xlat1.z;
  235.         u_xlat3.xyz = (-u_xlat11.xyz) * u_xlat1.xxx + u_xlat3.xwz;
  236.         u_xlat1.xzw = u_xlat13.xxx * u_xlat11.xyz + u_xlat6.xyz;
  237.         u_xlat1.xzw = (bool(u_xlatb35)) ? u_xlat1.xzw : u_xlat6.xyz;
  238.         u_xlat2.x = dot(u_xlat11.xyz, SUN_DIR.xyz);
  239.         u_xlat1.x = dot(u_xlat1.xzw, SUN_DIR.xyz);
  240.         u_xlat1.z = Rg + 1600.0;
  241.         u_xlatb34 = u_xlat7.y<u_xlat1.z;
  242.         u_xlat1.xz = u_xlat1.xz / u_xlat7.yy;
  243.         u_xlat4.xyz = u_xlat1.zzz * u_xlat3.xyz;
  244.         u_xlat4.w = Rg + 1600.0;
  245.         u_xlat3.w = u_xlat7.y;
  246.         u_xlat3 = (bool(u_xlatb34)) ? u_xlat4 : u_xlat3;
  247.         u_xlat23.x = dot(u_xlat3.xyz, u_xlat3.xyz);
  248.         u_xlat34 = sqrt(u_xlat23.x);
  249.         u_xlat11.x = dot(u_xlat3.xyz, u_xlat11.xyz);
  250.         u_xlat22 = dot(u_xlat3.xyz, SUN_DIR.xyz);
  251.         u_xlat22 = u_xlat22 / u_xlat34;
  252.         u_xlat33 = HR * _experimentalAtmoScale;
  253.         u_xlat34 = 0.5 / u_xlat33;
  254.         u_xlat34 = u_xlat3.w * u_xlat34;
  255.         u_xlat34 = sqrt(u_xlat34);
  256.         u_xlat13.x = u_xlat7.x / u_xlat3.w;
  257.         u_xlat7.w = u_xlat13.x + u_xlat7.z;
  258.         u_xlat13.xz = vec2(u_xlat34) * u_xlat7.zw;
  259.         u_xlati3.xy = ivec2(uvec2(lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat13.xzxx).xy) * 0xFFFFFFFFu);
  260.         u_xlati4.xy = ivec2(uvec2(lessThan(u_xlat13.xzxx, vec4(0.0, 0.0, 0.0, 0.0)).xy) * 0xFFFFFFFFu);
  261.         u_xlati3.xy = (-u_xlati3.xy) + u_xlati4.xy;
  262.         u_xlat3.xy = vec2(u_xlati3.xy);
  263.         u_xlat4.xyz = u_xlat13.xxz * u_xlat13.xxz;
  264.         u_xlatb34 = u_xlat3.x<u_xlat3.y;
  265.         u_xlat25 = u_xlat4.x * 1.44269502;
  266.         u_xlat25 = exp2(u_xlat25);
  267.         u_xlat34 = u_xlatb34 ? u_xlat25 : float(0.0);
  268.         u_xlat4.xy = u_xlat4.yz * vec2(1.51999998, 1.51999998) + vec2(4.0, 4.0);
  269.         u_xlat4.xy = sqrt(u_xlat4.xy);
  270.         u_xlat13.xz = abs(u_xlat13.xz) * vec2(2.31929994, 2.31929994) + u_xlat4.xy;
  271.         u_xlat13.xz = u_xlat3.xy / u_xlat13.xz;
  272.         u_xlat3.x = (-u_xlat7.x) / u_xlat33;
  273.         u_xlat14 = u_xlat3.w + u_xlat3.w;
  274.         u_xlat14 = u_xlat7.x / u_xlat14;
  275.         u_xlat14 = u_xlat7.z + u_xlat14;
  276.         u_xlat3.x = u_xlat14 * u_xlat3.x;
  277.         u_xlat3.x = u_xlat3.x * 1.44269502;
  278.         u_xlat4.y = exp2(u_xlat3.x);
  279.         u_xlat4.x = float(1.0);
  280.         u_xlat26.x = float(1.0);
  281.         u_xlat13.xz = u_xlat13.xz * u_xlat4.xy;
  282.         u_xlat3.x = u_xlat33 * u_xlat3.w;
  283.         u_xlat3.x = u_xlat3.x * 6.28310013;
  284.         u_xlat3.x = sqrt(u_xlat3.x);
  285.         u_xlat25 = (-u_xlat3.w) + Rg;
  286.         u_xlat33 = u_xlat25 / u_xlat33;
  287.         u_xlat33 = u_xlat33 * 1.44269502;
  288.         u_xlat33 = exp2(u_xlat33);
  289.         u_xlat33 = u_xlat33 * u_xlat3.x;
  290.         u_xlat13.x = dot(u_xlat13.xz, vec2(1.0, -1.0));
  291.         u_xlat34 = u_xlat34 + u_xlat13.x;
  292.         u_xlat33 = u_xlat33 * u_xlat34;
  293.         u_xlat34 = HM * _experimentalAtmoScale;
  294.         u_xlat13.x = 0.5 / u_xlat34;
  295.         u_xlat13.x = u_xlat3.w * u_xlat13.x;
  296.         u_xlat13.x = sqrt(u_xlat13.x);
  297.         u_xlat13.xz = u_xlat7.zw * u_xlat13.xx;
  298.         u_xlati4.xy = ivec2(uvec2(lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat13.xzxx).xy) * 0xFFFFFFFFu);
  299.         u_xlati5.xz = ivec2(uvec2(lessThan(u_xlat13.xxzx, vec4(0.0, 0.0, 0.0, 0.0)).xz) * 0xFFFFFFFFu);
  300.         u_xlati4.xy = (-u_xlati4.xy) + u_xlati5.xz;
  301.         u_xlat4.xy = vec2(u_xlati4.xy);
  302.         u_xlat5.xzw = u_xlat13.xxz * u_xlat13.xxz;
  303.         u_xlatb3 = u_xlat4.x<u_xlat4.y;
  304.         u_xlat5.x = u_xlat5.x * 1.44269502;
  305.         u_xlat5.x = exp2(u_xlat5.x);
  306.         u_xlat3.x = u_xlatb3 ? u_xlat5.x : float(0.0);
  307.         u_xlat5.xz = u_xlat5.zw * vec2(1.51999998, 1.51999998) + vec2(4.0, 4.0);
  308.         u_xlat5.xz = sqrt(u_xlat5.xz);
  309.         u_xlat13.xz = abs(u_xlat13.xz) * vec2(2.31929994, 2.31929994) + u_xlat5.xz;
  310.         u_xlat13.xz = u_xlat4.xy / u_xlat13.xz;
  311.         u_xlat4.x = (-u_xlat7.x) / u_xlat34;
  312.         u_xlat14 = u_xlat14 * u_xlat4.x;
  313.         u_xlat14 = u_xlat14 * 1.44269502;
  314.         u_xlat26.y = exp2(u_xlat14);
  315.         u_xlat13.xz = u_xlat13.xz * u_xlat26.xy;
  316.         u_xlat14 = u_xlat34 * u_xlat3.w;
  317.         u_xlat14 = u_xlat14 * 6.28310013;
  318.         u_xlat14 = sqrt(u_xlat14);
  319.         u_xlat34 = u_xlat25 / u_xlat34;
  320.         u_xlat34 = u_xlat34 * 1.44269502;
  321.         u_xlat34 = exp2(u_xlat34);
  322.         u_xlat34 = u_xlat34 * u_xlat14;
  323.         u_xlat13.x = dot(u_xlat13.xz, vec2(1.0, -1.0));
  324.         u_xlat13.x = u_xlat13.x + u_xlat3.x;
  325.         u_xlat34 = u_xlat34 * u_xlat13.x;
  326.         u_xlat4 = vec4(u_xlat34) * betaMEx.xyzx;
  327.         u_xlat4 = (-betaR.xyzx) * vec4(u_xlat33) + (-u_xlat4);
  328.         u_xlat4 = u_xlat4 * vec4(1.44269502, 1.44269502, 1.44269502, 1.44269502);
  329.         u_xlat4 = exp2(u_xlat4);
  330.         u_xlat4 = min(u_xlat4, vec4(1.0, 1.0, 1.0, 1.0));
  331.         u_xlat33 = u_xlat5.y * u_xlat5.y + (-u_xlat24);
  332.         u_xlat5.z = sqrt(u_xlat33);
  333.         u_xlat33 = u_xlat3.w * u_xlat3.w;
  334.         u_xlat34 = u_xlat3.w * u_xlat3.w + (-u_xlat24);
  335.         u_xlat34 = sqrt(u_xlat34);
  336.         u_xlat13.x = u_xlat7.z * u_xlat3.w;
  337.         u_xlat33 = u_xlat13.x * u_xlat13.x + (-u_xlat33);
  338.         u_xlat33 = Rg * Rg + u_xlat33;
  339.         u_xlatb24 = u_xlat13.x<0.0;
  340.         u_xlatb35 = 0.0<u_xlat33;
  341.         u_xlatb24 = u_xlatb35 && u_xlatb24;
  342.         u_xlat3.xyz = vec3(0.5, 0.5, 0.5) / vec3(RES_MU, RES_R, RES_MU_S);
  343.         u_xlat6.w = (-u_xlat3.x) + 0.5;
  344.         u_xlat5.y = u_xlat5.z * u_xlat5.z;
  345.         u_xlat5.w = u_xlat3.x + 0.5;
  346.         u_xlat6.x = float(1.0);
  347.         u_xlat6.y = float(0.0);
  348.         u_xlat6.z = float(0.0);
  349.         u_xlat5.x = -1.0;
  350.         u_xlat7 = (bool(u_xlatb24)) ? u_xlat6.xzzw : u_xlat5;
  351.         u_xlat24 = u_xlat34 / u_xlat5.z;
  352.         u_xlat8.xyz = vec3(1.0, 1.0, 1.0) / vec3(RES_R, RES_MU, RES_MU_S);
  353.         u_xlat8.xyz = (-u_xlat8.xyz) + vec3(1.0, 0.5, 1.0);
  354.         u_xlat24 = u_xlat24 * u_xlat8.x + u_xlat3.y;
  355.         u_xlat33 = u_xlat33 + u_xlat7.y;
  356.         u_xlat33 = sqrt(u_xlat33);
  357.         u_xlat33 = u_xlat13.x * u_xlat7.x + u_xlat33;
  358.         u_xlat34 = u_xlat34 + u_xlat7.z;
  359.         u_xlat33 = u_xlat33 / u_xlat34;
  360.         u_xlat33 = u_xlat33 * u_xlat8.y + u_xlat7.w;
  361.         u_xlat34 = max(u_xlat1.x, -0.197500005);
  362.         u_xlat34 = u_xlat34 * 5.34962368;
  363.         u_xlat13.x = min(abs(u_xlat34), 1.0);
  364.         u_xlat35 = max(abs(u_xlat34), 1.0);
  365.         u_xlat35 = float(1.0) / u_xlat35;
  366.         u_xlat13.x = u_xlat35 * u_xlat13.x;
  367.         u_xlat35 = u_xlat13.x * u_xlat13.x;
  368.         u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
  369.         u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
  370.         u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
  371.         u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
  372.         u_xlat3.x = u_xlat35 * u_xlat13.x;
  373.         u_xlatb36 = 1.0<abs(u_xlat34);
  374.         u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
  375.         u_xlat3.x = u_xlatb36 ? u_xlat3.x : float(0.0);
  376.         u_xlat13.x = u_xlat13.x * u_xlat35 + u_xlat3.x;
  377.         u_xlat34 = min(u_xlat34, 1.0);
  378.         u_xlatb34 = u_xlat34<(-u_xlat34);
  379.         u_xlat34 = (u_xlatb34) ? (-u_xlat13.x) : u_xlat13.x;
  380.         u_xlat34 = u_xlat34 * 0.909090877 + 0.74000001;
  381.         u_xlat34 = u_xlat34 * 0.5;
  382.         u_xlat34 = u_xlat34 * u_xlat8.z + u_xlat3.z;
  383.         u_xlat13.x = u_xlat2.x + 1.0;
  384.         u_xlat13.x = u_xlat13.x * 0.5;
  385.         u_xlat35 = RES_NU + -1.0;
  386.         u_xlat3.x = u_xlat35 * u_xlat13.x;
  387.         u_xlat3.x = floor(u_xlat3.x);
  388.         u_xlat13.x = u_xlat13.x * u_xlat35 + (-u_xlat3.x);
  389.         u_xlat35 = u_xlat24 * RES_R;
  390.         u_xlat24 = u_xlat24 * RES_R + -1.0;
  391.         u_xlat24 = floor(u_xlat24);
  392.         u_xlat24 = u_xlat24 / RES_R;
  393.         u_xlat36 = floor(u_xlat35);
  394.         u_xlat36 = u_xlat36 / RES_R;
  395.         u_xlat35 = fract(u_xlat35);
  396.         u_xlat34 = u_xlat34 + u_xlat3.x;
  397.         u_xlat7.y = u_xlat34 / RES_NU;
  398.         u_xlat33 = u_xlat33 / RES_R;
  399.         u_xlat7.z = u_xlat24 + u_xlat33;
  400.         u_xlat10_9 = textureLod(_Inscatter, u_xlat7.yz, 0.0);
  401.         u_xlat24 = (-u_xlat13.x) + 1.0;
  402.         u_xlat34 = u_xlat34 + 1.0;
  403.         u_xlat7.x = u_xlat34 / RES_NU;
  404.         u_xlat10_10 = textureLod(_Inscatter, u_xlat7.xz, 0.0);
  405.         u_xlat10 = u_xlat13.xxxx * u_xlat10_10;
  406.         u_xlat9 = u_xlat10_9 * vec4(u_xlat24) + u_xlat10;
  407.         u_xlat7.w = u_xlat36 + u_xlat33;
  408.         u_xlat10_10 = textureLod(_Inscatter, u_xlat7.yw, 0.0);
  409.         u_xlat10_7 = textureLod(_Inscatter, u_xlat7.xw, 0.0);
  410.         u_xlat7 = u_xlat13.xxxx * u_xlat10_7;
  411.         u_xlat7 = u_xlat10_10 * vec4(u_xlat24) + u_xlat7;
  412.         u_xlat33 = (-u_xlat35) + 1.0;
  413.         u_xlat7 = vec4(u_xlat35) * u_xlat7;
  414.         u_xlat7 = u_xlat9 * vec4(u_xlat33) + u_xlat7;
  415.         u_xlat33 = (-Rg) * Rg + u_xlat23.x;
  416.         u_xlat33 = sqrt(u_xlat33);
  417.         u_xlat23.x = u_xlat11.x * u_xlat11.x + (-u_xlat23.x);
  418.         u_xlat23.x = Rg * Rg + u_xlat23.x;
  419.         u_xlatb34 = u_xlat11.x<0.0;
  420.         u_xlatb35 = 0.0<u_xlat23.x;
  421.         u_xlatb34 = u_xlatb34 && u_xlatb35;
  422.         u_xlat6 = (bool(u_xlatb34)) ? u_xlat6 : u_xlat5;
  423.         u_xlat34 = u_xlat33 / u_xlat5.z;
  424.         u_xlat34 = u_xlat34 * u_xlat8.x + u_xlat3.y;
  425.         u_xlat23.x = u_xlat23.x + u_xlat6.y;
  426.         u_xlat23.x = sqrt(u_xlat23.x);
  427.         u_xlat11.x = u_xlat11.x * u_xlat6.x + u_xlat23.x;
  428.         u_xlat33 = u_xlat33 + u_xlat6.z;
  429.         u_xlat11.x = u_xlat11.x / u_xlat33;
  430.         u_xlat11.x = u_xlat11.x * u_xlat8.y + u_xlat6.w;
  431.         u_xlat22 = max(u_xlat22, -0.197500005);
  432.         u_xlat22 = u_xlat22 * 5.34962368;
  433.         u_xlat33 = min(abs(u_xlat22), 1.0);
  434.         u_xlat23.x = max(abs(u_xlat22), 1.0);
  435.         u_xlat23.x = float(1.0) / u_xlat23.x;
  436.         u_xlat33 = u_xlat33 * u_xlat23.x;
  437.         u_xlat23.x = u_xlat33 * u_xlat33;
  438.         u_xlat35 = u_xlat23.x * 0.0208350997 + -0.0851330012;
  439.         u_xlat35 = u_xlat23.x * u_xlat35 + 0.180141002;
  440.         u_xlat35 = u_xlat23.x * u_xlat35 + -0.330299497;
  441.         u_xlat23.x = u_xlat23.x * u_xlat35 + 0.999866009;
  442.         u_xlat35 = u_xlat33 * u_xlat23.x;
  443.         u_xlatb14 = 1.0<abs(u_xlat22);
  444.         u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
  445.         u_xlat35 = u_xlatb14 ? u_xlat35 : float(0.0);
  446.         u_xlat33 = u_xlat33 * u_xlat23.x + u_xlat35;
  447.         u_xlat22 = min(u_xlat22, 1.0);
  448.         u_xlatb22 = u_xlat22<(-u_xlat22);
  449.         u_xlat22 = (u_xlatb22) ? (-u_xlat33) : u_xlat33;
  450.         u_xlat22 = u_xlat22 * 0.909090877 + 0.74000001;
  451.         u_xlat22 = u_xlat8.z * u_xlat22;
  452.         u_xlat22 = u_xlat22 * 0.5 + u_xlat3.z;
  453.         u_xlat33 = u_xlat34 * RES_R;
  454.         u_xlat23.x = u_xlat34 * RES_R + -1.0;
  455.         u_xlat23.x = floor(u_xlat23.x);
  456.         u_xlat23.y = floor(u_xlat33);
  457.         u_xlat23.xy = u_xlat23.xy / vec2(RES_R);
  458.         u_xlat33 = fract(u_xlat33);
  459.         u_xlat22 = u_xlat22 + u_xlat3.x;
  460.         u_xlat3.y = u_xlat22 / RES_NU;
  461.         u_xlat11.x = u_xlat11.x / RES_R;
  462.         u_xlat3.zw = u_xlat23.xy + u_xlat11.xx;
  463.         u_xlat10_5 = textureLod(_Inscatter, u_xlat3.yz, 0.0);
  464.         u_xlat22 = u_xlat22 + 1.0;
  465.         u_xlat3.x = u_xlat22 / RES_NU;
  466.         u_xlat10_6 = textureLod(_Inscatter, u_xlat3.xz, 0.0);
  467.         u_xlat6 = u_xlat13.xxxx * u_xlat10_6;
  468.         u_xlat5 = u_xlat10_5 * vec4(u_xlat24) + u_xlat6;
  469.         u_xlat10_6 = textureLod(_Inscatter, u_xlat3.yw, 0.0);
  470.         u_xlat10_3 = textureLod(_Inscatter, u_xlat3.xw, 0.0);
  471.         u_xlat3 = u_xlat13.xxxx * u_xlat10_3;
  472.         u_xlat3 = u_xlat10_6 * vec4(u_xlat24) + u_xlat3;
  473.         u_xlat11.x = (-u_xlat33) + 1.0;
  474.         u_xlat3 = vec4(u_xlat33) * u_xlat3;
  475.         u_xlat3 = u_xlat5 * u_xlat11.xxxx + u_xlat3;
  476.         u_xlat3 = (-u_xlat3) * u_xlat4 + u_xlat7;
  477.         u_xlat4 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
  478.         u_xlat11.x = u_xlat1.x * 50.0;
  479.         u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
  480.         u_xlat22 = u_xlat11.x * -2.0 + 3.0;
  481.         u_xlat11.x = u_xlat11.x * u_xlat11.x;
  482.         u_xlat11.x = u_xlat11.x * u_xlat22;
  483.         u_xlat11.x = u_xlat11.x * u_xlat4.w;
  484.         u_xlat11.xyz = u_xlat11.xxx * u_xlat4.xyz;
  485.         u_xlat1.x = max(u_xlat3.x, 9.99999975e-005);
  486.         u_xlat11.xyz = u_xlat11.xyz / u_xlat1.xxx;
  487.         u_xlat1.xzw = betaR.xxx / betaR.xyz;
  488.         u_xlat11.xyz = u_xlat11.xyz * u_xlat1.xzw;
  489.         u_xlat1.xz = vec2(M_PI) * vec2(16.0, 4.0);
  490.         u_xlat1.xz = vec2(3.0, 1.5) / u_xlat1.xz;
  491.         u_xlat34 = u_xlat2.x * u_xlat2.x + 1.0;
  492.         u_xlat13.x = (-mieG) * mieG + 1.0;
  493.         u_xlat23.x = u_xlat1.z * u_xlat13.x;
  494.         u_xlat13.xy = vec2(vec2(mieG, mieG)) * vec2(vec2(mieG, mieG)) + vec2(1.0, 2.0);
  495.         u_xlat2.x = dot(u_xlat2.xx, vec2(vec2(mieG, mieG)));
  496.         u_xlat2.x = (-u_xlat2.x) + u_xlat13.x;
  497.         u_xlat2.x = log2(u_xlat2.x);
  498.         u_xlat2.x = u_xlat2.x * -1.5;
  499.         u_xlat2.x = exp2(u_xlat2.x);
  500.         u_xlat1.z = u_xlat23.x * u_xlat2.x;
  501.         u_xlat1.xz = vec2(u_xlat34) * u_xlat1.xz;
  502.         u_xlat23.x = u_xlat1.z / u_xlat13.y;
  503.         u_xlat11.xyz = u_xlat11.xyz * u_xlat23.xxx;
  504.         u_xlat11.xyz = u_xlat4.xyz * u_xlat1.xxx + u_xlat11.xyz;
  505.     } else {
  506.         u_xlat11.x = float(0.0);
  507.         u_xlat11.y = float(0.0);
  508.         u_xlat11.z = float(0.0);
  509.     //ENDIF
  510.     }
  511.     u_xlat11.xyz = u_xlat11.xyz * vec3(vec3(SUN_INTENSITY, SUN_INTENSITY, SUN_INTENSITY));
  512.     u_xlatb1.x = _global_depth>=u_xlat12.x;
  513.     u_xlat12.x = u_xlat12.x * 4.0;
  514.     u_xlat12.x = u_xlat12.x / _global_depth;
  515.     u_xlat12.x = u_xlat12.x * -1.44269502;
  516.     u_xlat12.x = exp2(u_xlat12.x);
  517.     u_xlat12.x = (-u_xlat12.x) + 1.0;
  518.     u_xlat1.x = (u_xlatb1.x) ? u_xlat12.x : 1.0;
  519.     u_xlat11.xyz = u_xlat11.xyz * u_xlat1.xxx;
  520.     u_xlat11.xyz = u_xlat11.xyz * vec3(_Exposure);
  521.     u_xlatb1.xyz = lessThan(u_xlat11.xyzx, vec4(1.41299999, 1.41299999, 1.41299999, 0.0)).xyz;
  522.     u_xlat2 = u_xlat11.xxyy * vec4(0.383170009, -1.44269502, 0.383170009, -1.44269502);
  523.     u_xlat11.xy = log2(u_xlat2.xz);
  524.     u_xlat11.xy = u_xlat11.xy * vec2(0.454545468, 0.454545468);
  525.     u_xlat11.xy = exp2(u_xlat11.xy);
  526.     u_xlat2.xy = exp2(u_xlat2.yw);
  527.     u_xlat2.xy = (-u_xlat2.xy) + vec2(1.0, 1.0);
  528.     u_xlat2.x = (u_xlatb1.x) ? u_xlat11.x : u_xlat2.x;
  529.     u_xlat2.y = (u_xlatb1.y) ? u_xlat11.y : u_xlat2.y;
  530.     u_xlat11.xy = u_xlat11.zz * vec2(0.383170009, -1.44269502);
  531.     u_xlat11.x = log2(u_xlat11.x);
  532.     u_xlat11.x = u_xlat11.x * 0.454545468;
  533.     u_xlat11.x = exp2(u_xlat11.x);
  534.     u_xlat22 = exp2(u_xlat11.y);
  535.     u_xlat22 = (-u_xlat22) + 1.0;
  536.     u_xlat2.z = (u_xlatb1.z) ? u_xlat11.x : u_xlat22;
  537.     u_xlat11.xyz = u_xlat2.xyz * vec3(vec3(_global_alpha, _global_alpha, _global_alpha));
  538.     u_xlat1.xy = trunc(gl_FragCoord.xy);
  539.     u_xlat1.xy = u_xlat1.xy * vec2(0.125, 0.125);
  540.     u_xlatb23.xy = greaterThanEqual(u_xlat1.xyxy, (-u_xlat1.xyxy)).xy;
  541.     u_xlat1.xy = fract(abs(u_xlat1.xy));
  542.     u_xlat1.x = (u_xlatb23.x) ? u_xlat1.x : (-u_xlat1.x);
  543.     u_xlat1.y = (u_xlatb23.y) ? u_xlat1.y : (-u_xlat1.y);
  544.     u_xlat1.xy = u_xlat1.xy * vec2(8.0, 64.0);
  545.     u_xlat1.x = u_xlat1.y + u_xlat1.x;
  546.     u_xlati1 = int(u_xlat1.x);
  547.     u_xlat1.x = 0.015625 * ImmCB_0_0_0[u_xlati1];
  548.     u_xlat11.xyz = u_xlat11.xyz * vec3(255.0, 255.0, 255.0);
  549.     u_xlat12.xyz = floor(u_xlat11.xyz);
  550.     u_xlat11.xyz = fract(u_xlat11.xyz);
  551.     u_xlati0.yzw = ivec3(uvec3(greaterThanEqual(u_xlat11.xxyz, u_xlat1.xxxx).yzw) * 0xFFFFFFFFu);
  552.     u_xlat0 = uintBitsToFloat(uvec4(u_xlati0) & uvec4(1065353216u, 1065353216u, 1065353216u, 1065353216u));
  553.     u_xlat11.xyz = u_xlat0.yzw + u_xlat12.xyz;
  554.     u_xlat11.xyz = u_xlat11.xyz * vec3(0.00392156886, 0.00392156886, 0.00392156886);
  555.     SV_Target0.xyz = u_xlat0.xxx * u_xlat11.xyz;
  556.     SV_Target0.w = 1.0;
  557.     return;
  558. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement