,Oºu FLARE_HAS_OCCLUSIONÊL#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 _FlareData0; uniform vec4 _FlareData2; uniform vec4 _FlareData3; uniform int _ViewId; uniform vec4 _FlareOcclusionIndex; UNITY_LOCATION(2) uniform mediump sampler2DArray _FlareOcclusionTex; out highp vec2 vs_TEXCOORD0; out highp vec2 vs_TEXCOORD1; out highp float vs_TEXCOORD2; vec2 u_xlat0; vec2 u_xlat1; uvec4 u_xlatu1; bvec2 u_xlatb1; vec2 u_xlat2; int u_xlati2; uvec3 u_xlatu2; vec2 u_xlat3; float u_xlat4; int u_xlati4; bool u_xlatb4; vec2 u_xlat5; float u_xlat6; int u_xlati6; bool u_xlatb6; void main() { u_xlat0.x = _ScaledScreenParams.y / _ScaledScreenParams.x; u_xlatu2.x = uint(uint(gl_VertexID) >> (1u & uint(0x1F))); u_xlati4 = int(uint(uint(gl_VertexID) & 1u)); u_xlati6 = (-u_xlati4) + (-int(u_xlatu2.x)); u_xlati6 = u_xlati6 + 1; u_xlatu2.z = uint(uint(u_xlati6) & 1u); u_xlat1.xy = vec2(u_xlatu2.xz); u_xlat3.xy = u_xlat1.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0); u_xlati2 = u_xlati4 + int(u_xlatu2.x); u_xlatu2.x = uint(uint(u_xlati2) & 1u); vs_TEXCOORD0.y = float(u_xlatu2.x); vs_TEXCOORD0.x = (-u_xlat1.x) + 1.0; u_xlat2.xy = u_xlat3.xy * _FlareData2.zw; u_xlat6 = u_xlat2.y * _FlareData0.y; u_xlat6 = u_xlat2.x * _FlareData0.x + (-u_xlat6); u_xlat5.y = dot(u_xlat2.yx, _FlareData0.xy); u_xlat5.x = u_xlat0.x * u_xlat6; u_xlat0.xy = u_xlat5.xy + _FlareData2.xy; u_xlat0.xy = u_xlat0.xy + _FlareData0.zw; u_xlatb4 = _FlareData3.x<0.0; u_xlatb1.xy = lessThan(_FlareData2.xyxx, vec4(-1.0, -1.0, 0.0, 0.0)).xy; u_xlatb6 = 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_xlatb6 = u_xlatb6 || u_xlatb1.x; u_xlatb4 = u_xlatb6 && u_xlatb4; if(u_xlatb4){ vs_TEXCOORD2 = 0.0; } else { u_xlatb4 = _ViewId>=0; if(u_xlatb4){ u_xlatu1.x = uint(_FlareOcclusionIndex.x); u_xlatu1.y = uint(uint(0u)); u_xlatu1.w = uint(uint(0u)); u_xlatu1.z = uint(_ViewId); u_xlat4 = texelFetch(_FlareOcclusionTex, ivec3(u_xlatu1.xyz), int(u_xlatu1.w)).x; vs_TEXCOORD2 = u_xlat4; } else { u_xlatu1.x = uint(_FlareOcclusionIndex.x); u_xlatu1.y = uint(uint(0u)); u_xlatu1.z = uint(uint(0u)); u_xlatu1.w = uint(uint(0u)); u_xlat4 = texelFetch(_FlareOcclusionTex, ivec3(u_xlatu1.xyz), int(u_xlatu1.w)).x; vs_TEXCOORD2 = u_xlat4; } } gl_Position.xy = u_xlat0.xy; gl_Position.zw = vec2(1.0, 1.0); vs_TEXCOORD1.xy = u_xlat0.xy; return; } #endif #ifdef FRAGMENT #version 300 es #ifdef GL_EXT_shader_texture_lod #extension GL_EXT_shader_texture_lod : enable #endif precision highp float; precision highp int; #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 vec2 _GlobalMipBias; uniform vec4 _Time; uniform vec4 _FlareColorValue; uniform vec4 _FlareData0; uniform vec4 _FlareData2; uniform vec4 _FlareData3; uniform vec4 _FlareData4; uniform vec4 _FlareData5; uniform vec4 _FlareData6; UNITY_LOCATION(0) uniform mediump sampler2D _FlareTex; UNITY_LOCATION(1) uniform mediump sampler2D _FlareRadialTint; in highp vec2 vs_TEXCOORD0; in highp vec2 vs_TEXCOORD1; in highp float vs_TEXCOORD2; layout(location = 0) out highp vec4 SV_Target0; float u_xlat0; int u_xlati0; bool u_xlatb0; vec4 u_xlat1; vec4 u_xlat2; mediump vec4 u_xlat16_2; int u_xlati2; bool u_xlatb2; vec4 u_xlat3; vec4 u_xlat4; mediump float u_xlat16_4; vec2 u_xlat5; vec2 u_xlat6; bool u_xlatb6; vec2 u_xlat8; int u_xlati8; bool u_xlatb8; mediump float u_xlat16_10; vec2 u_xlat12; bool u_xlatb12; vec2 u_xlat14; bool u_xlatb14; float u_xlat15; mediump float u_xlat16_16; float u_xlat18; bool u_xlatb18; float u_xlat20; bool u_xlatb20; mediump float u_xlat16_22; void main() { u_xlatb0 = 0.0=(-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 = (u_xlatb0) ? u_xlat8.x : u_xlat2.x; u_xlat2.x = min(u_xlat0, 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 = 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 = u_xlat0 * u_xlat2.x; u_xlat2.x = u_xlat0 * u_xlat0; 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 * u_xlat2.x; u_xlatb14 = abs(u_xlat12.y)=(-u_xlat12.x); u_xlatb12 = u_xlatb12 && u_xlatb18; u_xlat0 = (u_xlatb12) ? (-u_xlat0) : u_xlat0; u_xlat0 = u_xlat0 + 3.14159274; u_xlat2.x = u_xlat0 * 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_xlat2.xyz = u_xlat1.xyz * _FlareData5.yyy; 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_FlareOcclusionTex $Globals