Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #version 150
- #extension GL_ARB_explicit_attrib_location : require
- #extension GL_ARB_shader_bit_encoding : enable
- float ImmCB_0_0_0[64];
- uniform vec4 _ProjectionParams;
- uniform float M_PI;
- uniform float HR;
- uniform vec3 betaR;
- uniform float HM;
- uniform vec3 betaMEx;
- uniform float mieG;
- uniform float _Exposure;
- uniform float Rg;
- uniform float Rt;
- uniform float RES_R;
- uniform float RES_MU;
- uniform float RES_MU_S;
- uniform float RES_NU;
- uniform vec3 SUN_DIR;
- uniform float SUN_INTENSITY;
- uniform float _experimentalAtmoScale;
- uniform float _global_alpha;
- uniform float _global_depth;
- uniform vec3 _camPos;
- uniform vec3 _camForward;
- uniform float _openglThreshold;
- uniform sampler2D _customDepthTexture;
- uniform sampler2D _Inscatter;
- in vec2 vs_TEXCOORD0;
- in vec3 vs_TEXCOORD1;
- layout(location = 0) out vec4 SV_Target0;
- vec4 u_xlat0;
- vec4 u_xlat10_0;
- ivec4 u_xlati0;
- bool u_xlatb0;
- vec4 u_xlat1;
- int u_xlati1;
- bvec3 u_xlatb1;
- vec4 u_xlat2;
- bool u_xlatb2;
- vec4 u_xlat3;
- vec4 u_xlat10_3;
- ivec2 u_xlati3;
- bool u_xlatb3;
- vec4 u_xlat4;
- ivec2 u_xlati4;
- vec4 u_xlat5;
- vec4 u_xlat10_5;
- ivec3 u_xlati5;
- vec4 u_xlat6;
- vec4 u_xlat10_6;
- vec4 u_xlat7;
- vec4 u_xlat10_7;
- vec3 u_xlat8;
- vec4 u_xlat9;
- vec4 u_xlat10_9;
- vec4 u_xlat10;
- vec4 u_xlat10_10;
- vec3 u_xlat11;
- vec3 u_xlat12;
- vec3 u_xlat13;
- float u_xlat14;
- bool u_xlatb14;
- float u_xlat22;
- bool u_xlatb22;
- vec2 u_xlat23;
- bvec2 u_xlatb23;
- float u_xlat24;
- bool u_xlatb24;
- float u_xlat25;
- vec2 u_xlat26;
- float u_xlat33;
- float u_xlat34;
- bool u_xlatb34;
- float u_xlat35;
- bool u_xlatb35;
- float u_xlat36;
- bool u_xlatb36;
- void main()
- {
- ImmCB_0_0_0[0] = 0.0;
- ImmCB_0_0_0[1] = 32.0;
- ImmCB_0_0_0[2] = 8.0;
- ImmCB_0_0_0[3] = 40.0;
- ImmCB_0_0_0[4] = 2.0;
- ImmCB_0_0_0[5] = 34.0;
- ImmCB_0_0_0[6] = 10.0;
- ImmCB_0_0_0[7] = 42.0;
- ImmCB_0_0_0[8] = 48.0;
- ImmCB_0_0_0[9] = 16.0;
- ImmCB_0_0_0[10] = 56.0;
- ImmCB_0_0_0[11] = 24.0;
- ImmCB_0_0_0[12] = 50.0;
- ImmCB_0_0_0[13] = 18.0;
- ImmCB_0_0_0[14] = 58.0;
- ImmCB_0_0_0[15] = 26.0;
- ImmCB_0_0_0[16] = 12.0;
- ImmCB_0_0_0[17] = 44.0;
- ImmCB_0_0_0[18] = 4.0;
- ImmCB_0_0_0[19] = 36.0;
- ImmCB_0_0_0[20] = 14.0;
- ImmCB_0_0_0[21] = 46.0;
- ImmCB_0_0_0[22] = 6.0;
- ImmCB_0_0_0[23] = 38.0;
- ImmCB_0_0_0[24] = 60.0;
- ImmCB_0_0_0[25] = 28.0;
- ImmCB_0_0_0[26] = 52.0;
- ImmCB_0_0_0[27] = 20.0;
- ImmCB_0_0_0[28] = 62.0;
- ImmCB_0_0_0[29] = 30.0;
- ImmCB_0_0_0[30] = 54.0;
- ImmCB_0_0_0[31] = 22.0;
- ImmCB_0_0_0[32] = 3.0;
- ImmCB_0_0_0[33] = 35.0;
- ImmCB_0_0_0[34] = 11.0;
- ImmCB_0_0_0[35] = 43.0;
- ImmCB_0_0_0[36] = 1.0;
- ImmCB_0_0_0[37] = 33.0;
- ImmCB_0_0_0[38] = 9.0;
- ImmCB_0_0_0[39] = 41.0;
- ImmCB_0_0_0[40] = 51.0;
- ImmCB_0_0_0[41] = 19.0;
- ImmCB_0_0_0[42] = 59.0;
- ImmCB_0_0_0[43] = 27.0;
- ImmCB_0_0_0[44] = 49.0;
- ImmCB_0_0_0[45] = 17.0;
- ImmCB_0_0_0[46] = 57.0;
- ImmCB_0_0_0[47] = 25.0;
- ImmCB_0_0_0[48] = 15.0;
- ImmCB_0_0_0[49] = 47.0;
- ImmCB_0_0_0[50] = 7.0;
- ImmCB_0_0_0[51] = 39.0;
- ImmCB_0_0_0[52] = 13.0;
- ImmCB_0_0_0[53] = 45.0;
- ImmCB_0_0_0[54] = 5.0;
- ImmCB_0_0_0[55] = 37.0;
- ImmCB_0_0_0[56] = 63.0;
- ImmCB_0_0_0[57] = 31.0;
- ImmCB_0_0_0[58] = 55.0;
- ImmCB_0_0_0[59] = 23.0;
- ImmCB_0_0_0[60] = 61.0;
- ImmCB_0_0_0[61] = 29.0;
- ImmCB_0_0_0[62] = 53.0;
- ImmCB_0_0_0[63] = 21.0;
- u_xlat10_0 = texture(_customDepthTexture, vs_TEXCOORD0.xy);
- u_xlat11.x = dot(vs_TEXCOORD1.xyz, vs_TEXCOORD1.xyz);
- u_xlat11.x = inversesqrt(u_xlat11.x);
- u_xlat11.xyz = u_xlat11.xxx * vs_TEXCOORD1.xyz;
- u_xlat1.x = dot(_camForward.xyz, _camForward.xyz);
- u_xlat1.x = inversesqrt(u_xlat1.x);
- u_xlat1.xyz = u_xlat1.xxx * _camForward.xyz;
- u_xlat1.x = dot(u_xlat11.xyz, u_xlat1.xyz);
- u_xlat12.x = u_xlat10_0.x * 750000.0;
- u_xlat23.x = dot(u_xlat11.xyz, u_xlat11.xyz);
- u_xlat34 = dot(u_xlat11.xyz, _camPos.xyz);
- u_xlat2.x = u_xlat34 + u_xlat34;
- u_xlat13.x = dot(_camPos.xyz, _camPos.xyz);
- u_xlat24 = Rg * Rg;
- u_xlat35 = (-Rg) * Rg + u_xlat13.x;
- u_xlat35 = u_xlat23.x * u_xlat35;
- u_xlat35 = u_xlat35 * 4.0;
- u_xlat2.x = u_xlat2.x * u_xlat2.x + (-u_xlat35);
- u_xlatb35 = u_xlat2.x<0.0;
- u_xlat2.x = sqrt(u_xlat2.x);
- u_xlat12.z = (-u_xlat34) * 2.0 + (-u_xlat2.x);
- u_xlat1.z = u_xlat23.x + u_xlat23.x;
- u_xlat12.xy = u_xlat12.xz / u_xlat1.xz;
- u_xlat23.x = (u_xlatb35) ? -1.0 : u_xlat12.y;
- u_xlatb34 = 0.0<u_xlat23.x;
- u_xlatb2 = u_xlat23.x<u_xlat12.x;
- u_xlatb2 = u_xlatb34 && u_xlatb2;
- u_xlat12.x = (u_xlatb2) ? u_xlat23.x : u_xlat12.x;
- u_xlat1.x = u_xlat1.x * u_xlat12.x;
- u_xlatb23.x = u_xlat1.x>=_ProjectionParams.y;
- u_xlatb1.x = _ProjectionParams.z>=u_xlat1.x;
- u_xlatb1.x = u_xlatb1.x && u_xlatb23.x;
- u_xlatb0 = u_xlat10_0.x!=1.0;
- u_xlatb0 = u_xlatb0 || u_xlatb34;
- u_xlati0.x = int(uint(u_xlatb0) * 0xffffffffu & uint(u_xlatb1.x) * 0xffffffffu);
- u_xlat11.xyz = u_xlat12.xxx * u_xlat11.xyz + _camPos.xyz;
- u_xlat1.x = dot(u_xlat11.xyz, u_xlat11.xyz);
- u_xlat23.x = sqrt(u_xlat1.x);
- u_xlat34 = Rg + _openglThreshold;
- u_xlatb23.x = u_xlat23.x<u_xlat34;
- u_xlat1.x = inversesqrt(u_xlat1.x);
- u_xlat3.xyz = u_xlat11.xyz * u_xlat1.xxx;
- u_xlat3.xyz = vec3(u_xlat34) * u_xlat3.xyz;
- u_xlat3.xyz = (u_xlatb23.x) ? u_xlat3.xyz : u_xlat11.xyz;
- u_xlat11.xyz = u_xlat3.xyz + (-_camPos.xyz);
- u_xlat1.x = dot(u_xlat11.xyz, u_xlat11.xyz);
- u_xlat4.x = sqrt(u_xlat1.x);
- u_xlat11.xyz = u_xlat11.xyz / u_xlat4.xxx;
- u_xlat1.x = (-Rg) + Rt;
- u_xlat5.y = u_xlat1.x * _experimentalAtmoScale + Rg;
- u_xlat1.x = dot(u_xlat11.xyz, u_xlat11.xyz);
- u_xlat1.x = inversesqrt(u_xlat1.x);
- u_xlat11.xyz = u_xlat11.xyz * u_xlat1.xxx;
- u_xlat6.z = sqrt(u_xlat13.x);
- u_xlat1.x = Rg * 0.899999976;
- u_xlatb1.x = u_xlat6.z<u_xlat1.x;
- u_xlat7.y = Rg + _camPos.y;
- u_xlat8.y = u_xlat3.y + Rg;
- u_xlat7.xz = _camPos.xz;
- u_xlat23.x = dot(u_xlat7.xyz, u_xlat7.xyz);
- u_xlat8.z = sqrt(u_xlat23.x);
- u_xlat8.x = u_xlat7.y;
- u_xlat6.x = _camPos.y;
- u_xlat6.y = u_xlat3.y;
- u_xlat1.xzw = (u_xlatb1.x) ? u_xlat8.xyz : u_xlat6.xyz;
- u_xlat6.xz = _camPos.xz;
- u_xlat6.y = u_xlat1.x;
- u_xlat1.x = dot(u_xlat6.xyz, u_xlat11.xyz);
- u_xlat4.z = u_xlat1.x / u_xlat1.w;
- u_xlat2.x = u_xlat1.w * u_xlat1.w;
- u_xlat2.x = u_xlat1.x * u_xlat1.x + (-u_xlat2.x);
- u_xlat2.x = u_xlat5.y * u_xlat5.y + u_xlat2.x;
- u_xlat13.x = sqrt(u_xlat2.x);
- u_xlat13.x = (-u_xlat1.x) + (-u_xlat13.x);
- u_xlat13.x = max(u_xlat13.x, 0.0);
- u_xlatb35 = 0.0<u_xlat13.x;
- u_xlatb14 = u_xlat13.x<u_xlat4.x;
- u_xlatb35 = u_xlatb35 && u_xlatb14;
- u_xlat1.x = u_xlat1.x + u_xlat13.x;
- u_xlat5.z = u_xlat1.x / u_xlat5.y;
- u_xlat5.x = (-u_xlat13.x) + u_xlat4.x;
- u_xlat4.y = u_xlat1.w;
- u_xlat7.xyz = (bool(u_xlatb35)) ? u_xlat5.xyz : u_xlat4.xyz;
- u_xlatb1.x = u_xlat5.y>=u_xlat7.y;
- u_xlatb34 = u_xlat2.x>=0.0;
- u_xlatb1.x = u_xlatb34 && u_xlatb1.x;
- if(u_xlatb1.x){
- u_xlat1.x = min(u_xlat4.x, 1.0);
- u_xlat3.w = u_xlat1.z;
- u_xlat3.xyz = (-u_xlat11.xyz) * u_xlat1.xxx + u_xlat3.xwz;
- u_xlat1.xzw = u_xlat13.xxx * u_xlat11.xyz + u_xlat6.xyz;
- u_xlat1.xzw = (bool(u_xlatb35)) ? u_xlat1.xzw : u_xlat6.xyz;
- u_xlat2.x = dot(u_xlat11.xyz, SUN_DIR.xyz);
- u_xlat1.x = dot(u_xlat1.xzw, SUN_DIR.xyz);
- u_xlat1.z = Rg + 1600.0;
- u_xlatb34 = u_xlat7.y<u_xlat1.z;
- u_xlat1.xz = u_xlat1.xz / u_xlat7.yy;
- u_xlat4.xyz = u_xlat1.zzz * u_xlat3.xyz;
- u_xlat4.w = Rg + 1600.0;
- u_xlat3.w = u_xlat7.y;
- u_xlat3 = (bool(u_xlatb34)) ? u_xlat4 : u_xlat3;
- u_xlat23.x = dot(u_xlat3.xyz, u_xlat3.xyz);
- u_xlat34 = sqrt(u_xlat23.x);
- u_xlat11.x = dot(u_xlat3.xyz, u_xlat11.xyz);
- u_xlat22 = dot(u_xlat3.xyz, SUN_DIR.xyz);
- u_xlat22 = u_xlat22 / u_xlat34;
- u_xlat33 = HR * _experimentalAtmoScale;
- u_xlat34 = 0.5 / u_xlat33;
- u_xlat34 = u_xlat3.w * u_xlat34;
- u_xlat34 = sqrt(u_xlat34);
- u_xlat13.x = u_xlat7.x / u_xlat3.w;
- u_xlat7.w = u_xlat13.x + u_xlat7.z;
- u_xlat13.xz = vec2(u_xlat34) * u_xlat7.zw;
- u_xlati3.xy = ivec2(uvec2(lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat13.xzxx).xy) * 0xFFFFFFFFu);
- u_xlati4.xy = ivec2(uvec2(lessThan(u_xlat13.xzxx, vec4(0.0, 0.0, 0.0, 0.0)).xy) * 0xFFFFFFFFu);
- u_xlati3.xy = (-u_xlati3.xy) + u_xlati4.xy;
- u_xlat3.xy = vec2(u_xlati3.xy);
- u_xlat4.xyz = u_xlat13.xxz * u_xlat13.xxz;
- u_xlatb34 = u_xlat3.x<u_xlat3.y;
- u_xlat25 = u_xlat4.x * 1.44269502;
- u_xlat25 = exp2(u_xlat25);
- u_xlat34 = u_xlatb34 ? u_xlat25 : float(0.0);
- u_xlat4.xy = u_xlat4.yz * vec2(1.51999998, 1.51999998) + vec2(4.0, 4.0);
- u_xlat4.xy = sqrt(u_xlat4.xy);
- u_xlat13.xz = abs(u_xlat13.xz) * vec2(2.31929994, 2.31929994) + u_xlat4.xy;
- u_xlat13.xz = u_xlat3.xy / u_xlat13.xz;
- u_xlat3.x = (-u_xlat7.x) / u_xlat33;
- u_xlat14 = u_xlat3.w + u_xlat3.w;
- u_xlat14 = u_xlat7.x / u_xlat14;
- u_xlat14 = u_xlat7.z + u_xlat14;
- u_xlat3.x = u_xlat14 * u_xlat3.x;
- u_xlat3.x = u_xlat3.x * 1.44269502;
- u_xlat4.y = exp2(u_xlat3.x);
- u_xlat4.x = float(1.0);
- u_xlat26.x = float(1.0);
- u_xlat13.xz = u_xlat13.xz * u_xlat4.xy;
- u_xlat3.x = u_xlat33 * u_xlat3.w;
- u_xlat3.x = u_xlat3.x * 6.28310013;
- u_xlat3.x = sqrt(u_xlat3.x);
- u_xlat25 = (-u_xlat3.w) + Rg;
- u_xlat33 = u_xlat25 / u_xlat33;
- u_xlat33 = u_xlat33 * 1.44269502;
- u_xlat33 = exp2(u_xlat33);
- u_xlat33 = u_xlat33 * u_xlat3.x;
- u_xlat13.x = dot(u_xlat13.xz, vec2(1.0, -1.0));
- u_xlat34 = u_xlat34 + u_xlat13.x;
- u_xlat33 = u_xlat33 * u_xlat34;
- u_xlat34 = HM * _experimentalAtmoScale;
- u_xlat13.x = 0.5 / u_xlat34;
- u_xlat13.x = u_xlat3.w * u_xlat13.x;
- u_xlat13.x = sqrt(u_xlat13.x);
- u_xlat13.xz = u_xlat7.zw * u_xlat13.xx;
- u_xlati4.xy = ivec2(uvec2(lessThan(vec4(0.0, 0.0, 0.0, 0.0), u_xlat13.xzxx).xy) * 0xFFFFFFFFu);
- u_xlati5.xz = ivec2(uvec2(lessThan(u_xlat13.xxzx, vec4(0.0, 0.0, 0.0, 0.0)).xz) * 0xFFFFFFFFu);
- u_xlati4.xy = (-u_xlati4.xy) + u_xlati5.xz;
- u_xlat4.xy = vec2(u_xlati4.xy);
- u_xlat5.xzw = u_xlat13.xxz * u_xlat13.xxz;
- u_xlatb3 = u_xlat4.x<u_xlat4.y;
- u_xlat5.x = u_xlat5.x * 1.44269502;
- u_xlat5.x = exp2(u_xlat5.x);
- u_xlat3.x = u_xlatb3 ? u_xlat5.x : float(0.0);
- u_xlat5.xz = u_xlat5.zw * vec2(1.51999998, 1.51999998) + vec2(4.0, 4.0);
- u_xlat5.xz = sqrt(u_xlat5.xz);
- u_xlat13.xz = abs(u_xlat13.xz) * vec2(2.31929994, 2.31929994) + u_xlat5.xz;
- u_xlat13.xz = u_xlat4.xy / u_xlat13.xz;
- u_xlat4.x = (-u_xlat7.x) / u_xlat34;
- u_xlat14 = u_xlat14 * u_xlat4.x;
- u_xlat14 = u_xlat14 * 1.44269502;
- u_xlat26.y = exp2(u_xlat14);
- u_xlat13.xz = u_xlat13.xz * u_xlat26.xy;
- u_xlat14 = u_xlat34 * u_xlat3.w;
- u_xlat14 = u_xlat14 * 6.28310013;
- u_xlat14 = sqrt(u_xlat14);
- u_xlat34 = u_xlat25 / u_xlat34;
- u_xlat34 = u_xlat34 * 1.44269502;
- u_xlat34 = exp2(u_xlat34);
- u_xlat34 = u_xlat34 * u_xlat14;
- u_xlat13.x = dot(u_xlat13.xz, vec2(1.0, -1.0));
- u_xlat13.x = u_xlat13.x + u_xlat3.x;
- u_xlat34 = u_xlat34 * u_xlat13.x;
- u_xlat4 = vec4(u_xlat34) * betaMEx.xyzx;
- u_xlat4 = (-betaR.xyzx) * vec4(u_xlat33) + (-u_xlat4);
- u_xlat4 = u_xlat4 * vec4(1.44269502, 1.44269502, 1.44269502, 1.44269502);
- u_xlat4 = exp2(u_xlat4);
- u_xlat4 = min(u_xlat4, vec4(1.0, 1.0, 1.0, 1.0));
- u_xlat33 = u_xlat5.y * u_xlat5.y + (-u_xlat24);
- u_xlat5.z = sqrt(u_xlat33);
- u_xlat33 = u_xlat3.w * u_xlat3.w;
- u_xlat34 = u_xlat3.w * u_xlat3.w + (-u_xlat24);
- u_xlat34 = sqrt(u_xlat34);
- u_xlat13.x = u_xlat7.z * u_xlat3.w;
- u_xlat33 = u_xlat13.x * u_xlat13.x + (-u_xlat33);
- u_xlat33 = Rg * Rg + u_xlat33;
- u_xlatb24 = u_xlat13.x<0.0;
- u_xlatb35 = 0.0<u_xlat33;
- u_xlatb24 = u_xlatb35 && u_xlatb24;
- u_xlat3.xyz = vec3(0.5, 0.5, 0.5) / vec3(RES_MU, RES_R, RES_MU_S);
- u_xlat6.w = (-u_xlat3.x) + 0.5;
- u_xlat5.y = u_xlat5.z * u_xlat5.z;
- u_xlat5.w = u_xlat3.x + 0.5;
- u_xlat6.x = float(1.0);
- u_xlat6.y = float(0.0);
- u_xlat6.z = float(0.0);
- u_xlat5.x = -1.0;
- u_xlat7 = (bool(u_xlatb24)) ? u_xlat6.xzzw : u_xlat5;
- u_xlat24 = u_xlat34 / u_xlat5.z;
- u_xlat8.xyz = vec3(1.0, 1.0, 1.0) / vec3(RES_R, RES_MU, RES_MU_S);
- u_xlat8.xyz = (-u_xlat8.xyz) + vec3(1.0, 0.5, 1.0);
- u_xlat24 = u_xlat24 * u_xlat8.x + u_xlat3.y;
- u_xlat33 = u_xlat33 + u_xlat7.y;
- u_xlat33 = sqrt(u_xlat33);
- u_xlat33 = u_xlat13.x * u_xlat7.x + u_xlat33;
- u_xlat34 = u_xlat34 + u_xlat7.z;
- u_xlat33 = u_xlat33 / u_xlat34;
- u_xlat33 = u_xlat33 * u_xlat8.y + u_xlat7.w;
- u_xlat34 = max(u_xlat1.x, -0.197500005);
- u_xlat34 = u_xlat34 * 5.34962368;
- u_xlat13.x = min(abs(u_xlat34), 1.0);
- u_xlat35 = max(abs(u_xlat34), 1.0);
- u_xlat35 = float(1.0) / u_xlat35;
- u_xlat13.x = u_xlat35 * u_xlat13.x;
- u_xlat35 = u_xlat13.x * u_xlat13.x;
- u_xlat3.x = u_xlat35 * 0.0208350997 + -0.0851330012;
- u_xlat3.x = u_xlat35 * u_xlat3.x + 0.180141002;
- u_xlat3.x = u_xlat35 * u_xlat3.x + -0.330299497;
- u_xlat35 = u_xlat35 * u_xlat3.x + 0.999866009;
- u_xlat3.x = u_xlat35 * u_xlat13.x;
- u_xlatb36 = 1.0<abs(u_xlat34);
- u_xlat3.x = u_xlat3.x * -2.0 + 1.57079637;
- u_xlat3.x = u_xlatb36 ? u_xlat3.x : float(0.0);
- u_xlat13.x = u_xlat13.x * u_xlat35 + u_xlat3.x;
- u_xlat34 = min(u_xlat34, 1.0);
- u_xlatb34 = u_xlat34<(-u_xlat34);
- u_xlat34 = (u_xlatb34) ? (-u_xlat13.x) : u_xlat13.x;
- u_xlat34 = u_xlat34 * 0.909090877 + 0.74000001;
- u_xlat34 = u_xlat34 * 0.5;
- u_xlat34 = u_xlat34 * u_xlat8.z + u_xlat3.z;
- u_xlat13.x = u_xlat2.x + 1.0;
- u_xlat13.x = u_xlat13.x * 0.5;
- u_xlat35 = RES_NU + -1.0;
- u_xlat3.x = u_xlat35 * u_xlat13.x;
- u_xlat3.x = floor(u_xlat3.x);
- u_xlat13.x = u_xlat13.x * u_xlat35 + (-u_xlat3.x);
- u_xlat35 = u_xlat24 * RES_R;
- u_xlat24 = u_xlat24 * RES_R + -1.0;
- u_xlat24 = floor(u_xlat24);
- u_xlat24 = u_xlat24 / RES_R;
- u_xlat36 = floor(u_xlat35);
- u_xlat36 = u_xlat36 / RES_R;
- u_xlat35 = fract(u_xlat35);
- u_xlat34 = u_xlat34 + u_xlat3.x;
- u_xlat7.y = u_xlat34 / RES_NU;
- u_xlat33 = u_xlat33 / RES_R;
- u_xlat7.z = u_xlat24 + u_xlat33;
- u_xlat10_9 = textureLod(_Inscatter, u_xlat7.yz, 0.0);
- u_xlat24 = (-u_xlat13.x) + 1.0;
- u_xlat34 = u_xlat34 + 1.0;
- u_xlat7.x = u_xlat34 / RES_NU;
- u_xlat10_10 = textureLod(_Inscatter, u_xlat7.xz, 0.0);
- u_xlat10 = u_xlat13.xxxx * u_xlat10_10;
- u_xlat9 = u_xlat10_9 * vec4(u_xlat24) + u_xlat10;
- u_xlat7.w = u_xlat36 + u_xlat33;
- u_xlat10_10 = textureLod(_Inscatter, u_xlat7.yw, 0.0);
- u_xlat10_7 = textureLod(_Inscatter, u_xlat7.xw, 0.0);
- u_xlat7 = u_xlat13.xxxx * u_xlat10_7;
- u_xlat7 = u_xlat10_10 * vec4(u_xlat24) + u_xlat7;
- u_xlat33 = (-u_xlat35) + 1.0;
- u_xlat7 = vec4(u_xlat35) * u_xlat7;
- u_xlat7 = u_xlat9 * vec4(u_xlat33) + u_xlat7;
- u_xlat33 = (-Rg) * Rg + u_xlat23.x;
- u_xlat33 = sqrt(u_xlat33);
- u_xlat23.x = u_xlat11.x * u_xlat11.x + (-u_xlat23.x);
- u_xlat23.x = Rg * Rg + u_xlat23.x;
- u_xlatb34 = u_xlat11.x<0.0;
- u_xlatb35 = 0.0<u_xlat23.x;
- u_xlatb34 = u_xlatb34 && u_xlatb35;
- u_xlat6 = (bool(u_xlatb34)) ? u_xlat6 : u_xlat5;
- u_xlat34 = u_xlat33 / u_xlat5.z;
- u_xlat34 = u_xlat34 * u_xlat8.x + u_xlat3.y;
- u_xlat23.x = u_xlat23.x + u_xlat6.y;
- u_xlat23.x = sqrt(u_xlat23.x);
- u_xlat11.x = u_xlat11.x * u_xlat6.x + u_xlat23.x;
- u_xlat33 = u_xlat33 + u_xlat6.z;
- u_xlat11.x = u_xlat11.x / u_xlat33;
- u_xlat11.x = u_xlat11.x * u_xlat8.y + u_xlat6.w;
- u_xlat22 = max(u_xlat22, -0.197500005);
- u_xlat22 = u_xlat22 * 5.34962368;
- u_xlat33 = min(abs(u_xlat22), 1.0);
- u_xlat23.x = max(abs(u_xlat22), 1.0);
- u_xlat23.x = float(1.0) / u_xlat23.x;
- u_xlat33 = u_xlat33 * u_xlat23.x;
- u_xlat23.x = u_xlat33 * u_xlat33;
- u_xlat35 = u_xlat23.x * 0.0208350997 + -0.0851330012;
- u_xlat35 = u_xlat23.x * u_xlat35 + 0.180141002;
- u_xlat35 = u_xlat23.x * u_xlat35 + -0.330299497;
- u_xlat23.x = u_xlat23.x * u_xlat35 + 0.999866009;
- u_xlat35 = u_xlat33 * u_xlat23.x;
- u_xlatb14 = 1.0<abs(u_xlat22);
- u_xlat35 = u_xlat35 * -2.0 + 1.57079637;
- u_xlat35 = u_xlatb14 ? u_xlat35 : float(0.0);
- u_xlat33 = u_xlat33 * u_xlat23.x + u_xlat35;
- u_xlat22 = min(u_xlat22, 1.0);
- u_xlatb22 = u_xlat22<(-u_xlat22);
- u_xlat22 = (u_xlatb22) ? (-u_xlat33) : u_xlat33;
- u_xlat22 = u_xlat22 * 0.909090877 + 0.74000001;
- u_xlat22 = u_xlat8.z * u_xlat22;
- u_xlat22 = u_xlat22 * 0.5 + u_xlat3.z;
- u_xlat33 = u_xlat34 * RES_R;
- u_xlat23.x = u_xlat34 * RES_R + -1.0;
- u_xlat23.x = floor(u_xlat23.x);
- u_xlat23.y = floor(u_xlat33);
- u_xlat23.xy = u_xlat23.xy / vec2(RES_R);
- u_xlat33 = fract(u_xlat33);
- u_xlat22 = u_xlat22 + u_xlat3.x;
- u_xlat3.y = u_xlat22 / RES_NU;
- u_xlat11.x = u_xlat11.x / RES_R;
- u_xlat3.zw = u_xlat23.xy + u_xlat11.xx;
- u_xlat10_5 = textureLod(_Inscatter, u_xlat3.yz, 0.0);
- u_xlat22 = u_xlat22 + 1.0;
- u_xlat3.x = u_xlat22 / RES_NU;
- u_xlat10_6 = textureLod(_Inscatter, u_xlat3.xz, 0.0);
- u_xlat6 = u_xlat13.xxxx * u_xlat10_6;
- u_xlat5 = u_xlat10_5 * vec4(u_xlat24) + u_xlat6;
- u_xlat10_6 = textureLod(_Inscatter, u_xlat3.yw, 0.0);
- u_xlat10_3 = textureLod(_Inscatter, u_xlat3.xw, 0.0);
- u_xlat3 = u_xlat13.xxxx * u_xlat10_3;
- u_xlat3 = u_xlat10_6 * vec4(u_xlat24) + u_xlat3;
- u_xlat11.x = (-u_xlat33) + 1.0;
- u_xlat3 = vec4(u_xlat33) * u_xlat3;
- u_xlat3 = u_xlat5 * u_xlat11.xxxx + u_xlat3;
- u_xlat3 = (-u_xlat3) * u_xlat4 + u_xlat7;
- u_xlat4 = max(u_xlat3, vec4(0.0, 0.0, 0.0, 0.0));
- u_xlat11.x = u_xlat1.x * 50.0;
- u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
- u_xlat22 = u_xlat11.x * -2.0 + 3.0;
- u_xlat11.x = u_xlat11.x * u_xlat11.x;
- u_xlat11.x = u_xlat11.x * u_xlat22;
- u_xlat11.x = u_xlat11.x * u_xlat4.w;
- u_xlat11.xyz = u_xlat11.xxx * u_xlat4.xyz;
- u_xlat1.x = max(u_xlat3.x, 9.99999975e-005);
- u_xlat11.xyz = u_xlat11.xyz / u_xlat1.xxx;
- u_xlat1.xzw = betaR.xxx / betaR.xyz;
- u_xlat11.xyz = u_xlat11.xyz * u_xlat1.xzw;
- u_xlat1.xz = vec2(M_PI) * vec2(16.0, 4.0);
- u_xlat1.xz = vec2(3.0, 1.5) / u_xlat1.xz;
- u_xlat34 = u_xlat2.x * u_xlat2.x + 1.0;
- u_xlat13.x = (-mieG) * mieG + 1.0;
- u_xlat23.x = u_xlat1.z * u_xlat13.x;
- u_xlat13.xy = vec2(vec2(mieG, mieG)) * vec2(vec2(mieG, mieG)) + vec2(1.0, 2.0);
- u_xlat2.x = dot(u_xlat2.xx, vec2(vec2(mieG, mieG)));
- u_xlat2.x = (-u_xlat2.x) + u_xlat13.x;
- u_xlat2.x = log2(u_xlat2.x);
- u_xlat2.x = u_xlat2.x * -1.5;
- u_xlat2.x = exp2(u_xlat2.x);
- u_xlat1.z = u_xlat23.x * u_xlat2.x;
- u_xlat1.xz = vec2(u_xlat34) * u_xlat1.xz;
- u_xlat23.x = u_xlat1.z / u_xlat13.y;
- u_xlat11.xyz = u_xlat11.xyz * u_xlat23.xxx;
- u_xlat11.xyz = u_xlat4.xyz * u_xlat1.xxx + u_xlat11.xyz;
- } else {
- u_xlat11.x = float(0.0);
- u_xlat11.y = float(0.0);
- u_xlat11.z = float(0.0);
- //ENDIF
- }
- u_xlat11.xyz = u_xlat11.xyz * vec3(vec3(SUN_INTENSITY, SUN_INTENSITY, SUN_INTENSITY));
- u_xlatb1.x = _global_depth>=u_xlat12.x;
- u_xlat12.x = u_xlat12.x * 4.0;
- u_xlat12.x = u_xlat12.x / _global_depth;
- u_xlat12.x = u_xlat12.x * -1.44269502;
- u_xlat12.x = exp2(u_xlat12.x);
- u_xlat12.x = (-u_xlat12.x) + 1.0;
- u_xlat1.x = (u_xlatb1.x) ? u_xlat12.x : 1.0;
- u_xlat11.xyz = u_xlat11.xyz * u_xlat1.xxx;
- u_xlat11.xyz = u_xlat11.xyz * vec3(_Exposure);
- u_xlatb1.xyz = lessThan(u_xlat11.xyzx, vec4(1.41299999, 1.41299999, 1.41299999, 0.0)).xyz;
- u_xlat2 = u_xlat11.xxyy * vec4(0.383170009, -1.44269502, 0.383170009, -1.44269502);
- u_xlat11.xy = log2(u_xlat2.xz);
- u_xlat11.xy = u_xlat11.xy * vec2(0.454545468, 0.454545468);
- u_xlat11.xy = exp2(u_xlat11.xy);
- u_xlat2.xy = exp2(u_xlat2.yw);
- u_xlat2.xy = (-u_xlat2.xy) + vec2(1.0, 1.0);
- u_xlat2.x = (u_xlatb1.x) ? u_xlat11.x : u_xlat2.x;
- u_xlat2.y = (u_xlatb1.y) ? u_xlat11.y : u_xlat2.y;
- u_xlat11.xy = u_xlat11.zz * vec2(0.383170009, -1.44269502);
- u_xlat11.x = log2(u_xlat11.x);
- u_xlat11.x = u_xlat11.x * 0.454545468;
- u_xlat11.x = exp2(u_xlat11.x);
- u_xlat22 = exp2(u_xlat11.y);
- u_xlat22 = (-u_xlat22) + 1.0;
- u_xlat2.z = (u_xlatb1.z) ? u_xlat11.x : u_xlat22;
- u_xlat11.xyz = u_xlat2.xyz * vec3(vec3(_global_alpha, _global_alpha, _global_alpha));
- u_xlat1.xy = trunc(gl_FragCoord.xy);
- u_xlat1.xy = u_xlat1.xy * vec2(0.125, 0.125);
- u_xlatb23.xy = greaterThanEqual(u_xlat1.xyxy, (-u_xlat1.xyxy)).xy;
- u_xlat1.xy = fract(abs(u_xlat1.xy));
- u_xlat1.x = (u_xlatb23.x) ? u_xlat1.x : (-u_xlat1.x);
- u_xlat1.y = (u_xlatb23.y) ? u_xlat1.y : (-u_xlat1.y);
- u_xlat1.xy = u_xlat1.xy * vec2(8.0, 64.0);
- u_xlat1.x = u_xlat1.y + u_xlat1.x;
- u_xlati1 = int(u_xlat1.x);
- u_xlat1.x = 0.015625 * ImmCB_0_0_0[u_xlati1];
- u_xlat11.xyz = u_xlat11.xyz * vec3(255.0, 255.0, 255.0);
- u_xlat12.xyz = floor(u_xlat11.xyz);
- u_xlat11.xyz = fract(u_xlat11.xyz);
- u_xlati0.yzw = ivec3(uvec3(greaterThanEqual(u_xlat11.xxyz, u_xlat1.xxxx).yzw) * 0xFFFFFFFFu);
- u_xlat0 = uintBitsToFloat(uvec4(u_xlati0) & uvec4(1065353216u, 1065353216u, 1065353216u, 1065353216u));
- u_xlat11.xyz = u_xlat0.yzw + u_xlat12.xyz;
- u_xlat11.xyz = u_xlat11.xyz * vec3(0.00392156886, 0.00392156886, 0.00392156886);
- SV_Target0.xyz = u_xlat0.xxx * u_xlat11.xyz;
- SV_Target0.w = 1.0;
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement