č_šu FLARE_HAS_OCCLUSIONFLARE_OPENGL3_OR_OPENGLCORE;]#ifdef VERTEX #version 300 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif uniform vec4 _ScaledScreenParams; uniform vec4 _ZBufferParams; uniform vec4 _FlareData0; uniform vec4 _FlareData1; uniform vec4 _FlareData2; uniform vec4 _FlareData3; uniform int _ViewId; UNITY_LOCATION(2) uniform highp sampler2D _CameraDepthTexture; UNITY_LOCATION(3) uniform mediump sampler2D _FlareOcclusionRemapTex; out highp vec2 vs_TEXCOORD0; out highp vec2 vs_TEXCOORD1; out highp float vs_TEXCOORD2; vec2 u_xlat0; vec2 u_xlat1; bvec2 u_xlatb1; float u_xlat2; uvec4 u_xlatu2; vec2 u_xlat3; mediump vec2 u_xlat16_4; uvec4 u_xlatu4; mediump float u_xlat16_5; mediump vec2 u_xlat16_6; vec2 u_xlat7; bvec2 u_xlatb7; vec2 u_xlat8; int u_xlati8; uvec3 u_xlatu8; vec2 u_xlat9; uint u_xlatu9; mediump float u_xlat16_12; float u_xlat16; int u_xlati16; bool u_xlatb16; vec2 u_xlat17; uint u_xlatu17; vec2 u_xlat19; int u_xlati19; uint u_xlatu19; float u_xlat24; int u_xlati24; uint u_xlatu24; bool u_xlatb24; float u_xlat25; int u_xlati25; uint u_xlatu25; bool u_xlatb25; uint u_xlatu27; int int_bitfieldInsert(int base, int insert, int offset, int bits) { uint mask = uint(~(int(~0) << uint(bits)) << uint(offset)); return int((uint(base) & ~mask) | ((uint(insert) << uint(offset)) & mask)); } void main() { u_xlat0.x = _ScaledScreenParams.y / _ScaledScreenParams.x; u_xlatu8.x = uint(uint(gl_VertexID) >> (1u & uint(0x1F))); u_xlati16 = int(uint(uint(gl_VertexID) & 1u)); u_xlati24 = (-u_xlati16) + (-int(u_xlatu8.x)); u_xlati24 = u_xlati24 + 1; u_xlatu8.z = uint(uint(u_xlati24) & 1u); u_xlat1.xy = vec2(u_xlatu8.xz); u_xlat9.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0); u_xlati8 = u_xlati16 + int(u_xlatu8.x); u_xlatu8.x = uint(uint(u_xlati8) & 1u); vs_TEXCOORD0.y = float(u_xlatu8.x); vs_TEXCOORD0.x = (-u_xlat1.x) + 1.0; u_xlat8.xy = u_xlat9.xy * _FlareData2.zw; u_xlat24 = u_xlat8.y * _FlareData0.y; u_xlat24 = u_xlat8.x * _FlareData0.x + (-u_xlat24); u_xlat17.y = dot(u_xlat8.yx, _FlareData0.xy); u_xlat17.x = u_xlat0.x * u_xlat24; u_xlat0.xy = u_xlat17.xy + _FlareData2.xy; u_xlat0.xy = u_xlat0.xy + _FlareData0.zw; u_xlatb16 = _FlareData3.x<0.0; u_xlatb1.xy = lessThan(_FlareData2.xyxx, vec4(-1.0, -1.0, 0.0, 0.0)).xy; u_xlatb24 = u_xlatb1.y || u_xlatb1.x; u_xlatb1.xy = lessThan(vec4(1.0, 1.0, 0.0, 0.0), _FlareData2.xyxx).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; u_xlatb24 = u_xlatb24 || u_xlatb1.x; u_xlatb16 = u_xlatb24 && u_xlatb16; if(u_xlatb16){ vs_TEXCOORD2 = 0.0; } else { u_xlatb16 = _FlareData1.y!=0.0; if(u_xlatb16){ u_xlat16 = float(1.0) / _FlareData1.y; u_xlatu24 = uint(_FlareData1.y); u_xlatb1.x = 0.0<_FlareData3.x; u_xlatu2.z = uint(uint(0u)); u_xlatu2.w = uint(uint(0u)); u_xlatu9 = uint(_ViewId); u_xlat3.x = 0.0; for(uint u_xlatu_loop_1 = uint(0u) ; u_xlatu_loop_1> (16u & uint(0x1F))); u_xlati25 = int(uint(u_xlatu25 ^ u_xlatu19)); u_xlatu25 = uint(u_xlati25) * 2654435769u; u_xlatu19 = uint(u_xlatu25 >> (16u & uint(0x1F))); u_xlati25 = int(uint(u_xlatu25 ^ u_xlatu19)); u_xlatu25 = uint(u_xlati25) * 2654435769u; u_xlat25 = float(u_xlatu25); u_xlat25 = u_xlat25 * 2.32830644e-10; u_xlati19 = int(int_bitfieldInsert(1, int(u_xlatu_loop_1), 1 & int(0x1F), 31)); u_xlati19 = int(uint(uint(u_xlati19) ^ 2747636419u)); u_xlatu19 = uint(u_xlati19) * 2654435769u; u_xlatu27 = uint(u_xlatu19 >> (16u & uint(0x1F))); u_xlati19 = int(uint(u_xlatu27 ^ u_xlatu19)); u_xlatu19 = uint(u_xlati19) * 2654435769u; u_xlatu27 = uint(u_xlatu19 >> (16u & uint(0x1F))); u_xlati19 = int(uint(u_xlatu27 ^ u_xlatu19)); u_xlatu19 = uint(u_xlati19) * 2654435769u; u_xlat19.x = float(u_xlatu19); u_xlat16_4.x = sqrt(u_xlat25); u_xlat16_12 = u_xlat19.x * 1.46291812e-09; u_xlat16_5 = sin(u_xlat16_12); u_xlat16_6.x = cos(u_xlat16_12); u_xlat16_6.y = u_xlat16_5; u_xlat16_4.xy = u_xlat16_4.xx * u_xlat16_6.xy; u_xlat19.xy = _FlareData1.xx * u_xlat16_4.xy + _FlareData2.xy; u_xlat19.xy = u_xlat19.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5); u_xlatb7.xy = greaterThanEqual(u_xlat19.xyxx, vec4(0.0, 0.0, 0.0, 0.0)).xy; u_xlatb25 = u_xlatb7.y && u_xlatb7.x; u_xlatb7.xy = greaterThanEqual(vec4(1.0, 1.0, 0.0, 0.0), u_xlat19.xyxx).xy; u_xlatb7.x = u_xlatb7.y && u_xlatb7.x; u_xlatb25 = u_xlatb25 && u_xlatb7.x; if(u_xlatb25){ u_xlatb25 = int(u_xlatu9)>=0; if(u_xlatb25){ u_xlat7.xy = u_xlat19.xy * _ScaledScreenParams.xy; u_xlatu4.xy = uvec2(ivec2(u_xlat7.xy)); u_xlatu4.zw = uvec2(u_xlatu9); u_xlat25 = texelFetch(_CameraDepthTexture, ivec2(u_xlatu4.xy), int(u_xlatu4.w)).x; } else { u_xlat19.xy = u_xlat19.xy * _ScaledScreenParams.xy; u_xlatu2.xy = uvec2(u_xlat19.xy); u_xlat25 = texelFetch(_CameraDepthTexture, ivec2(u_xlatu2.xy), int(u_xlatu2.w)).x; } u_xlat25 = _ZBufferParams.z * u_xlat25 + _ZBufferParams.w; u_xlat25 = float(1.0) / u_xlat25; u_xlatb25 = _FlareData1.z=(-u_xlat14.x); u_xlatb8 = u_xlatb14 && u_xlatb8; u_xlat2.x = (u_xlatb8) ? (-u_xlat2.x) : u_xlat2.x; u_xlat2.x = _FlareData4.z * 0.5 + u_xlat2.x; u_xlat2.x = u_xlat2.x / _FlareData4.z; u_xlat2.x = floor(u_xlat2.x); u_xlat2.x = u_xlat2.x * _FlareData4.z; u_xlat3.x = cos(u_xlat2.x); u_xlat2.x = sin(u_xlat2.x); u_xlat8.xy = u_xlat12.xy * u_xlat3.xx; u_xlat3.x = u_xlat2.x * u_xlat12.y + u_xlat8.x; u_xlat3.y = (-u_xlat2.x) * u_xlat12.x + u_xlat8.y; u_xlat12.x = max(u_xlat3.y, (-_FlareData4.w)); u_xlat2.y = min(u_xlat12.x, _FlareData4.w); u_xlat2.x = _FlareData4.y; u_xlat2.xy = (-u_xlat2.xy) + u_xlat3.xy; u_xlat12.x = dot(u_xlat2.xy, u_xlat2.xy); u_xlat12.x = sqrt(u_xlat12.x); u_xlati8 = int((0.0=0.0; u_xlatb8 = u_xlat12.x<0.0; u_xlat2.x = (u_xlatb2) ? 3.14159274 : -3.14159274; u_xlat16_10 = (u_xlatb8) ? u_xlat2.x : 0.0; u_xlat16_4 = u_xlat16_10 + u_xlat16_4; u_xlat2.x = u_xlat16_4 * _FlareData4.y; u_xlat3.x = cos(u_xlat2.x); u_xlat2.x = sin(u_xlat2.x); u_xlat2.y = u_xlat3.x; u_xlat14.x = trunc(_FlareData6.y); u_xlat2.xy = _FlareData4.xx * u_xlat2.xy + u_xlat14.xx; u_xlat2.xy = _FlareData4.zz * _Time.yy + u_xlat2.xy; u_xlat3.xy = floor(u_xlat2.xy); u_xlat2.xy = u_xlat2.xy + (-u_xlat3.xy); u_xlat3.zw = u_xlat3.xy + vec2(1.0, 1.0); u_xlat4 = u_xlat3 * vec4(0.0140845068, 0.0140845068, 0.0140845068, 0.0140845068); u_xlat4 = floor(u_xlat4); u_xlat3 = (-u_xlat4) * vec4(71.0, 71.0, 71.0, 71.0) + u_xlat3; u_xlat3 = u_xlat3 + vec4(26.0, 161.0, 26.0, 161.0); u_xlat3 = u_xlat3 * u_xlat3; u_xlat3 = u_xlat3.yyww * u_xlat3.xzxz; u_xlat3 = u_xlat3 * vec4(0.00105137471, 0.00105137471, 0.00105137471, 0.00105137471); u_xlat3 = fract(u_xlat3); u_xlat14.xy = u_xlat2.xy * u_xlat2.xy; u_xlat5.xy = u_xlat2.xy * vec2(6.0, 6.0) + vec2(-15.0, -15.0); u_xlat5.xy = u_xlat2.xy * u_xlat5.xy + vec2(10.0, 10.0); u_xlat2.xy = u_xlat2.xy * u_xlat5.xy; u_xlat2.xy = u_xlat2.xy * u_xlat14.xy; u_xlat14.xy = (-u_xlat3.xy) + u_xlat3.zw; u_xlat8.xy = u_xlat2.yy * u_xlat14.xy + u_xlat3.xy; u_xlat14.x = (-u_xlat8.x) + u_xlat8.y; u_xlat2.x = u_xlat14.x * u_xlat2.x + u_xlat8.x; u_xlat12.x = dot((-u_xlat12.xy), (-u_xlat12.xy)); u_xlat12.x = sqrt(u_xlat12.x); u_xlat8.x = u_xlat12.x + -1.0; u_xlat14.x = (-_FlareData3.w) + 1.0; u_xlat12.x = u_xlat12.x + (-u_xlat14.x); u_xlat12.x = abs(u_xlat12.x) + (-_FlareData3.w); u_xlat12.x = u_xlat12.x * abs(u_xlat2.x); u_xlat12.x = max(u_xlat8.x, u_xlat12.x); u_xlat2.x = _FlareData3.y + -1.0; u_xlat12.x = u_xlat12.x / u_xlat2.x; u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0); u_xlat12.x = log2(u_xlat12.x); u_xlat12.x = u_xlat12.x * _FlareData3.z; u_xlat12.x = exp2(u_xlat12.x); u_xlat2.x = _FlareData2.w / _FlareData2.z; u_xlat3.xy = (-vs_TEXCOORD1.xy) + _FlareData2.xy; u_xlat3.z = (-u_xlat3.y); u_xlat8.xy = u_xlat3.xz * _FlareData5.zz; u_xlat20 = u_xlat8.y * _FlareData0.y; u_xlat3.x = u_xlat8.x * _FlareData0.x + (-u_xlat20); u_xlat3.y = dot(u_xlat8.yx, _FlareData0.xy); u_xlat2.y = u_xlat12.y * u_xlat2.x; u_xlat2.x = vs_TEXCOORD0.x * 2.0 + -1.0; u_xlat2.xy = (-u_xlat2.xy) + u_xlat3.xy; u_xlat18 = dot(u_xlat2.xy, u_xlat2.xy); u_xlat18 = sqrt(u_xlat18); u_xlat18 = u_xlat18 + (-_FlareData5.w); u_xlatb18 = 0.0<(-u_xlat18); u_xlat18 = u_xlatb18 ? 1.0 : float(0.0); u_xlat6.x = u_xlat18 * u_xlat12.x; u_xlat1.x = float(1.0); u_xlat1.y = float(1.0); u_xlat1.z = float(1.0); u_xlat1.w = float(1.0); } else { if(u_xlati0 == 0) { u_xlat16_2 = texture(_FlareTex, vs_TEXCOORD0.xy, _GlobalMipBias.x); u_xlat12.x = vs_TEXCOORD0.y * 2.0 + -1.0; u_xlat18 = _FlareData2.w / _FlareData2.z; u_xlat3.xy = (-vs_TEXCOORD1.xy) + _FlareData2.xy; u_xlat3.z = (-u_xlat3.y); u_xlat3.xy = u_xlat3.xz * _FlareData5.zz; u_xlat15 = u_xlat3.y * _FlareData0.y; u_xlat5.x = u_xlat3.x * _FlareData0.x + (-u_xlat15); u_xlat5.y = dot(u_xlat3.yx, _FlareData0.xy); u_xlat3.y = u_xlat18 * u_xlat12.x; u_xlat3.x = vs_TEXCOORD0.x * 2.0 + -1.0; u_xlat12.xy = (-u_xlat3.xy) + u_xlat5.xy; u_xlat12.x = dot(u_xlat12.xy, u_xlat12.xy); u_xlat12.x = sqrt(u_xlat12.x); u_xlat12.x = u_xlat12.x + (-_FlareData5.w); u_xlatb12 = 0.0<(-u_xlat12.x); u_xlat12.x = u_xlatb12 ? 1.0 : float(0.0); u_xlat1 = u_xlat12.xxxx * u_xlat16_2; u_xlat6.x = 1.0; } else { u_xlat1.x = float(1.0); u_xlat1.y = float(1.0); u_xlat1.z = float(1.0); u_xlat1.w = float(1.0); u_xlat6.x = -1.0; } } } } u_xlat12.xy = vs_TEXCOORD0.yx * vec2(2.0, 2.0) + vec2(-1.0, -1.0); u_xlatb2 = _FlareData5.x==1.0; if(u_xlatb2){ u_xlat2.x = dot(u_xlat12.xy, u_xlat12.xy); u_xlat2.x = sqrt(u_xlat2.x); u_xlatb0 = u_xlati0==3; u_xlat8.x = _FlareData3.w + _FlareData3.w; u_xlat8.x = max(u_xlat8.x, _FlareData3.w); u_xlat8.x = min(u_xlat8.x, 1.0); u_xlat8.x = float(1.0) / u_xlat8.x; u_xlat14.x = (-u_xlat8.x) + 1.0; u_xlat8.x = u_xlat8.x * u_xlat2.x + u_xlat14.x; u_xlat8.x = clamp(u_xlat8.x, 0.0, 1.0); u_xlat0.x = (u_xlatb0) ? u_xlat8.x : u_xlat2.x; u_xlat2.x = min(u_xlat0.x, 1.0); u_xlat2.y = 0.0; u_xlat16_2 = textureLod(_FlareRadialTint, u_xlat2.xy, 0.0); u_xlat1 = u_xlat1 * u_xlat16_2; } else { u_xlatb0 = _FlareData5.x==2.0; if(u_xlatb0){ u_xlat0.x = min(abs(u_xlat12.y), abs(u_xlat12.x)); u_xlat2.x = max(abs(u_xlat12.y), abs(u_xlat12.x)); u_xlat2.x = float(1.0) / u_xlat2.x; u_xlat0.x = u_xlat0.x * u_xlat2.x; u_xlat2.x = u_xlat0.x * u_xlat0.x; u_xlat8.x = u_xlat2.x * 0.0208350997 + -0.0851330012; u_xlat8.x = u_xlat2.x * u_xlat8.x + 0.180141002; u_xlat8.x = u_xlat2.x * u_xlat8.x + -0.330299497; u_xlat2.x = u_xlat2.x * u_xlat8.x + 0.999866009; u_xlat8.x = u_xlat0.x * u_xlat2.x; u_xlatb14 = abs(u_xlat12.y)=(-u_xlat12.x); u_xlatb12 = u_xlatb12 && u_xlatb18; u_xlat0.x = (u_xlatb12) ? (-u_xlat0.x) : u_xlat0.x; u_xlat0.x = u_xlat0.x + 3.14159274; u_xlat2.x = u_xlat0.x * 0.159154937; u_xlat2.x = clamp(u_xlat2.x, 0.0, 1.0); u_xlat2.y = 0.0; u_xlat16_2 = textureLod(_FlareRadialTint, u_xlat2.xy, 0.0); u_xlat1 = u_xlat1 * u_xlat16_2; } } u_xlat1 = u_xlat1 * _FlareColorValue; u_xlat0.xzw = u_xlat1.xyz * _FlareData5.yyy; u_xlat2.xyz = u_xlat6.xxx * u_xlat0.xzw; u_xlat2.w = u_xlat6.x * u_xlat1.w; SV_Target0 = u_xlat2 * vec4(vs_TEXCOORD2); return; } else { SV_Target0 = vec4(0.0, 0.0, 0.0, 0.0); return; } return; } #endif $Globals _GlobalMipBias_Time_FlareColorValue _FlareData00 _FlareData2@ _FlareData3P _FlareData4` _FlareData5p _FlareData6€ _FlareTex_FlareRadialTint_CameraDepthTexture_FlareOcclusionRemapTex$Globals