From 05b4b1349dee1c78b0954d57b2bf6fabad7ddeda Mon Sep 17 00:00:00 2001 From: fizzy pop-os-claude-1 Date: Tue, 10 Nov 2026 21:18:40 -0600 Subject: [PATCH 1/3] glass: the rim thins per shape, not per cluster Signed-off-by: fizzy pop-os-claude-1 --- backend/src/glass/LiquidField.zig | 43 +++++++++++-------- backend/src/glass/liquid_field_tests.zig | 39 +++++++++++++++++ .../glass/shaders/liquid_glass.fragment.hlsl | 23 +++++++--- 3 files changed, 83 insertions(+), 22 deletions(-) diff --git a/backend/src/glass/LiquidField.zig b/backend/src/glass/LiquidField.zig index 0813f3394..2c7beefee 100644 --- a/backend/src/glass/LiquidField.zig +++ b/backend/src/glass/LiquidField.zig @@ -414,9 +414,11 @@ pub const uniform_vec4s = header_vec4s + shape_vec4s * max_shapes; pub const Uniforms = extern struct { /// Where the frost starts, and 1 / its size: physical pixels to its uv. frost_map: [4]f32, - /// Merge width, the soft field's softness, the refraction's depth, the light's depth. + /// Merge width, the soft field's softness, the refraction's depth, the light's depth; the last + /// three unfitted, the program fitting them to each shape (`fitHalf`). depths: [4]f32, - /// How far the rim reaches out, how clear it is, the rim line's width, how much light. + /// How far the rim reaches out (unfitted, as `depths`), how clear it is, the rim line's width, + /// how much light. rim: [4]f32, /// Premultiplied. tint: [4]f32, @@ -461,13 +463,12 @@ fn look(self: *const LiquidField) liquid_glass.Look { return .{ .refraction = self.refraction }; } -/// The scale the rim is drawn at (`liquid_glass.rimScale`), fitted to the smallest shape: the -/// program's rim is one for the whole field, and on a smaller shape a rim sized for a bigger one -/// would be all rim. Every shape is glass whatever its size (`liquid_glass.fit`). -fn rimScale(self: *const LiquidField, depth_px: f32) f32 { - var f: f32 = 1; - for (0..self.shapeCount()) |i| f = @min(f, liquid_glass.fit(self.shapeAt(i).rect, depth_px)); - return self.scale * f; +/// How much of its rim a shape of shorter half `half` has room for, its curve `depth_px` deep +/// (`liquid_glass.fit`): each shape's own, blended across a bridge, so a small drop beside a bar +/// draws a rim its own size and leaves the bar's whole. The program's `fitTo`. +fn fitHalf(half: f32, depth_px: f32) f32 { + if (depth_px <= 0) return 1; + return std.math.clamp(half / (liquid_glass.room * depth_px), 0, 1); } /// The uniforms for drawing over `frost`, a picture of `covered`, the shapes in `order`: the @@ -479,13 +480,12 @@ pub fn pack(self: *const LiquidField, covered: dvui.Rect.Physical, has_sharp: bo const a = @as(f32, @floatFromInt(t.a)) / 255; break :blk .{ @as(f32, @floatFromInt(t.r)) / 255 * a, @as(f32, @floatFromInt(t.g)) / 255 * a, @as(f32, @floatFromInt(t.b)) / 255 * a, a }; } else @splat(0); - // The curve, its reach and its corners at the fitted scale; the rim line at the field's. - const rim = self.rimScale(liquid_glass.depthPx(self.look(), s)); - const glow = self.rimScale(liquid_glass.falloff * s); + // The curve, its reach and its corners at the field's scale, unfitted: the program fits them + // to each shape (`fitHalf`). var u: Uniforms = .{ .frost_map = .{ covered.x, covered.y, 1 / @max(covered.w, 1), 1 / @max(covered.h, 1) }, - .depths = .{ self.merge_px, liquid_glass.softness * rim, liquid_glass.depthPx(self.look(), rim), liquid_glass.falloff * glow }, - .rim = .{ liquid_glass.refraction * rim * self.refraction, liquid_glass.clarity * @min(1, self.refraction), rim_line_width * s, @min(1, self.refraction) }, + .depths = .{ self.merge_px, liquid_glass.softness * s, liquid_glass.depthPx(self.look(), s), liquid_glass.falloff * s }, + .rim = .{ liquid_glass.refraction * s * self.refraction, liquid_glass.clarity * @min(1, self.refraction), rim_line_width * s, @min(1, self.refraction) }, .tint = tint, .face = .{ if (self.window) 2 else std.math.clamp(self.mix, 0, 1), std.math.clamp(self.lift, 0, 1), if (self.tint != null) 1 else 0, if (has_sharp) 1 else 0 }, .dither = .{ 1.0 / 255.0, 0, 0, 0 }, @@ -824,14 +824,15 @@ pub fn sampleWith(self: *const LiquidField, p: dvui.Point.Physical, l: glass_loo var d2: f32 = big; var m1: [3]f32 = @splat(0); var m2: [3]f32 = @splat(0); + var h1: f32 = 1e9; + var h2: f32 = 1e9; var f1: f32 = big; var f2: f32 = big; var o1: [2]f32 = @splat(0); var o2: [2]f32 = @splat(0); var al1: [2]f32 = @splat(0); var al2: [2]f32 = @splat(0); - const rim = self.rimScale(liquid_glass.depthPx(self.look(), self.scale)); - const soft_k = liquid_glass.softness * rim; + const depth = liquid_glass.depthPx(self.look(), self.scale); for (0..self.shapeCount()) |shape_index| { const sh = self.shapeAt(shape_index); const is_panel = shape_index == self.len and self.panel != null; @@ -841,6 +842,7 @@ pub fn sampleWith(self: *const LiquidField, p: dvui.Point.Physical, l: glass_loo const lim = @min(half[0], half[1]); const radii: [4]f32 = .{ @min(sh.radii[0], lim), @min(sh.radii[1], lim), @min(sh.radii[2], lim), @min(sh.radii[3], lim) }; const d = if (is_panel) panelDistance(self.panel.?, .{ p.x, p.y }, 0, &g) else roundBox(.{ p.x - c[0], p.y - c[1] }, half, radii, &g); + const soft_k = liquid_glass.softness * self.scale * fitHalf(lim, depth); const mat: [3]f32 = .{ sh.blur, sh.lens, sh.light }; var al: [2]f32 = .{ 0, 0 }; if (lanes.edge[3] > 0) { @@ -854,13 +856,16 @@ pub fn sampleWith(self: *const LiquidField, p: dvui.Point.Physical, l: glass_loo if (d < d1) { d2 = d1; m2 = m1; + h2 = h1; al2 = al1; d1 = d; m1 = mat; + h1 = lim; al1 = al; } else if (d < d2) { d2 = d; m2 = mat; + h2 = lim; al2 = al; } var o: [2]f32 = g; @@ -891,16 +896,20 @@ pub fn sampleWith(self: *const LiquidField, p: dvui.Point.Physical, l: glass_loo if (self.edge != null and !cut) { const d = edge_gap - in_place; const mat: [3]f32 = .{ m1[0], m1[1], 0 }; + const hs = h1; if (d < d1) { d2 = d1; m2 = m1; + h2 = h1; al2 = al1; d1 = d; m1 = mat; + h1 = hs; al1 = .{ 0, 0 }; } else if (d < d2) { d2 = d; m2 = mat; + h2 = hs; al2 = .{ 0, 0 }; } const o: [2]f32 = .{ -place_out[0], -place_out[1] }; @@ -954,7 +963,7 @@ pub fn sampleWith(self: *const LiquidField, p: dvui.Point.Physical, l: glass_loo .d = dist, .coverage = coverage, .out = .{ .x = out[0], .y = out[1] }, - .steep = @exp(-soft / liquid_glass.depthPx(self.look(), rim)), + .steep = @exp(-soft / (depth * fitHalf(std.math.lerp(h1, h2, wm), depth))), .blur = std.math.lerp(m1[0], m2[0], wm), .lens = lens, .light = std.math.lerp(m1[2], m2[2], wm), diff --git a/backend/src/glass/liquid_field_tests.zig b/backend/src/glass/liquid_field_tests.zig index 0998e82f7..e5d8ffba1 100644 --- a/backend/src/glass/liquid_field_tests.zig +++ b/backend/src/glass/liquid_field_tests.zig @@ -650,3 +650,42 @@ test "the shadow grows the bounds and packs in vec4 11" { const u = f.pack(.{ .x = 0, .y = 0, .w = 200, .h = 120 }, false, &.{0}); try testing.expectEqual([4]f32{ shadow_fade, shadow_offset[0], shadow_offset[1], shadow_alpha }, u.vec4s()[11]); } + +/// A 300 x 44 bar at (0, 0), radius 22, and `bead`, a 12 pt drop, when there is one. +fn barWith(bead: ?Point) LiquidField { + var f: LiquidField = .{ .merge_px = 14 }; + f.add(.{ .rect = .{ .x = 0, .y = 0, .w = 300, .h = 44 }, .radii = @splat(22) }); + if (bead) |c| f.add(Shape.circle(c, 6)); + return f; +} + +test "a small drop elsewhere leaves a bar's rim whole" { + const alone = barWith(null); + const with = barWith(.{ .x = 150, .y = 200 }); + for ([_]Point{ .{ .x = 150, .y = 3 }, .{ .x = 40, .y = 8 }, .{ .x = 4, .y = 22 } }) |p| { + const a = alone.sampleWith(p, dropLook()); + const b = with.sampleWith(p, dropLook()); + try testing.expectApproxEqAbs(a.steep, b.steep, 1e-4); + try testing.expectApproxEqAbs(a.out.x, b.out.x, 1e-4); + try testing.expectApproxEqAbs(a.out.y, b.out.y, 1e-4); + } +} + +test "a bead joined to a bar leaves its rim whole away from the neck" { + const alone = barWith(null); + const with = barWith(.{ .x = 270, .y = 52 }); + try testing.expectEqual(@as(usize, 1), with.clusters().count); + for ([_]Point{ .{ .x = 40, .y = 3 }, .{ .x = 40, .y = 41 }, .{ .x = 4, .y = 22 } }) |p| { + const a = alone.sampleWith(p, dropLook()); + const b = with.sampleWith(p, dropLook()); + try testing.expectApproxEqAbs(a.steep, b.steep, 1e-4); + } +} + +test "a small drop's own rim still fits it" { + const with = barWith(.{ .x = 150, .y = 200 }); + var lone: LiquidField = .{ .merge_px = 14 }; + lone.add(Shape.circle(.{ .x = 150, .y = 200 }, 6)); + const p: Point = .{ .x = 150, .y = 195 }; + try testing.expectApproxEqAbs(lone.sampleWith(p, dropLook()).steep, with.sampleWith(p, dropLook()).steep, 1e-4); +} diff --git a/backend/src/glass/shaders/liquid_glass.fragment.hlsl b/backend/src/glass/shaders/liquid_glass.fragment.hlsl index 2bf7cbd4c..850150e28 100644 --- a/backend/src/glass/shaders/liquid_glass.fragment.hlsl +++ b/backend/src/glass/shaders/liquid_glass.fragment.hlsl @@ -20,6 +20,8 @@ // How far past its place's outline the outside of the place begins, in pixels: far enough that no // sliver of it shows inside, near enough that a shape at the outline still runs into it. #define EDGE_GAP 1.0 +// Depths of the curve a shape's shorter half needs before its rim is drawn whole (`liquid_glass.room`). +#define ROOM 3.0 // No SV_POSITION: D3D12 links a pixel shader's inputs to the vertex shader's outputs by register, // and the default vertex shader's third output (the instance) sits where a pixel position read @@ -174,6 +176,13 @@ float outlineAt(float2 q, int first, int count) return smin(d1, d2, max(uData[1].x, 0.0001), w); } +// How much of its rim a shape of shorter half `half` has room for, its curve `depth` deep +// (`LiquidField.fitHalf`): each shape's own, blended across a bridge. Never 0, which it divides. +float fitTo(float half, float depth) +{ + return clamp(half / (ROOM * depth), 0.0001, 1.0); +} + float noise(float2 p) { return frac(52.9829189 * frac(dot(p, float2(0.06711056, 0.00583715)))); @@ -231,9 +240,9 @@ float4 main(PSInput input) : SV_Target0 float2 o; float f = d; if (panel) { - f = panelDistance(p, g1.y, o); + f = panelDistance(p, g1.y * fitTo(hs, g1.z), o); } else if (s2.w < 0.5) { - f = softBox(p, s0, g1.y, o); + f = softBox(p, s0, g1.y * fitTo(hs, g1.z), o); } else { o = g; } @@ -295,8 +304,12 @@ float4 main(PSInput input) : SV_Target0 // folds in (a neck), which is no outline. float2 along = lerp(al1, al2, wm) * min(length(outv), 1.0); float soft = max(0.0, -F); - float steepR = exp(-soft / g1.z); - float steepL = exp(-soft / g1.w); + // The depths fitted to the shapes here, blended as they are: a small drop's rim its own size, + // a bar's whole beside it. + float hr = lerp(h1, h2, wm); + float fitR = fitTo(hr, g1.z); + float steepR = exp(-soft / (g1.z * fitR)); + float steepL = exp(-soft / (g1.w * fitTo(hr, g1.w))); float b = clamp(mat.x, 0.0, 1.0); float lens = mat.y; @@ -315,7 +328,7 @@ float4 main(PSInput input) : SV_Target0 disp = g5.z * W * lens * t * t; uv = clamp((p - outv * disp - g0.xy) * g0.zw, 0.0, 1.0); } else { - uv = clamp((p + outv * (g2.x * lens * steepR) - g0.xy) * g0.zw, 0.0, 1.0); + uv = clamp((p + outv * (g2.x * fitR * lens * steepR) - g0.xy) * g0.zw, 0.0, 1.0); } float4 frost = Frost.SampleLevel(FrostSampler, uv, 0.0); float4 sharp = g4.w > 0.5 ? Sharp.SampleLevel(SharpSampler, uv, 0.0) : frost; From 728e71f53ec3f51e76af2b8348d4f37f9c129735 Mon Sep 17 00:00:00 2001 From: Colton Franklin Date: Thu, 12 Nov 2026 09:13:11 -0600 Subject: [PATCH 2/3] generated shaders from CI artifact 13825287203 --- .../compiled/dxil/liquid_glass.fragment.dxil | Bin 17492 -> 17668 bytes .../compiled/glsl/liquid_glass.fragment.glsl | 1992 +++++++++-------- .../compiled/msl/liquid_glass.fragment.msl | 1960 ++++++++-------- .../compiled/spv/liquid_glass.fragment.spv | Bin 45532 -> 45976 bytes 4 files changed, 1980 insertions(+), 1972 deletions(-) diff --git a/backend/src/glass/shaders/compiled/dxil/liquid_glass.fragment.dxil b/backend/src/glass/shaders/compiled/dxil/liquid_glass.fragment.dxil index 02fc3930ea82a94db9d4d58a7378f4202b44d30d..aa011b9b4454348e282da069cbf48a057a502083 100644 GIT binary patch delta 9552 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 delta 9382 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 diff --git a/backend/src/glass/shaders/compiled/glsl/liquid_glass.fragment.glsl b/backend/src/glass/shaders/compiled/glsl/liquid_glass.fragment.glsl index 3bc995cad..b32c5c392 100644 --- a/backend/src/glass/shaders/compiled/glsl/liquid_glass.fragment.glsl +++ b/backend/src/glass/shaders/compiled/glsl/liquid_glass.fragment.glsl @@ -12,308 +12,308 @@ layout(location = 0) out highp vec4 out_var_SV_Target0; void main() { - highp vec4 _2007; + highp vec4 _2027; do { - int _114 = int((vColor.y * 255.0) + 0.5); - int _119 = int((vColor.z * 255.0) + 0.5); - bool _145 = uData[5].y > 0.0; - highp vec4 _147; - highp vec4 _150; - highp vec2 _152; - highp float _154; - highp vec2 _156; - highp vec2 _158; - highp vec2 _160; - highp float _162; - highp float _164; - highp vec2 _166; - highp vec2 _168; - highp float _170; - highp float _172; - highp float _174; - _147 = vec4(0.0); - _150 = vec4(0.0); - _152 = vec2(0.0, 1.0); - _154 = 1000000000.0; - _156 = vec2(0.0); - _158 = vec2(0.0); - _160 = vec2(0.0); - _162 = 1000000000.0; - _164 = 1000000000.0; - _166 = vec2(0.0); - _168 = vec2(0.0, 1.0); - _170 = 1000000000.0; - _172 = 1000000000.0; - _174 = 1000000000.0; - highp vec4 _151; - highp vec2 _161; - highp float _165; - highp vec2 _167; - highp float _173; - highp float _175; - int _180; + int _115 = int((vColor.y * 255.0) + 0.5); + int _120 = int((vColor.z * 255.0) + 0.5); + bool _146 = uData[5].y > 0.0; highp vec4 _148; + highp vec4 _151; highp vec2 _153; highp float _155; highp vec2 _157; highp vec2 _159; + highp vec2 _161; highp float _163; + highp float _165; + highp vec2 _167; highp vec2 _169; highp float _171; - int _176 = _114; + highp float _173; + highp float _175; + _148 = vec4(0.0); + _151 = vec4(0.0); + _153 = vec2(0.0, 1.0); + _155 = 1000000000.0; + _157 = vec2(0.0); + _159 = vec2(0.0); + _161 = vec2(0.0); + _163 = 1000000000.0; + _165 = 1000000000.0; + _167 = vec2(0.0); + _169 = vec2(0.0, 1.0); + _171 = 1000000000.0; + _173 = 1000000000.0; + _175 = 1000000000.0; + highp vec4 _152; + highp vec2 _162; + highp float _166; + highp vec2 _168; + highp float _174; + highp float _176; + int _181; + highp vec4 _149; + highp vec2 _154; + highp float _156; + highp vec2 _158; + highp vec2 _160; + highp float _164; + highp vec2 _170; + highp float _172; + int _177 = _115; for (;;) { - _180 = _114 + _119; - bool _185; - if (_176 < _180) + _181 = _115 + _120; + bool _186; + if (_177 < _181) { - _185 = _176 < 16; + _186 = _177 < 16; } else { - _185 = false; + _186 = false; } - if (_185) + if (_186) { - int _187 = 3 * _176; - int _194 = _187 + 14; - bool _202; - if (uData[_194 * 1 + 0].w >= (-0.5)) + int _188 = 3 * _177; + int _195 = _188 + 14; + bool _203; + if (uData[_195 * 1 + 0].w >= (-0.5)) { - _202 = uData[_194 * 1 + 0].w > 3.5; + _203 = uData[_195 * 1 + 0].w > 3.5; } else { - _202 = true; + _203 = true; } - highp vec4 _212; highp vec4 _213; highp vec4 _214; - if (_202) + highp vec4 _215; + if (_203) { - highp vec4 _210 = uData[59]; - _210.z = 0.0; - _212 = _210; - _213 = uData[57]; - _214 = uData[58]; + highp vec4 _211 = uData[59]; + _211.z = 0.0; + _213 = _211; + _214 = uData[57]; + _215 = uData[58]; } else { - _212 = uData[_194 * 1 + 0]; - _213 = uData[(12 + _187) * 1 + 0]; - _214 = uData[(_187 + 13) * 1 + 0]; + _213 = uData[_195 * 1 + 0]; + _214 = uData[(12 + _188) * 1 + 0]; + _215 = uData[(_188 + 13) * 1 + 0]; } - highp float _217 = min(_213.z, _213.w); - highp vec4 _219 = min(_214, vec4(_217)); - highp vec2 _504; - highp float _505; - if (_202) + highp float _218 = min(_214.z, _214.w); + highp vec4 _220 = min(_215, vec4(_218)); + highp vec2 _505; + highp float _506; + if (_203) { - highp vec4 _294 = min(uData[58], vec4(min(uData[57].z, uData[57].w))); - int _297 = int(uData[59].z); - highp vec2 _299 = vTextureCoord - uData[57].xy; - highp float _301 = _299.x; - highp float _322; - if (_301 > 0.0) + highp vec4 _295 = min(uData[58], vec4(min(uData[57].z, uData[57].w))); + int _298 = int(uData[59].z); + highp vec2 _300 = vTextureCoord - uData[57].xy; + highp float _302 = _300.x; + highp float _323; + if (_302 > 0.0) { - highp float _321; - if (_299.y > 0.0) + highp float _322; + if (_300.y > 0.0) { - _321 = _294.z; + _322 = _295.z; } else { - _321 = _294.y; + _322 = _295.y; } - _322 = _321; + _323 = _322; } else { - highp float _313; - if (_299.y > 0.0) + highp float _314; + if (_300.y > 0.0) { - _313 = _294.w; + _314 = _295.w; } else { - _313 = _294.x; + _314 = _295.x; } - _322 = _313; + _323 = _314; } - highp vec2 _326 = (abs(_299) - uData[57].zw) + vec2(_322); - highp float _328 = (_301 < 0.0) ? (-1.0) : 1.0; - highp float _331 = (_299.y < 0.0) ? (-1.0) : 1.0; - highp float _333 = _326.x; - bool _339; - if (_333 > 0.0) + highp vec2 _327 = (abs(_300) - uData[57].zw) + vec2(_323); + highp float _329 = (_302 < 0.0) ? (-1.0) : 1.0; + highp float _332 = (_300.y < 0.0) ? (-1.0) : 1.0; + highp float _334 = _327.x; + bool _340; + if (_334 > 0.0) { - _339 = _326.y > 0.0; + _340 = _327.y > 0.0; } else { - _339 = false; + _340 = false; } - highp vec2 _353; - if (_339) + highp vec2 _354; + if (_340) { - _353 = normalize(_326) * vec2(_328, _331); + _354 = normalize(_327) * vec2(_329, _332); } else { - highp vec2 _350; - if (_333 > _326.y) + highp vec2 _351; + if (_334 > _327.y) { - _350 = vec2(_328, 0.0); + _351 = vec2(_329, 0.0); } else { - _350 = vec2(0.0, _331); + _351 = vec2(0.0, _332); } - _353 = _350; + _354 = _351; } - highp vec2 _362; - highp float _365; - _362 = _353; - _365 = (min(max(_333, _326.y), 0.0) + length(max(_326, vec2(0.0)))) - _322; highp vec2 _363; highp float _366; - int _367 = 0; + _363 = _354; + _366 = (min(max(_334, _327.y), 0.0) + length(max(_327, vec2(0.0)))) - _323; + highp vec2 _364; + highp float _367; + int _368 = 0; for (;;) { - bool _375; - if (_367 < _297) + bool _376; + if (_368 < _298) { - _375 = _367 < 4; + _376 = _368 < 4; } else { - _375 = false; + _376 = false; } - if (_375) + if (_376) { - int _377 = 14 - _367; - int _378 = 3 * _377; - int _379 = 12 + _378; - int _382 = _378 + 13; - if (uData[_382 * 1 + 0].x == 0.0) + int _378 = 14 - _368; + int _379 = 3 * _378; + int _380 = 12 + _379; + int _383 = _379 + 13; + if (uData[_383 * 1 + 0].x == 0.0) { - _363 = _362; - _366 = _365; - int _368 = _367 + 1; - _362 = _363; - _365 = _366; - _367 = _368; + _364 = _363; + _367 = _366; + int _369 = _368 + 1; + _363 = _364; + _366 = _367; + _368 = _369; continue; } - highp float _391 = clamp(uData[_382 * 1 + 0].x / uData[_382 * 1 + 0].y, 0.0, 1.0); - bool _393 = uData[_379 * 1 + 0].x < 0.5; - highp float _401; - if (_393) + highp float _392 = clamp(uData[_383 * 1 + 0].x / uData[_383 * 1 + 0].y, 0.0, 1.0); + bool _394 = uData[_380 * 1 + 0].x < 0.5; + highp float _402; + if (_394) { - _401 = vTextureCoord.y; + _402 = vTextureCoord.y; } else { - _401 = vTextureCoord.x; + _402 = vTextureCoord.x; } - highp float _409; - if (_393) + highp float _410; + if (_394) { - _409 = vTextureCoord.x; + _410 = vTextureCoord.x; } else { - _409 = vTextureCoord.y; + _410 = vTextureCoord.y; } - highp float _411 = _409 - uData[_379 * 1 + 0].y; - highp float _412 = uData[_382 * 1 + 0].x * 0.5; - highp float _415 = uData[_379 * 1 + 0].w - uData[_379 * 1 + 0].z; - highp float _416 = smoothstep(0.0, 0.60000002384185791015625, _391); - highp float _445; + highp float _412 = _410 - uData[_380 * 1 + 0].y; + highp float _413 = uData[_383 * 1 + 0].x * 0.5; + highp float _416 = uData[_380 * 1 + 0].w - uData[_380 * 1 + 0].z; + highp float _417 = smoothstep(0.0, 0.60000002384185791015625, _392); highp float _446; - if (uData[_382 * 1 + 0].w > 2.5) + highp float _447; + if (uData[_383 * 1 + 0].w > 2.5) { - highp float _436 = _401 - ((uData[_379 * 1 + 0].z + uData[_379 * 1 + 0].w) * 0.5); - _445 = (_436 < 0.0) ? 1.0 : (-1.0); - _446 = max(((_415 * 0.5) * (1.0 - _416)) - abs(_436), 0.0); + highp float _437 = _402 - ((uData[_380 * 1 + 0].z + uData[_380 * 1 + 0].w) * 0.5); + _446 = (_437 < 0.0) ? 1.0 : (-1.0); + _447 = max(((_416 * 0.5) * (1.0 - _417)) - abs(_437), 0.0); } else { - bool _422 = uData[_382 * 1 + 0].w < 1.5; - highp float _428; - if (_422) + bool _423 = uData[_383 * 1 + 0].w < 1.5; + highp float _429; + if (_423) { - _428 = _401 - uData[_379 * 1 + 0].z; + _429 = _402 - uData[_380 * 1 + 0].z; } else { - _428 = uData[_379 * 1 + 0].w - _401; + _429 = uData[_380 * 1 + 0].w - _402; } - _445 = _422 ? 1.0 : (-1.0); - _446 = max(_428 - ((_415 - _412) * _416), 0.0); + _446 = _423 ? 1.0 : (-1.0); + _447 = max(_429 - ((_416 - _413) * _417), 0.0); } - highp float _448 = length(vec2(_411, _446)); - highp float _449 = _448 - _412; - highp vec2 _464; - if (_448 > 0.0) + highp float _449 = length(vec2(_412, _447)); + highp float _450 = _449 - _413; + highp vec2 _465; + if (_449 > 0.0) { - highp vec2 _458 = vec2(-_411, (-_446) * _445) / vec2(_448); - highp vec2 _463; - if (uData[_379 * 1 + 0].x > 0.5) + highp vec2 _459 = vec2(-_412, (-_447) * _446) / vec2(_449); + highp vec2 _464; + if (uData[_380 * 1 + 0].x > 0.5) { - _463 = _458.yx; + _464 = _459.yx; } else { - _463 = _458; + _464 = _459; } - _464 = _463; + _465 = _464; } else { - _464 = vec2(0.0); + _465 = vec2(0.0); } - highp float _466 = uData[_382 * 1 + 0].z * _391; - highp vec2 _470 = max(vec2(_466 + _365, _466 - _449), vec2(0.0)); - highp float _471 = length(_470); - bool _476; - if (_466 > 0.0) + highp float _467 = uData[_383 * 1 + 0].z * _392; + highp vec2 _471 = max(vec2(_467 + _366, _467 - _450), vec2(0.0)); + highp float _472 = length(_471); + bool _477; + if (_467 > 0.0) { - _476 = _471 > 0.0; + _477 = _472 > 0.0; } else { - _476 = false; + _477 = false; } - highp vec2 _491; - if (_476) + highp vec2 _492; + if (_477) { - _491 = ((_362 * _470.x) + (_464 * _470.y)) / vec2(_471); + _492 = ((_363 * _471.x) + (_465 * _471.y)) / vec2(_472); } else { - bvec2 _482 = bvec2((-_449) > _365); - _491 = vec2(_482.x ? _464.x : _362.x, _482.y ? _464.y : _362.y); + bvec2 _483 = bvec2((-_450) > _366); + _492 = vec2(_483.x ? _465.x : _363.x, _483.y ? _465.y : _363.y); } - highp float _492 = -_449; - highp float _503; + highp float _493 = -_450; + highp float _504; do { - if (_466 == 0.0) + if (_467 == 0.0) { - _503 = max(_365, _492); + _504 = max(_366, _493); break; } - _503 = min(-_466, max(_365, _492)) + _471; + _504 = min(-_467, max(_366, _493)) + _472; break; } while(false); - _363 = _491; - _366 = _503; - int _368 = _367 + 1; - _362 = _363; - _365 = _366; - _367 = _368; + _364 = _492; + _367 = _504; + int _369 = _368 + 1; + _363 = _364; + _366 = _367; + _368 = _369; continue; } else @@ -321,465 +321,466 @@ void main() break; } } - _504 = _362; - _505 = _365; + _505 = _363; + _506 = _366; } else { - highp vec2 _224 = vTextureCoord - _213.xy; - highp float _226 = _224.x; - highp float _247; - if (_226 > 0.0) + highp vec2 _225 = vTextureCoord - _214.xy; + highp float _227 = _225.x; + highp float _248; + if (_227 > 0.0) { - highp float _246; - if (_224.y > 0.0) + highp float _247; + if (_225.y > 0.0) { - _246 = _219.z; + _247 = _220.z; } else { - _246 = _219.y; + _247 = _220.y; } - _247 = _246; + _248 = _247; } else { - highp float _238; - if (_224.y > 0.0) + highp float _239; + if (_225.y > 0.0) { - _238 = _219.w; + _239 = _220.w; } else { - _238 = _219.x; + _239 = _220.x; } - _247 = _238; + _248 = _239; } - highp vec2 _251 = (abs(_224) - _213.zw) + vec2(_247); - highp float _253 = (_226 < 0.0) ? (-1.0) : 1.0; - highp float _256 = (_224.y < 0.0) ? (-1.0) : 1.0; - highp float _258 = _251.x; - bool _264; - if (_258 > 0.0) + highp vec2 _252 = (abs(_225) - _214.zw) + vec2(_248); + highp float _254 = (_227 < 0.0) ? (-1.0) : 1.0; + highp float _257 = (_225.y < 0.0) ? (-1.0) : 1.0; + highp float _259 = _252.x; + bool _265; + if (_259 > 0.0) { - _264 = _251.y > 0.0; + _265 = _252.y > 0.0; } else { - _264 = false; + _265 = false; } - highp vec2 _278; - if (_264) + highp vec2 _279; + if (_265) { - _278 = normalize(_251) * vec2(_253, _256); + _279 = normalize(_252) * vec2(_254, _257); } else { - highp vec2 _275; - if (_258 > _251.y) + highp vec2 _276; + if (_259 > _252.y) { - _275 = vec2(_253, 0.0); + _276 = vec2(_254, 0.0); } else { - _275 = vec2(0.0, _256); + _276 = vec2(0.0, _257); } - _278 = _275; + _279 = _276; } - _504 = _278; - _505 = (min(max(_258, _251.y), 0.0) + length(max(_251, vec2(0.0)))) - _247; + _505 = _279; + _506 = (min(max(_259, _252.y), 0.0) + length(max(_252, vec2(0.0)))) - _248; } - highp vec2 _653; + highp vec2 _654; if (uData[10].w > 0.0) { - highp float _514 = (uData[9].x < 0.0) ? (-1.0) : 1.0; - highp float _517 = (uData[9].y < 0.0) ? (-1.0) : 1.0; - highp float _537; - if (_514 < 0.0) + highp float _515 = (uData[9].x < 0.0) ? (-1.0) : 1.0; + highp float _518 = (uData[9].y < 0.0) ? (-1.0) : 1.0; + highp float _538; + if (_515 < 0.0) { - highp float _536; - if (_517 < 0.0) + highp float _537; + if (_518 < 0.0) { - _536 = _219.x; + _537 = _220.x; } else { - _536 = _219.w; + _537 = _220.w; } - _537 = _536; + _538 = _537; } else { - highp float _529; - if (_517 < 0.0) + highp float _530; + if (_518 < 0.0) { - _529 = _219.y; + _530 = _220.y; } else { - _529 = _219.z; + _530 = _220.z; } - _537 = _529; + _538 = _530; } - highp vec2 _541 = max(_213.zw - vec2(_537), vec2(0.0)); - highp vec2 _546 = (_213.xy + (vec2(_514, _517) * _541)) + (uData[9].xy * _537); - highp vec2 _561; + highp vec2 _542 = max(_214.zw - vec2(_538), vec2(0.0)); + highp vec2 _547 = (_214.xy + (vec2(_515, _518) * _542)) + (uData[9].xy * _538); + highp vec2 _562; if (abs(uData[9].x) < 0.001000000047497451305389404296875) { - highp float _554 = _541.x; - highp vec2 _560 = _546; - _560.x = clamp(vTextureCoord.x, _213.x - _554, _213.x + _554) + (_537 * uData[9].x); - _561 = _560; + highp float _555 = _542.x; + highp vec2 _561 = _547; + _561.x = clamp(vTextureCoord.x, _214.x - _555, _214.x + _555) + (_538 * uData[9].x); + _562 = _561; } else { - _561 = _546; + _562 = _547; } - highp vec2 _576; + highp vec2 _577; if (abs(uData[9].y) < 0.001000000047497451305389404296875) { - highp float _569 = _541.y; - highp vec2 _575 = _561; - _575.y = clamp(vTextureCoord.y, _213.y - _569, _213.y + _569) + (_537 * uData[9].y); - _576 = _575; + highp float _570 = _542.y; + highp vec2 _576 = _562; + _576.y = clamp(vTextureCoord.y, _214.y - _570, _214.y + _570) + (_538 * uData[9].y); + _577 = _576; } else { - _576 = _561; + _577 = _562; } - highp float _579 = max(uData[10].w - max(uData[8].w, 1.0), 0.0); - highp vec2 _584 = -uData[9].xy; - highp float _585 = _584.x; - highp float _587 = (_585 < 0.0) ? (-1.0) : 1.0; - highp float _588 = _584.y; - highp float _590 = (_588 < 0.0) ? (-1.0) : 1.0; - highp float _610; - if (_587 < 0.0) + highp float _580 = max(uData[10].w - max(uData[8].w, 1.0), 0.0); + highp vec2 _585 = -uData[9].xy; + highp float _586 = _585.x; + highp float _588 = (_586 < 0.0) ? (-1.0) : 1.0; + highp float _589 = _585.y; + highp float _591 = (_589 < 0.0) ? (-1.0) : 1.0; + highp float _611; + if (_588 < 0.0) { - highp float _609; - if (_590 < 0.0) + highp float _610; + if (_591 < 0.0) { - _609 = _219.x; + _610 = _220.x; } else { - _609 = _219.w; + _610 = _220.w; } - _610 = _609; + _611 = _610; } else { - highp float _602; - if (_590 < 0.0) + highp float _603; + if (_591 < 0.0) { - _602 = _219.y; + _603 = _220.y; } else { - _602 = _219.z; + _603 = _220.z; } - _610 = _602; + _611 = _603; } - highp vec2 _613 = max(_213.zw - vec2(_610), vec2(0.0)); - highp vec2 _617 = (_213.xy + (vec2(_587, _590) * _613)) + (_584 * _610); - highp vec2 _632; - if (abs(_585) < 0.001000000047497451305389404296875) + highp vec2 _614 = max(_214.zw - vec2(_611), vec2(0.0)); + highp vec2 _618 = (_214.xy + (vec2(_588, _591) * _614)) + (_585 * _611); + highp vec2 _633; + if (abs(_586) < 0.001000000047497451305389404296875) { - highp float _625 = _613.x; - highp vec2 _631 = _617; - _631.x = clamp(vTextureCoord.x, _213.x - _625, _213.x + _625) + (_610 * _585); - _632 = _631; + highp float _626 = _614.x; + highp vec2 _632 = _618; + _632.x = clamp(vTextureCoord.x, _214.x - _626, _214.x + _626) + (_611 * _586); + _633 = _632; } else { - _632 = _617; + _633 = _618; } - highp vec2 _647; - if (abs(_588) < 0.001000000047497451305389404296875) + highp vec2 _648; + if (abs(_589) < 0.001000000047497451305389404296875) { - highp float _640 = _613.y; - highp vec2 _646 = _632; - _646.y = clamp(vTextureCoord.y, _213.y - _640, _213.y + _640) + (_610 * _588); - _647 = _646; + highp float _641 = _614.y; + highp vec2 _647 = _633; + _647.y = clamp(vTextureCoord.y, _214.y - _641, _214.y + _641) + (_611 * _589); + _648 = _647; } else { - _647 = _632; + _648 = _633; } - _653 = vec2(1.0 - smoothstep(_579, uData[10].w, length(vTextureCoord - _576)), 1.0 - smoothstep(_579, uData[10].w, length(vTextureCoord - _647))); + _654 = vec2(1.0 - smoothstep(_580, uData[10].w, length(vTextureCoord - _577)), 1.0 - smoothstep(_580, uData[10].w, length(vTextureCoord - _648))); } else { - _653 = vec2(0.0); + _654 = vec2(0.0); } - bool _654 = _505 < _172; - if (_654) + bool _655 = _506 < _173; + if (_655) { - _148 = _150; - _153 = _168; - _155 = _174; - _157 = _166; - _169 = _213.yw; - _171 = _172; + _149 = _151; + _154 = _169; + _156 = _175; + _158 = _167; + _170 = _214.yw; + _172 = _173; } else { - bool _658 = _505 < _170; - highp vec2 _662; - if (_658) + bool _659 = _506 < _171; + highp vec2 _663; + if (_659) { - _662 = _213.yw; + _663 = _214.yw; } else { - _662 = _152; + _663 = _153; } - bvec4 _663 = bvec4(_658); - bvec2 _666 = bvec2(_658); - _148 = vec4(_663.x ? _212.x : _147.x, _663.y ? _212.y : _147.y, _663.z ? _212.z : _147.z, _663.w ? _212.w : _147.w); - _153 = _662; - _155 = _658 ? _217 : _154; - _157 = vec2(_666.x ? _653.x : _156.x, _666.y ? _653.y : _156.y); - _169 = _168; - _171 = _658 ? _505 : _170; + bvec4 _664 = bvec4(_659); + bvec2 _667 = bvec2(_659); + _149 = vec4(_664.x ? _213.x : _148.x, _664.y ? _213.y : _148.y, _664.z ? _213.z : _148.z, _664.w ? _213.w : _148.w); + _154 = _663; + _156 = _659 ? _218 : _155; + _158 = vec2(_667.x ? _654.x : _157.x, _667.y ? _654.y : _157.y); + _170 = _169; + _172 = _659 ? _506 : _171; } - bvec4 _670 = bvec4(_654); - _151 = vec4(_670.x ? _212.x : _150.x, _670.y ? _212.y : _150.y, _670.z ? _212.z : _150.z, _670.w ? _212.w : _150.w); - bvec2 _671 = bvec2(_654); - _167 = vec2(_671.x ? _653.x : _166.x, _671.y ? _653.y : _166.y); - _173 = _654 ? _505 : _172; - _175 = _654 ? _217 : _174; - highp vec2 _984; - highp float _985; - if (_202) + bvec4 _671 = bvec4(_655); + _152 = vec4(_671.x ? _213.x : _151.x, _671.y ? _213.y : _151.y, _671.z ? _213.z : _151.z, _671.w ? _213.w : _151.w); + bvec2 _672 = bvec2(_655); + _168 = vec2(_672.x ? _654.x : _167.x, _672.y ? _654.y : _167.y); + _174 = _655 ? _506 : _173; + _176 = _655 ? _218 : _175; + highp vec2 _995; + highp float _996; + if (_203) { - highp vec4 _730 = min(uData[58], vec4(min(uData[57].z, uData[57].w))); - int _733 = int(uData[59].z); - highp vec2 _839; - highp float _840; - if (uData[1].y > 0.0) + highp float _732 = uData[1].y * clamp(_218 / (3.0 * uData[1].z), 9.9999997473787516355514526367188e-05, 1.0); + highp vec4 _741 = min(uData[58], vec4(min(uData[57].z, uData[57].w))); + int _744 = int(uData[59].z); + highp vec2 _850; + highp float _851; + if (_732 > 0.0) { - highp float _805 = (vTextureCoord.x - uData[57].x) + uData[57].z; - highp float _807 = (uData[57].x + uData[57].z) - vTextureCoord.x; - highp float _812 = (vTextureCoord.y - uData[57].y) + uData[57].w; - highp float _814 = (uData[57].y + uData[57].w) - vTextureCoord.y; - highp float _818 = min(min(_805, _807), min(_812, _814)); - highp vec4 _823 = exp((vec4(_818) - vec4(_805, _807, _812, _814)) / vec4(uData[1].y)); - highp float _824 = _823.x; - highp float _825 = _823.y; - highp float _827 = _823.z; - highp float _829 = _823.w; - highp float _830 = ((_824 + _825) + _827) + _829; - _839 = vec2(_825 - _824, _829 - _827) / vec2(_830); - _840 = (uData[1].y * log(_830)) - _818; + highp float _816 = (vTextureCoord.x - uData[57].x) + uData[57].z; + highp float _818 = (uData[57].x + uData[57].z) - vTextureCoord.x; + highp float _823 = (vTextureCoord.y - uData[57].y) + uData[57].w; + highp float _825 = (uData[57].y + uData[57].w) - vTextureCoord.y; + highp float _829 = min(min(_816, _818), min(_823, _825)); + highp vec4 _834 = exp((vec4(_829) - vec4(_816, _818, _823, _825)) / vec4(_732)); + highp float _835 = _834.x; + highp float _836 = _834.y; + highp float _838 = _834.z; + highp float _840 = _834.w; + highp float _841 = ((_835 + _836) + _838) + _840; + _850 = vec2(_836 - _835, _840 - _838) / vec2(_841); + _851 = (_732 * log(_841)) - _829; } else { - highp vec2 _739 = vTextureCoord - uData[57].xy; - highp float _741 = _739.x; - highp float _762; - if (_741 > 0.0) + highp vec2 _750 = vTextureCoord - uData[57].xy; + highp float _752 = _750.x; + highp float _773; + if (_752 > 0.0) { - highp float _761; - if (_739.y > 0.0) + highp float _772; + if (_750.y > 0.0) { - _761 = _730.z; + _772 = _741.z; } else { - _761 = _730.y; + _772 = _741.y; } - _762 = _761; + _773 = _772; } else { - highp float _753; - if (_739.y > 0.0) + highp float _764; + if (_750.y > 0.0) { - _753 = _730.w; + _764 = _741.w; } else { - _753 = _730.x; + _764 = _741.x; } - _762 = _753; + _773 = _764; } - highp vec2 _766 = (abs(_739) - uData[57].zw) + vec2(_762); - highp float _768 = (_741 < 0.0) ? (-1.0) : 1.0; - highp float _771 = (_739.y < 0.0) ? (-1.0) : 1.0; - highp float _773 = _766.x; - bool _779; - if (_773 > 0.0) + highp vec2 _777 = (abs(_750) - uData[57].zw) + vec2(_773); + highp float _779 = (_752 < 0.0) ? (-1.0) : 1.0; + highp float _782 = (_750.y < 0.0) ? (-1.0) : 1.0; + highp float _784 = _777.x; + bool _790; + if (_784 > 0.0) { - _779 = _766.y > 0.0; + _790 = _777.y > 0.0; } else { - _779 = false; + _790 = false; } - highp vec2 _793; - if (_779) + highp vec2 _804; + if (_790) { - _793 = normalize(_766) * vec2(_768, _771); + _804 = normalize(_777) * vec2(_779, _782); } else { - highp vec2 _790; - if (_773 > _766.y) + highp vec2 _801; + if (_784 > _777.y) { - _790 = vec2(_768, 0.0); + _801 = vec2(_779, 0.0); } else { - _790 = vec2(0.0, _771); + _801 = vec2(0.0, _782); } - _793 = _790; + _804 = _801; } - _839 = _793; - _840 = (min(max(_773, _766.y), 0.0) + length(max(_766, vec2(0.0)))) - _762; + _850 = _804; + _851 = (min(max(_784, _777.y), 0.0) + length(max(_777, vec2(0.0)))) - _773; } - highp vec2 _842; - highp float _845; - _842 = _839; - _845 = _840; - highp vec2 _843; - highp float _846; - int _847 = 0; + highp vec2 _853; + highp float _856; + _853 = _850; + _856 = _851; + highp vec2 _854; + highp float _857; + int _858 = 0; for (;;) { - bool _855; - if (_847 < _733) + bool _866; + if (_858 < _744) { - _855 = _847 < 4; + _866 = _858 < 4; } else { - _855 = false; + _866 = false; } - if (_855) + if (_866) { - int _857 = 14 - _847; - int _858 = 3 * _857; - int _859 = 12 + _858; - int _862 = _858 + 13; - if (uData[_862 * 1 + 0].x == 0.0) + int _868 = 14 - _858; + int _869 = 3 * _868; + int _870 = 12 + _869; + int _873 = _869 + 13; + if (uData[_873 * 1 + 0].x == 0.0) { - _843 = _842; - _846 = _845; - int _848 = _847 + 1; - _842 = _843; - _845 = _846; - _847 = _848; + _854 = _853; + _857 = _856; + int _859 = _858 + 1; + _853 = _854; + _856 = _857; + _858 = _859; continue; } - highp float _871 = clamp(uData[_862 * 1 + 0].x / uData[_862 * 1 + 0].y, 0.0, 1.0); - bool _873 = uData[_859 * 1 + 0].x < 0.5; - highp float _881; - if (_873) + highp float _882 = clamp(uData[_873 * 1 + 0].x / uData[_873 * 1 + 0].y, 0.0, 1.0); + bool _884 = uData[_870 * 1 + 0].x < 0.5; + highp float _892; + if (_884) { - _881 = vTextureCoord.y; + _892 = vTextureCoord.y; } else { - _881 = vTextureCoord.x; + _892 = vTextureCoord.x; } - highp float _889; - if (_873) + highp float _900; + if (_884) { - _889 = vTextureCoord.x; + _900 = vTextureCoord.x; } else { - _889 = vTextureCoord.y; + _900 = vTextureCoord.y; } - highp float _891 = _889 - uData[_859 * 1 + 0].y; - highp float _892 = uData[_862 * 1 + 0].x * 0.5; - highp float _895 = uData[_859 * 1 + 0].w - uData[_859 * 1 + 0].z; - highp float _896 = smoothstep(0.0, 0.60000002384185791015625, _871); - highp float _925; - highp float _926; - if (uData[_862 * 1 + 0].w > 2.5) + highp float _902 = _900 - uData[_870 * 1 + 0].y; + highp float _903 = uData[_873 * 1 + 0].x * 0.5; + highp float _906 = uData[_870 * 1 + 0].w - uData[_870 * 1 + 0].z; + highp float _907 = smoothstep(0.0, 0.60000002384185791015625, _882); + highp float _936; + highp float _937; + if (uData[_873 * 1 + 0].w > 2.5) { - highp float _916 = _881 - ((uData[_859 * 1 + 0].z + uData[_859 * 1 + 0].w) * 0.5); - _925 = (_916 < 0.0) ? 1.0 : (-1.0); - _926 = max(((_895 * 0.5) * (1.0 - _896)) - abs(_916), 0.0); + highp float _927 = _892 - ((uData[_870 * 1 + 0].z + uData[_870 * 1 + 0].w) * 0.5); + _936 = (_927 < 0.0) ? 1.0 : (-1.0); + _937 = max(((_906 * 0.5) * (1.0 - _907)) - abs(_927), 0.0); } else { - bool _902 = uData[_862 * 1 + 0].w < 1.5; - highp float _908; - if (_902) + bool _913 = uData[_873 * 1 + 0].w < 1.5; + highp float _919; + if (_913) { - _908 = _881 - uData[_859 * 1 + 0].z; + _919 = _892 - uData[_870 * 1 + 0].z; } else { - _908 = uData[_859 * 1 + 0].w - _881; + _919 = uData[_870 * 1 + 0].w - _892; } - _925 = _902 ? 1.0 : (-1.0); - _926 = max(_908 - ((_895 - _892) * _896), 0.0); + _936 = _913 ? 1.0 : (-1.0); + _937 = max(_919 - ((_906 - _903) * _907), 0.0); } - highp float _928 = length(vec2(_891, _926)); - highp float _929 = _928 - _892; - highp vec2 _944; - if (_928 > 0.0) + highp float _939 = length(vec2(_902, _937)); + highp float _940 = _939 - _903; + highp vec2 _955; + if (_939 > 0.0) { - highp vec2 _938 = vec2(-_891, (-_926) * _925) / vec2(_928); - highp vec2 _943; - if (uData[_859 * 1 + 0].x > 0.5) + highp vec2 _949 = vec2(-_902, (-_937) * _936) / vec2(_939); + highp vec2 _954; + if (uData[_870 * 1 + 0].x > 0.5) { - _943 = _938.yx; + _954 = _949.yx; } else { - _943 = _938; + _954 = _949; } - _944 = _943; + _955 = _954; } else { - _944 = vec2(0.0); + _955 = vec2(0.0); } - highp float _946 = uData[_862 * 1 + 0].z * _871; - highp vec2 _950 = max(vec2(_946 + _845, _946 - _929), vec2(0.0)); - highp float _951 = length(_950); - bool _956; - if (_946 > 0.0) + highp float _957 = uData[_873 * 1 + 0].z * _882; + highp vec2 _961 = max(vec2(_957 + _856, _957 - _940), vec2(0.0)); + highp float _962 = length(_961); + bool _967; + if (_957 > 0.0) { - _956 = _951 > 0.0; + _967 = _962 > 0.0; } else { - _956 = false; + _967 = false; } - highp vec2 _971; - if (_956) + highp vec2 _982; + if (_967) { - _971 = ((_842 * _950.x) + (_944 * _950.y)) / vec2(_951); + _982 = ((_853 * _961.x) + (_955 * _961.y)) / vec2(_962); } else { - bvec2 _962 = bvec2((-_929) > _845); - _971 = vec2(_962.x ? _944.x : _842.x, _962.y ? _944.y : _842.y); + bvec2 _973 = bvec2((-_940) > _856); + _982 = vec2(_973.x ? _955.x : _853.x, _973.y ? _955.y : _853.y); } - highp float _972 = -_929; - highp float _983; + highp float _983 = -_940; + highp float _994; do { - if (_946 == 0.0) + if (_957 == 0.0) { - _983 = max(_845, _972); + _994 = max(_856, _983); break; } - _983 = min(-_946, max(_845, _972)) + _951; + _994 = min(-_957, max(_856, _983)) + _962; break; } while(false); - _843 = _971; - _846 = _983; - int _848 = _847 + 1; - _842 = _843; - _845 = _846; - _847 = _848; + _854 = _982; + _857 = _994; + int _859 = _858 + 1; + _853 = _854; + _856 = _857; + _858 = _859; continue; } else @@ -787,68 +788,69 @@ void main() break; } } - _984 = _842; - _985 = _845; + _995 = _853; + _996 = _856; } else { - highp vec2 _719; - highp float _720; - if (_212.w < 0.5) + highp vec2 _725; + highp float _726; + if (_213.w < 0.5) { - highp float _685 = (vTextureCoord.x - _213.x) + _213.z; - highp float _687 = (_213.x + _213.z) - vTextureCoord.x; - highp float _692 = (vTextureCoord.y - _213.y) + _213.w; - highp float _694 = (_213.y + _213.w) - vTextureCoord.y; - highp float _698 = min(min(_685, _687), min(_692, _694)); - highp vec4 _703 = exp((vec4(_698) - vec4(_685, _687, _692, _694)) / vec4(uData[1].y)); - highp float _704 = _703.x; - highp float _705 = _703.y; - highp float _707 = _703.z; - highp float _709 = _703.w; - highp float _710 = ((_704 + _705) + _707) + _709; - _719 = vec2(_705 - _704, _709 - _707) / vec2(_710); - _720 = (uData[1].y * log(_710)) - _698; + highp float _686 = uData[1].y * clamp(_218 / (3.0 * uData[1].z), 9.9999997473787516355514526367188e-05, 1.0); + highp float _691 = (vTextureCoord.x - _214.x) + _214.z; + highp float _693 = (_214.x + _214.z) - vTextureCoord.x; + highp float _698 = (vTextureCoord.y - _214.y) + _214.w; + highp float _700 = (_214.y + _214.w) - vTextureCoord.y; + highp float _704 = min(min(_691, _693), min(_698, _700)); + highp vec4 _709 = exp((vec4(_704) - vec4(_691, _693, _698, _700)) / vec4(_686)); + highp float _710 = _709.x; + highp float _711 = _709.y; + highp float _713 = _709.z; + highp float _715 = _709.w; + highp float _716 = ((_710 + _711) + _713) + _715; + _725 = vec2(_711 - _710, _715 - _713) / vec2(_716); + _726 = (_686 * log(_716)) - _704; } else { - _719 = _504; - _720 = _505; + _725 = _505; + _726 = _506; } - _984 = _719; - _985 = _720; + _995 = _725; + _996 = _726; } - bool _986 = _985 < _164; - if (_986) + bool _997 = _996 < _165; + if (_997) { - _159 = _160; - _163 = _164; + _160 = _161; + _164 = _165; } else { - bool _990 = _985 < _162; - bvec2 _991 = bvec2(_990); - _159 = vec2(_991.x ? _984.x : _158.x, _991.y ? _984.y : _158.y); - _163 = _990 ? _985 : _162; + bool _1001 = _996 < _163; + bvec2 _1002 = bvec2(_1001); + _160 = vec2(_1002.x ? _995.x : _159.x, _1002.y ? _995.y : _159.y); + _164 = _1001 ? _996 : _163; } - bvec2 _994 = bvec2(_986); - _161 = vec2(_994.x ? _984.x : _160.x, _994.y ? _984.y : _160.y); - _165 = _986 ? _985 : _164; - _147 = _148; - _150 = _151; - _152 = _153; - _154 = _155; - _156 = _157; - _158 = _159; - _160 = _161; - _162 = _163; - _164 = _165; - _166 = _167; - _168 = _169; - _170 = _171; - _172 = _173; - _174 = _175; - _176++; + bvec2 _1005 = bvec2(_997); + _162 = vec2(_1005.x ? _995.x : _161.x, _1005.y ? _995.y : _161.y); + _166 = _997 ? _996 : _165; + _148 = _149; + _151 = _152; + _153 = _154; + _155 = _156; + _157 = _158; + _159 = _160; + _161 = _162; + _163 = _164; + _165 = _166; + _167 = _168; + _169 = _170; + _171 = _172; + _173 = _174; + _175 = _176; + _177++; continue; } else @@ -856,424 +858,424 @@ void main() break; } } - bool _1004; + bool _1015; if (uData[59].w > 2.5) { - _1004 = uData[59].w < 3.5; + _1015 = uData[59].w < 3.5; } else { - _1004 = false; + _1015 = false; } - bool _1005 = uData[59].w > 1.5; - bool _1009; - if (_1005) + bool _1016 = uData[59].w > 1.5; + bool _1020; + if (_1016) { - _1009 = uData[59].w < 3.5; + _1020 = uData[59].w < 3.5; } else { - _1009 = false; + _1020 = false; } - highp float _1082; - highp vec2 _1083; - if (_1009) + highp float _1093; + highp vec2 _1094; + if (_1020) { - highp vec2 _1015 = vTextureCoord - uData[57].xy; - highp vec4 _1021 = min(uData[58], vec4(min(uData[57].z, uData[57].w))); - highp float _1022 = _1015.x; - highp float _1043; - if (_1022 > 0.0) + highp vec2 _1026 = vTextureCoord - uData[57].xy; + highp vec4 _1032 = min(uData[58], vec4(min(uData[57].z, uData[57].w))); + highp float _1033 = _1026.x; + highp float _1054; + if (_1033 > 0.0) { - highp float _1042; - if (_1015.y > 0.0) + highp float _1053; + if (_1026.y > 0.0) { - _1042 = _1021.z; + _1053 = _1032.z; } else { - _1042 = _1021.y; + _1053 = _1032.y; } - _1043 = _1042; + _1054 = _1053; } else { - highp float _1034; - if (_1015.y > 0.0) + highp float _1045; + if (_1026.y > 0.0) { - _1034 = _1021.w; + _1045 = _1032.w; } else { - _1034 = _1021.x; + _1045 = _1032.x; } - _1043 = _1034; + _1054 = _1045; } - highp vec2 _1047 = (abs(_1015) - uData[57].zw) + vec2(_1043); - highp float _1049 = (_1022 < 0.0) ? (-1.0) : 1.0; - highp float _1052 = (_1015.y < 0.0) ? (-1.0) : 1.0; - highp float _1054 = _1047.x; - bool _1060; - if (_1054 > 0.0) + highp vec2 _1058 = (abs(_1026) - uData[57].zw) + vec2(_1054); + highp float _1060 = (_1033 < 0.0) ? (-1.0) : 1.0; + highp float _1063 = (_1026.y < 0.0) ? (-1.0) : 1.0; + highp float _1065 = _1058.x; + bool _1071; + if (_1065 > 0.0) { - _1060 = _1047.y > 0.0; + _1071 = _1058.y > 0.0; } else { - _1060 = false; + _1071 = false; } - highp vec2 _1074; - if (_1060) + highp vec2 _1085; + if (_1071) { - _1074 = normalize(_1047) * vec2(_1049, _1052); + _1085 = normalize(_1058) * vec2(_1060, _1063); } else { - highp vec2 _1071; - if (_1054 > _1047.y) + highp vec2 _1082; + if (_1065 > _1058.y) { - _1071 = vec2(_1049, 0.0); + _1082 = vec2(_1060, 0.0); } else { - _1071 = vec2(0.0, _1052); + _1082 = vec2(0.0, _1063); } - _1074 = _1071; + _1085 = _1082; } - _1082 = (min(max(_1054, _1047.y), 0.0) + length(max(_1047, vec2(0.0)))) - _1043; - _1083 = _1074; + _1093 = (min(max(_1065, _1058.y), 0.0) + length(max(_1058, vec2(0.0)))) - _1054; + _1094 = _1085; } else { - _1082 = -1000000000.0; - _1083 = vec2(0.0); + _1093 = -1000000000.0; + _1094 = vec2(0.0); } - bool _1087; - if (_1005) + bool _1098; + if (_1016) { - _1087 = uData[59].w < 3.5; + _1098 = uData[59].w < 3.5; } else { - _1087 = false; + _1098 = false; } - bool _1091; - if (_1087) + bool _1102; + if (_1098) { - _1091 = !_1004; + _1102 = !_1015; } else { - _1091 = false; - } - highp vec4 _1136; - highp vec4 _1137; - highp vec2 _1138; - highp vec2 _1139; - highp float _1140; - highp vec2 _1141; - highp vec2 _1142; - highp vec2 _1143; - highp vec2 _1144; - highp float _1145; - highp float _1146; - highp float _1147; - highp float _1148; - if (_1091) - { - highp float _1094 = 1.0 - _1082; - bool _1095 = _1094 < _172; - highp vec4 _1111; - highp vec2 _1112; - highp vec2 _1113; - highp float _1114; - highp vec2 _1115; - highp float _1116; - if (_1095) + _1102 = false; + } + highp vec4 _1147; + highp vec4 _1148; + highp vec2 _1149; + highp vec2 _1150; + highp float _1151; + highp vec2 _1152; + highp vec2 _1153; + highp vec2 _1154; + highp vec2 _1155; + highp float _1156; + highp float _1157; + highp float _1158; + highp float _1159; + if (_1102) + { + highp float _1105 = 1.0 - _1093; + bool _1106 = _1105 < _173; + highp vec4 _1122; + highp vec2 _1123; + highp vec2 _1124; + highp float _1125; + highp vec2 _1126; + highp float _1127; + if (_1106) { - _1111 = _150; - _1112 = _168; - _1113 = uData[57].yw; - _1114 = _174; - _1115 = _166; - _1116 = _172; + _1122 = _151; + _1123 = _169; + _1124 = uData[57].yw; + _1125 = _175; + _1126 = _167; + _1127 = _173; } else { - bool _1099 = _1094 < _170; - highp vec2 _1103; - if (_1099) + bool _1110 = _1105 < _171; + highp vec2 _1114; + if (_1110) { - _1103 = uData[57].yw; + _1114 = uData[57].yw; } else { - _1103 = _152; + _1114 = _153; } - bvec4 _1104 = bvec4(_1099); - bvec2 _1107 = bvec2(_1099); - _1111 = vec4(_1104.x ? uData[59].x : _147.x, _1104.y ? uData[59].y : _147.y, _1104.z ? uData[59].z : _147.z, _1104.w ? uData[59].w : _147.w); - _1112 = _1103; - _1113 = _168; - _1114 = _1099 ? _174 : _154; - _1115 = vec2(_1107.x ? vec2(0.0).x : _156.x, _1107.y ? vec2(0.0).y : _156.y); - _1116 = _1099 ? _1094 : _170; + bvec4 _1115 = bvec4(_1110); + bvec2 _1118 = bvec2(_1110); + _1122 = vec4(_1115.x ? uData[59].x : _148.x, _1115.y ? uData[59].y : _148.y, _1115.z ? uData[59].z : _148.z, _1115.w ? uData[59].w : _148.w); + _1123 = _1114; + _1124 = _169; + _1125 = _1110 ? _175 : _155; + _1126 = vec2(_1118.x ? vec2(0.0).x : _157.x, _1118.y ? vec2(0.0).y : _157.y); + _1127 = _1110 ? _1105 : _171; } - bvec4 _1117 = bvec4(_1095); - bvec2 _1119 = bvec2(_1095); - highp vec2 _1122 = -_1083; - bool _1123 = _1094 < _164; - highp vec2 _1131; - highp float _1132; - if (_1123) + bvec4 _1128 = bvec4(_1106); + bvec2 _1130 = bvec2(_1106); + highp vec2 _1133 = -_1094; + bool _1134 = _1105 < _165; + highp vec2 _1142; + highp float _1143; + if (_1134) { - _1131 = _160; - _1132 = _164; + _1142 = _161; + _1143 = _165; } else { - bool _1127 = _1094 < _162; - bvec2 _1128 = bvec2(_1127); - _1131 = vec2(_1128.x ? _1122.x : _158.x, _1128.y ? _1122.y : _158.y); - _1132 = _1127 ? _1094 : _162; + bool _1138 = _1105 < _163; + bvec2 _1139 = bvec2(_1138); + _1142 = vec2(_1139.x ? _1133.x : _159.x, _1139.y ? _1133.y : _159.y); + _1143 = _1138 ? _1105 : _163; } - bvec2 _1133 = bvec2(_1123); - _1136 = _1111; - _1137 = vec4(_1117.x ? uData[59].x : _150.x, _1117.y ? uData[59].y : _150.y, _1117.z ? uData[59].z : _150.z, _1117.w ? uData[59].w : _150.w); - _1138 = _1112; - _1139 = _1113; - _1140 = _1114; - _1141 = _1115; - _1142 = vec2(_1119.x ? vec2(0.0).x : _166.x, _1119.y ? vec2(0.0).y : _166.y); - _1143 = _1131; - _1144 = vec2(_1133.x ? _1122.x : _160.x, _1133.y ? _1122.y : _160.y); - _1145 = _1132; - _1146 = _1123 ? _1094 : _164; - _1147 = _1116; - _1148 = _1095 ? _1094 : _172; + bvec2 _1144 = bvec2(_1134); + _1147 = _1122; + _1148 = vec4(_1128.x ? uData[59].x : _151.x, _1128.y ? uData[59].y : _151.y, _1128.z ? uData[59].z : _151.z, _1128.w ? uData[59].w : _151.w); + _1149 = _1123; + _1150 = _1124; + _1151 = _1125; + _1152 = _1126; + _1153 = vec2(_1130.x ? vec2(0.0).x : _167.x, _1130.y ? vec2(0.0).y : _167.y); + _1154 = _1142; + _1155 = vec2(_1144.x ? _1133.x : _161.x, _1144.y ? _1133.y : _161.y); + _1156 = _1143; + _1157 = _1134 ? _1105 : _165; + _1158 = _1127; + _1159 = _1106 ? _1105 : _173; } else { - _1136 = _147; - _1137 = _150; - _1138 = _152; - _1139 = _168; - _1140 = _154; - _1141 = _156; - _1142 = _166; - _1143 = _158; - _1144 = _160; - _1145 = _162; - _1146 = _164; - _1147 = _170; - _1148 = _172; - } - highp float _1150 = max(uData[1].x, 9.9999997473787516355514526367188e-05); - highp float _1155 = max(_1150 - abs(_1148 - _1147), 0.0) / _1150; - highp float _1156 = _1155 * _1155; - highp float _1157 = _1156 * 0.5; - highp float _1162; - if (_1147 < _1148) - { - _1162 = 1.0 - _1157; + _1147 = _148; + _1148 = _151; + _1149 = _153; + _1150 = _169; + _1151 = _155; + _1152 = _157; + _1153 = _167; + _1154 = _159; + _1155 = _161; + _1156 = _163; + _1157 = _165; + _1158 = _171; + _1159 = _173; + } + highp float _1161 = max(uData[1].x, 9.9999997473787516355514526367188e-05); + highp float _1166 = max(_1161 - abs(_1159 - _1158), 0.0) / _1161; + highp float _1167 = _1166 * _1166; + highp float _1168 = _1167 * 0.5; + highp float _1173; + if (_1158 < _1159) + { + _1173 = 1.0 - _1168; } else { - _1162 = _1157; + _1173 = _1168; } - highp float _1166 = min(_1148, _1147) - ((_1156 * _1150) * 0.25); - highp float _1171 = max(_1150 - abs(_1146 - _1145), 0.0) / _1150; - highp float _1172 = _1171 * _1171; - highp float _1173 = _1172 * 0.5; - highp float _1178; - if (_1145 < _1146) + highp float _1177 = min(_1159, _1158) - ((_1167 * _1161) * 0.25); + highp float _1182 = max(_1161 - abs(_1157 - _1156), 0.0) / _1161; + highp float _1183 = _1182 * _1182; + highp float _1184 = _1183 * 0.5; + highp float _1189; + if (_1156 < _1157) { - _1178 = 1.0 - _1173; + _1189 = 1.0 - _1184; } else { - _1178 = _1173; + _1189 = _1184; } - highp float _1182 = min(_1146, _1145) - ((_1172 * _1150) * 0.25); - highp float _1186; - if (_1004) + highp float _1193 = min(_1157, _1156) - ((_1183 * _1161) * 0.25); + highp float _1197; + if (_1015) { - _1186 = max(_1166, _1082); + _1197 = max(_1177, _1093); } else { - _1186 = _1166; + _1197 = _1177; } - highp float _1188 = uData[2].z * 1.25; - bool _1189 = _1188 <= 1.25; - highp float _1194 = clamp(0.5 - (max(_1186, _1082) / (_1189 ? 1.39999997615814208984375 : 1.0)), 0.0, 1.0); - bool _1200; + highp float _1199 = uData[2].z * 1.25; + bool _1200 = _1199 <= 1.25; + highp float _1205 = clamp(0.5 - (max(_1197, _1093) / (_1200 ? 1.39999997615814208984375 : 1.0)), 0.0, 1.0); + bool _1211; if (uData[11].w > 0.0) { - _1200 = _1194 < 1.0; + _1211 = _1205 < 1.0; } else { - _1200 = false; + _1211 = false; } - highp float _1458; - if (_1200) + highp float _1469; + if (_1211) { - highp vec2 _1204 = vTextureCoord - uData[11].yz; - highp float _1206; - highp float _1209; - _1206 = 1000000000.0; - _1209 = 1000000000.0; - highp float _1210; - highp float _1207; - int _1211 = _114; + highp vec2 _1215 = vTextureCoord - uData[11].yz; + highp float _1217; + highp float _1220; + _1217 = 1000000000.0; + _1220 = 1000000000.0; + highp float _1221; + highp float _1218; + int _1222 = _115; for (;;) { - bool _1219; - if (_1211 < _180) + bool _1230; + if (_1222 < _181) { - _1219 = _1211 < 16; + _1230 = _1222 < 16; } else { - _1219 = false; + _1230 = false; } - if (_1219) + if (_1230) { - int _1221 = 3 * _1211; - int _1222 = 12 + _1221; - int _1228 = _1221 + 14; - bool _1236; - if (uData[_1228 * 1 + 0].w >= (-0.5)) + int _1232 = 3 * _1222; + int _1233 = 12 + _1232; + int _1239 = _1232 + 14; + bool _1247; + if (uData[_1239 * 1 + 0].w >= (-0.5)) { - _1236 = uData[_1228 * 1 + 0].w > 3.5; + _1247 = uData[_1239 * 1 + 0].w > 3.5; } else { - _1236 = true; + _1247 = true; } - highp float _1427; - if (_1236) + highp float _1438; + if (_1247) { - highp vec4 _1288 = min(uData[58], vec4(min(uData[57].z, uData[57].w))); - int _1291 = int(uData[59].z); - highp vec2 _1293 = _1204 - uData[57].xy; - highp float _1316; - if (_1293.x > 0.0) + highp vec4 _1299 = min(uData[58], vec4(min(uData[57].z, uData[57].w))); + int _1302 = int(uData[59].z); + highp vec2 _1304 = _1215 - uData[57].xy; + highp float _1327; + if (_1304.x > 0.0) { - highp float _1315; - if (_1293.y > 0.0) + highp float _1326; + if (_1304.y > 0.0) { - _1315 = _1288.z; + _1326 = _1299.z; } else { - _1315 = _1288.y; + _1326 = _1299.y; } - _1316 = _1315; + _1327 = _1326; } else { - highp float _1307; - if (_1293.y > 0.0) + highp float _1318; + if (_1304.y > 0.0) { - _1307 = _1288.w; + _1318 = _1299.w; } else { - _1307 = _1288.x; + _1318 = _1299.x; } - _1316 = _1307; + _1327 = _1318; } - highp vec2 _1320 = (abs(_1293) - uData[57].zw) + vec2(_1316); - highp float _1330; - _1330 = (min(max(_1320.x, _1320.y), 0.0) + length(max(_1320, vec2(0.0)))) - _1316; - highp float _1331; - int _1333 = 0; + highp vec2 _1331 = (abs(_1304) - uData[57].zw) + vec2(_1327); + highp float _1341; + _1341 = (min(max(_1331.x, _1331.y), 0.0) + length(max(_1331, vec2(0.0)))) - _1327; + highp float _1342; + int _1344 = 0; for (;;) { - bool _1341; - if (_1333 < _1291) + bool _1352; + if (_1344 < _1302) { - _1341 = _1333 < 4; + _1352 = _1344 < 4; } else { - _1341 = false; + _1352 = false; } - if (_1341) + if (_1352) { - int _1343 = 14 - _1333; - int _1344 = 3 * _1343; - int _1345 = 12 + _1344; - int _1348 = _1344 + 13; - if (uData[_1348 * 1 + 0].x == 0.0) + int _1354 = 14 - _1344; + int _1355 = 3 * _1354; + int _1356 = 12 + _1355; + int _1359 = _1355 + 13; + if (uData[_1359 * 1 + 0].x == 0.0) { - _1331 = _1330; - int _1334 = _1333 + 1; - _1330 = _1331; - _1333 = _1334; + _1342 = _1341; + int _1345 = _1344 + 1; + _1341 = _1342; + _1344 = _1345; continue; } - highp float _1357 = clamp(uData[_1348 * 1 + 0].x / uData[_1348 * 1 + 0].y, 0.0, 1.0); - bool _1359 = uData[_1345 * 1 + 0].x < 0.5; - highp float _1365; - if (_1359) + highp float _1368 = clamp(uData[_1359 * 1 + 0].x / uData[_1359 * 1 + 0].y, 0.0, 1.0); + bool _1370 = uData[_1356 * 1 + 0].x < 0.5; + highp float _1376; + if (_1370) { - _1365 = _1204.y; + _1376 = _1215.y; } else { - _1365 = _1204.x; + _1376 = _1215.x; } - highp float _1371; - if (_1359) + highp float _1382; + if (_1370) { - _1371 = _1204.x; + _1382 = _1215.x; } else { - _1371 = _1204.y; + _1382 = _1215.y; } - highp float _1374 = uData[_1348 * 1 + 0].x * 0.5; - highp float _1377 = uData[_1345 * 1 + 0].w - uData[_1345 * 1 + 0].z; - highp float _1378 = smoothstep(0.0, 0.60000002384185791015625, _1357); - highp float _1404; - if (uData[_1348 * 1 + 0].w > 2.5) + highp float _1385 = uData[_1359 * 1 + 0].x * 0.5; + highp float _1388 = uData[_1356 * 1 + 0].w - uData[_1356 * 1 + 0].z; + highp float _1389 = smoothstep(0.0, 0.60000002384185791015625, _1368); + highp float _1415; + if (uData[_1359 * 1 + 0].w > 2.5) { - _1404 = max(((_1377 * 0.5) * (1.0 - _1378)) - abs(_1365 - ((uData[_1345 * 1 + 0].z + uData[_1345 * 1 + 0].w) * 0.5)), 0.0); + _1415 = max(((_1388 * 0.5) * (1.0 - _1389)) - abs(_1376 - ((uData[_1356 * 1 + 0].z + uData[_1356 * 1 + 0].w) * 0.5)), 0.0); } else { - highp float _1390; - if (uData[_1348 * 1 + 0].w < 1.5) + highp float _1401; + if (uData[_1359 * 1 + 0].w < 1.5) { - _1390 = _1365 - uData[_1345 * 1 + 0].z; + _1401 = _1376 - uData[_1356 * 1 + 0].z; } else { - _1390 = uData[_1345 * 1 + 0].w - _1365; + _1401 = uData[_1356 * 1 + 0].w - _1376; } - _1404 = max(_1390 - ((_1377 - _1374) * _1378), 0.0); + _1415 = max(_1401 - ((_1388 - _1385) * _1389), 0.0); } - highp float _1407 = length(vec2(_1371 - uData[_1345 * 1 + 0].y, _1404)) - _1374; - highp float _1409 = uData[_1348 * 1 + 0].z * _1357; - highp float _1410 = -_1407; - highp float _1426; + highp float _1418 = length(vec2(_1382 - uData[_1356 * 1 + 0].y, _1415)) - _1385; + highp float _1420 = uData[_1359 * 1 + 0].z * _1368; + highp float _1421 = -_1418; + highp float _1437; do { - if (_1409 == 0.0) + if (_1420 == 0.0) { - _1426 = max(_1330, _1410); + _1437 = max(_1341, _1421); break; } - _1426 = min(-_1409, max(_1330, _1410)) + length(max(vec2(_1409 + _1330, _1409 - _1407), vec2(0.0))); + _1437 = min(-_1420, max(_1341, _1421)) + length(max(vec2(_1420 + _1341, _1420 - _1418), vec2(0.0))); break; } while(false); - _1331 = _1426; - int _1334 = _1333 + 1; - _1330 = _1331; - _1333 = _1334; + _1342 = _1437; + int _1345 = _1344 + 1; + _1341 = _1342; + _1344 = _1345; continue; } else @@ -1281,55 +1283,55 @@ void main() break; } } - _1427 = _1330; + _1438 = _1341; } else { - highp vec2 _1241 = _1204 - uData[_1222 * 1 + 0].xy; - highp vec4 _1247 = min(uData[(_1221 + 13) * 1 + 0], vec4(min(uData[_1222 * 1 + 0].z, uData[_1222 * 1 + 0].w))); - highp float _1269; - if (_1241.x > 0.0) + highp vec2 _1252 = _1215 - uData[_1233 * 1 + 0].xy; + highp vec4 _1258 = min(uData[(_1232 + 13) * 1 + 0], vec4(min(uData[_1233 * 1 + 0].z, uData[_1233 * 1 + 0].w))); + highp float _1280; + if (_1252.x > 0.0) { - highp float _1268; - if (_1241.y > 0.0) + highp float _1279; + if (_1252.y > 0.0) { - _1268 = _1247.z; + _1279 = _1258.z; } else { - _1268 = _1247.y; + _1279 = _1258.y; } - _1269 = _1268; + _1280 = _1279; } else { - highp float _1260; - if (_1241.y > 0.0) + highp float _1271; + if (_1252.y > 0.0) { - _1260 = _1247.w; + _1271 = _1258.w; } else { - _1260 = _1247.x; + _1271 = _1258.x; } - _1269 = _1260; + _1280 = _1271; } - highp vec2 _1273 = (abs(_1241) - uData[_1222 * 1 + 0].zw) + vec2(_1269); - _1427 = (min(max(_1273.x, _1273.y), 0.0) + length(max(_1273, vec2(0.0)))) - _1269; + highp vec2 _1284 = (abs(_1252) - uData[_1233 * 1 + 0].zw) + vec2(_1280); + _1438 = (min(max(_1284.x, _1284.y), 0.0) + length(max(_1284, vec2(0.0)))) - _1280; } - bool _1428 = _1427 < _1209; - if (_1428) + bool _1439 = _1438 < _1220; + if (_1439) { - _1207 = _1209; + _1218 = _1220; } else { - _1207 = (_1427 < _1206) ? _1427 : _1206; + _1218 = (_1438 < _1217) ? _1438 : _1217; } - _1210 = _1428 ? _1427 : _1209; - _1206 = _1207; - _1209 = _1210; - _1211++; + _1221 = _1439 ? _1438 : _1220; + _1217 = _1218; + _1220 = _1221; + _1222++; continue; } else @@ -1337,401 +1339,403 @@ void main() break; } } - highp float _1436 = max(uData[1].x, 9.9999997473787516355514526367188e-05); - highp float _1441 = max(_1436 - abs(_1209 - _1206), 0.0) / _1436; - highp float _1450 = 1.0 - clamp((min(_1209, _1206) - (((_1441 * _1441) * _1436) * 0.25)) / uData[11].x, 0.0, 1.0); - _1458 = ((uData[11].w * _1450) * _1450) * clamp(mix(_1137.y, _1136.y, _1162), 0.0, 1.0); + highp float _1447 = max(uData[1].x, 9.9999997473787516355514526367188e-05); + highp float _1452 = max(_1447 - abs(_1220 - _1217), 0.0) / _1447; + highp float _1461 = 1.0 - clamp((min(_1220, _1217) - (((_1452 * _1452) * _1447) * 0.25)) / uData[11].x, 0.0, 1.0); + _1469 = ((uData[11].w * _1461) * _1461) * clamp(mix(_1148.y, _1147.y, _1173), 0.0, 1.0); } else { - _1458 = 0.0; + _1469 = 0.0; } - bool _1459 = _1194 <= 0.0; - bool _1463; - if (_1459) + bool _1470 = _1205 <= 0.0; + bool _1474; + if (_1470) { - _1463 = _1458 <= 0.00200000009499490261077880859375; + _1474 = _1469 <= 0.00200000009499490261077880859375; } else { - _1463 = false; + _1474 = false; } - if (_1463) + if (_1474) { discard; } if (vColor.x < 0.5) { - _2007 = vec4(0.0, 0.0, 0.0, _1194 + ((1.0 - _1194) * _1458)); + _2027 = vec4(0.0, 0.0, 0.0, _1205 + ((1.0 - _1205) * _1469)); break; } - if (_1459) + if (_1470) { discard; } - highp vec4 _1478 = mix(_1137, _1136, vec4(_1162)); - highp vec2 _1480 = mix(_1144, _1143, vec2(_1178)); - bool _1484; - if (_1004) + highp vec4 _1489 = mix(_1148, _1147, vec4(_1173)); + highp vec2 _1491 = mix(_1155, _1154, vec2(_1189)); + bool _1495; + if (_1015) { - _1484 = _1082 > _1182; + _1495 = _1093 > _1193; } else { - _1484 = false; - } - bvec2 _1486 = bvec2(_1484); - highp vec2 _1487 = vec2(_1486.x ? _1083.x : _1480.x, _1486.y ? _1083.y : _1480.y); - highp vec2 _1488 = vec2(_1162); - highp vec2 _1492 = mix(_1142, _1141, _1488) * min(length(_1487), 1.0); - highp float _1494 = max(0.0, -(_1484 ? _1082 : _1182)); - highp float _1495 = -_1494; - highp float _1498 = exp(_1495 / uData[1].z); - highp float _1504 = _1478.y; - highp float _1538; - highp float _1539; - highp vec2 _1540; - if (_145) - { - highp float _1522 = max(min(uData[5].y * mix(_174, _1140, _1162), uData[6].w), 1.0); - highp float _1525 = clamp(1.0 - (_1494 / _1522), 0.0, 1.0); - highp float _1530 = (((uData[5].z * _1522) * _1504) * _1525) * _1525; - _1538 = _1525; - _1539 = _1530; - _1540 = clamp(((vTextureCoord - (_1487 * _1530)) - uData[0].xy) * uData[0].zw, vec2(0.0), vec2(1.0)); + _1495 = false; + } + bvec2 _1497 = bvec2(_1495); + highp vec2 _1498 = vec2(_1497.x ? _1094.x : _1491.x, _1497.y ? _1094.y : _1491.y); + highp vec2 _1499 = vec2(_1173); + highp vec2 _1503 = mix(_1153, _1152, _1499) * min(length(_1498), 1.0); + highp float _1505 = max(0.0, -(_1495 ? _1093 : _1193)); + highp float _1506 = mix(_175, _1151, _1173); + highp float _1510 = clamp(_1506 / (3.0 * uData[1].z), 9.9999997473787516355514526367188e-05, 1.0); + highp float _1511 = -_1505; + highp float _1514 = exp(_1511 / (uData[1].z * _1510)); + highp float _1524 = _1489.y; + highp float _1558; + highp float _1559; + highp vec2 _1560; + if (_146) + { + highp float _1542 = max(min(uData[5].y * _1506, uData[6].w), 1.0); + highp float _1545 = clamp(1.0 - (_1505 / _1542), 0.0, 1.0); + highp float _1550 = (((uData[5].z * _1542) * _1524) * _1545) * _1545; + _1558 = _1545; + _1559 = _1550; + _1560 = clamp(((vTextureCoord - (_1498 * _1550)) - uData[0].xy) * uData[0].zw, vec2(0.0), vec2(1.0)); } else { - _1538 = 0.0; - _1539 = 0.0; - _1540 = clamp(((vTextureCoord + (_1487 * ((uData[2].x * _1504) * _1498))) - uData[0].xy) * uData[0].zw, vec2(0.0), vec2(1.0)); + _1558 = 0.0; + _1559 = 0.0; + _1560 = clamp(((vTextureCoord + (_1498 * (((uData[2].x * _1510) * _1524) * _1514))) - uData[0].xy) * uData[0].zw, vec2(0.0), vec2(1.0)); } - highp vec4 _1544 = textureLod(uSampler, _1540, 0.0); - bool _1546 = uData[4].w > 0.5; - highp vec4 _1554; - if (_1546) + highp vec4 _1564 = textureLod(uSampler, _1560, 0.0); + bool _1566 = uData[4].w > 0.5; + highp vec4 _1574; + if (_1566) { - _1554 = textureLod(uTex1, _1540, 0.0); + _1574 = textureLod(uTex1, _1560, 0.0); } else { - _1554 = _1544; + _1574 = _1564; } - bool _1559; - if (_145) + bool _1579; + if (_146) { - _1559 = uData[6].y > 0.0; + _1579 = uData[6].y > 0.0; } else { - _1559 = false; + _1579 = false; } - bool _1563; - if (_1559) + bool _1583; + if (_1579) { - _1563 = _1539 > 0.5; + _1583 = _1559 > 0.5; } else { - _1563 = false; - } - highp vec4 _1624; - highp vec4 _1625; - if (_1563) - { - highp vec2 _1571 = (_1487 * ((_1539 * 0.039999999105930328369140625) * uData[6].y)) * uData[0].zw; - highp vec2 _1573 = clamp(_1540 + _1571, vec2(0.0), vec2(1.0)); - highp vec2 _1575 = clamp(_1540 - _1571, vec2(0.0), vec2(1.0)); - highp vec4 _1579 = textureLod(uSampler, _1573, 0.0); - highp float _1584 = _1544.w; - highp float _1585 = (_1579.x / max(_1579.w, 9.9999997473787516355514526367188e-05)) * _1584; - highp vec4 _1586 = _1544; - _1586.x = _1585; - highp vec4 _1590 = textureLod(uSampler, _1575, 0.0); - highp float _1595 = (_1590.z / max(_1590.w, 9.9999997473787516355514526367188e-05)) * _1584; - _1586.z = _1595; - highp vec4 _1623; - if (_1546) + _1583 = false; + } + highp vec4 _1644; + highp vec4 _1645; + if (_1583) + { + highp vec2 _1591 = (_1498 * ((_1559 * 0.039999999105930328369140625) * uData[6].y)) * uData[0].zw; + highp vec2 _1593 = clamp(_1560 + _1591, vec2(0.0), vec2(1.0)); + highp vec2 _1595 = clamp(_1560 - _1591, vec2(0.0), vec2(1.0)); + highp vec4 _1599 = textureLod(uSampler, _1593, 0.0); + highp float _1604 = _1564.w; + highp float _1605 = (_1599.x / max(_1599.w, 9.9999997473787516355514526367188e-05)) * _1604; + highp vec4 _1606 = _1564; + _1606.x = _1605; + highp vec4 _1610 = textureLod(uSampler, _1595, 0.0); + highp float _1615 = (_1610.z / max(_1610.w, 9.9999997473787516355514526367188e-05)) * _1604; + _1606.z = _1615; + highp vec4 _1643; + if (_1566) { - highp vec4 _1605 = textureLod(uTex1, _1573, 0.0); - highp vec4 _1612 = _1554; - _1612.x = (_1605.x / max(_1605.w, 9.9999997473787516355514526367188e-05)) * _1554.w; - highp vec4 _1616 = textureLod(uTex1, _1575, 0.0); - _1612.z = (_1616.z / max(_1616.w, 9.9999997473787516355514526367188e-05)) * _1554.w; - _1623 = _1612; + highp vec4 _1625 = textureLod(uTex1, _1593, 0.0); + highp vec4 _1632 = _1574; + _1632.x = (_1625.x / max(_1625.w, 9.9999997473787516355514526367188e-05)) * _1574.w; + highp vec4 _1636 = textureLod(uTex1, _1595, 0.0); + _1632.z = (_1636.z / max(_1636.w, 9.9999997473787516355514526367188e-05)) * _1574.w; + _1643 = _1632; } else { - highp vec4 _1600 = _1554; - _1600.x = _1585; - _1600.z = _1595; - _1623 = _1600; + highp vec4 _1620 = _1574; + _1620.x = _1605; + _1620.z = _1615; + _1643 = _1620; } - _1624 = _1623; - _1625 = _1586; + _1644 = _1643; + _1645 = _1606; } else { - _1624 = _1554; - _1625 = _1544; + _1644 = _1574; + _1645 = _1564; } - bool _1627 = uData[4].x > 1.5; - highp float _1641; - if (_1627) + bool _1647 = uData[4].x > 1.5; + highp float _1661; + if (_1647) { - _1641 = uData[3].w; + _1661 = uData[3].w; } else { - highp float _1639; + highp float _1659; if ((uData[6].x - 2.0 * trunc(uData[6].x / 2.0)) > 0.5) { - _1639 = 1.0; + _1659 = 1.0; } else { - _1639 = _1625.w; + _1659 = _1645.w; } - _1641 = _1639; + _1661 = _1659; } - highp vec4 _1650 = vec4(_1625.xyz / vec3(max(_1625.w, 9.9999997473787516355514526367188e-05)), 1.0); - highp vec4 _1659 = vec4(_1624.xyz / vec3(max(_1624.w, 9.9999997473787516355514526367188e-05)), 1.0); - highp float _1666; - if (_1627) + highp vec4 _1670 = vec4(_1645.xyz / vec3(max(_1645.w, 9.9999997473787516355514526367188e-05)), 1.0); + highp vec4 _1679 = vec4(_1644.xyz / vec3(max(_1644.w, 9.9999997473787516355514526367188e-05)), 1.0); + highp float _1686; + if (_1647) { - _1666 = 1.0; + _1686 = 1.0; } else { - _1666 = (uData[4].z > 0.5) ? uData[4].x : 0.0; + _1686 = (uData[4].z > 0.5) ? uData[4].x : 0.0; } - bool _1670; - if (_145) + bool _1690; + if (_146) { - _1670 = !_1627; + _1690 = !_1647; } else { - _1670 = false; + _1690 = false; } - highp float _1679; - if (_1670) + highp float _1699; + if (_1690) { - _1679 = _1666 * (1.0 - ((_1538 * _1538) * (1.0 - smoothstep(0.800000011920928955078125, 1.0, _1666)))); + _1699 = _1686 * (1.0 - ((_1558 * _1558) * (1.0 - smoothstep(0.800000011920928955078125, 1.0, _1686)))); } else { - _1679 = _1666; + _1699 = _1686; } - highp float _1682 = 1.0 - _1679; - highp float _1690; - if (_145) + highp float _1702 = 1.0 - _1699; + highp float _1710; + if (_146) { - _1690 = _1538; + _1710 = _1558; } else { - _1690 = _1498 * _1498; + _1710 = _1514 * _1514; } - highp float _1693 = clamp(((uData[2].y * _1504) * _1690) * _1682, 0.0, 1.0); - highp vec4 _1699 = ((_1659 * _1693) + ((mix(_1659, _1650, vec4(clamp(_1478.x, 0.0, 1.0))) * _1682) * (1.0 - _1693))) + (uData[3] * _1679); - highp vec4 _1742; - if (_1627) + highp float _1713 = clamp(((uData[2].y * _1524) * _1710) * _1702, 0.0, 1.0); + highp vec4 _1719 = ((_1679 * _1713) + ((mix(_1679, _1670, vec4(clamp(_1489.x, 0.0, 1.0))) * _1702) * (1.0 - _1713))) + (uData[3] * _1699); + highp vec4 _1762; + if (_1647) { - _1742 = vec4(uData[3].xyz / vec3(max(uData[3].w, 9.9999997473787516355514526367188e-05)), 1.0); + _1762 = vec4(uData[3].xyz / vec3(max(uData[3].w, 9.9999997473787516355514526367188e-05)), 1.0); } else { - highp vec4 _1706 = _1699 + (_1650 * (1.0 - _1699.w)); - highp vec4 _1732; + highp vec4 _1726 = _1719 + (_1670 * (1.0 - _1719.w)); + highp vec4 _1752; if (uData[7].w < 1.0) { - highp vec3 _1711 = _1706.xyz; - highp float _1712 = dot(_1711, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)); - highp float _1713 = 0.60000002384185791015625 * uData[7].w; - highp float _1715 = max(uData[7].w - _1713, 9.9999997473787516355514526367188e-05); - highp float _1727; - if (_1712 <= _1713) + highp vec3 _1731 = _1726.xyz; + highp float _1732 = dot(_1731, vec3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)); + highp float _1733 = 0.60000002384185791015625 * uData[7].w; + highp float _1735 = max(uData[7].w - _1733, 9.9999997473787516355514526367188e-05); + highp float _1747; + if (_1732 <= _1733) { - _1727 = _1712; + _1747 = _1732; } else { - _1727 = _1713 + (_1715 * (1.0 - exp((-(_1712 - _1713)) / _1715))); + _1747 = _1733 + (_1735 * (1.0 - exp((-(_1732 - _1733)) / _1735))); } - highp vec3 _1730 = _1711 * (_1727 / max(_1712, 9.9999997473787516355514526367188e-05)); - _1732 = vec4(_1730.x, _1730.y, _1730.z, _1706.w); + highp vec3 _1750 = _1731 * (_1747 / max(_1732, 9.9999997473787516355514526367188e-05)); + _1752 = vec4(_1750.x, _1750.y, _1750.z, _1726.w); } else { - _1732 = _1706; + _1752 = _1726; } - _1742 = _1732; + _1762 = _1752; } - highp float _1745 = dot(_1487, uData[9].xy); - highp float _1746 = max(_1745, 0.0); - highp float _1748 = max(-_1745, 0.0); - highp float _1749 = abs(_1745); - bool _1753; - if (_145) + highp float _1765 = dot(_1498, uData[9].xy); + highp float _1766 = max(_1765, 0.0); + highp float _1768 = max(-_1765, 0.0); + highp float _1769 = abs(_1765); + bool _1773; + if (_146) { - _1753 = uData[6].z > 0.0; + _1773 = uData[6].z > 0.0; } else { - _1753 = false; + _1773 = false; } - bool _1755 = uData[10].x > 0.0; - highp float _1783; - if (_1755) + bool _1775 = uData[10].x > 0.0; + highp float _1803; + if (_1775) { - _1783 = 0.0; + _1803 = 0.0; } else { - highp float _1782; - if (_1753) + highp float _1802; + if (_1773) { - _1782 = (uData[6].z * (1.0 - smoothstep(0.20000000298023223876953125, 0.699999988079071044921875, _1749))) * exp((-max(0.0, -_1186)) / (uData[2].z * 2.5)); + _1802 = (uData[6].z * (1.0 - smoothstep(0.20000000298023223876953125, 0.699999988079071044921875, _1769))) * exp((-max(0.0, -_1197)) / (uData[2].z * 2.5)); } else { - highp float _1767; - if (_1189) + highp float _1787; + if (_1200) { - _1767 = 0.699999988079071044921875; + _1787 = 0.699999988079071044921875; } else { - _1767 = uData[2].z * 0.625; + _1787 = uData[2].z * 0.625; } - _1782 = uData[8].x * (1.0 - smoothstep(0.0, _1767, -_1186)); + _1802 = uData[8].x * (1.0 - smoothstep(0.0, _1787, -_1197)); } - _1783 = _1782; + _1803 = _1802; } - highp float _1793; - if (_145) + highp float _1813; + if (_146) { - _1793 = max((uData[5].w * _1538) * _1538, _1783) * min(_1504, 1.0); + _1813 = max((uData[5].w * _1558) * _1558, _1803) * min(_1524, 1.0); } else { - _1793 = 0.0; + _1813 = 0.0; } - highp float _1796 = _1641 * (1.0 - _1793); - highp vec4 _1802 = vec4(_1742.xyz * _1796, _1796 + _1793); - highp float _1824; - if (_145) + highp float _1816 = _1661 * (1.0 - _1813); + highp vec4 _1822 = vec4(_1762.xyz * _1816, _1816 + _1813); + highp float _1844; + if (_146) { - highp float _1823; - if (_1753) + highp float _1843; + if (_1773) { - _1823 = uData[6].z * max(smoothstep(0.75, 1.0, _1749), max(_1492.x, _1492.y)); + _1843 = uData[6].z * max(smoothstep(0.75, 1.0, _1769), max(_1503.x, _1503.y)); } else { - _1823 = 0.25; + _1843 = 0.25; } - _1824 = _1823; + _1844 = _1843; } else { - _1824 = (0.449999988079071044921875 * ((_1746 * sqrt(_1746)) + ((0.75 * _1748) * sqrt(_1748)))) + 0.0599999986588954925537109375; + _1844 = (0.449999988079071044921875 * ((_1766 * sqrt(_1766)) + ((0.75 * _1768) * sqrt(_1768)))) + 0.0599999986588954925537109375; } - highp float _1860; - if (_1753) + highp float _1880; + if (_1773) { - _1860 = exp((-max(0.0, -_1186)) / _1188); + _1880 = exp((-max(0.0, -_1197)) / _1199); } else { - highp float _1854; - if (_145) + highp float _1874; + if (_146) { - highp float _1853; - if (_1189) + highp float _1873; + if (_1200) { - highp float _1848 = -_1186; - _1853 = smoothstep(0.0, 0.89999997615814208984375, _1848) * (1.0 - smoothstep(1.5, 2.400000095367431640625, _1848)); + highp float _1868 = -_1197; + _1873 = smoothstep(0.0, 0.89999997615814208984375, _1868) * (1.0 - smoothstep(1.5, 2.400000095367431640625, _1868)); } else { - highp float _1841 = -_1186; - _1853 = smoothstep(uData[2].z * 0.3125, uData[2].z * 0.625, _1841) * (1.0 - smoothstep(uData[2].z * 1.5, uData[2].z * 2.0, _1841)); + highp float _1861 = -_1197; + _1873 = smoothstep(uData[2].z * 0.3125, uData[2].z * 0.625, _1861) * (1.0 - smoothstep(uData[2].z * 1.5, uData[2].z * 2.0, _1861)); } - _1854 = _1853; + _1874 = _1873; } else { - _1854 = exp((-max(0.0, -_1186)) / uData[2].z); + _1874 = exp((-max(0.0, -_1197)) / uData[2].z); } - _1860 = _1854; + _1880 = _1874; } - highp float _1872; - if (_1755) + highp float _1892; + if (_1775) { - _1872 = 0.0; + _1892 = 0.0; } else { - highp float _1870; - if (_145) + highp float _1890; + if (_146) { - _1870 = 0.0; + _1890 = 0.0; } else { - _1870 = (0.039999999105930328369140625 * exp(_1495 / uData[1].w)) * _1746; + _1890 = (0.039999999105930328369140625 * exp(_1511 / (uData[1].w * clamp(_1506 / (3.0 * uData[1].w), 9.9999997473787516355514526367188e-05, 1.0)))) * _1766; } - _1872 = (_1860 * _1824) + _1870; + _1892 = (_1880 * _1844) + _1890; } - highp vec2 _1873 = mix(_1139, _1138, _1488); - highp float _1877 = _1873.y; - highp float _1883 = clamp((vTextureCoord.y - (_1873.x - _1877)) / max(2.0 * _1877, 9.9999997473787516355514526367188e-05), 0.0, 1.0); - highp float _1901; + highp vec2 _1893 = mix(_1150, _1149, _1499); + highp float _1897 = _1893.y; + highp float _1903 = clamp((vTextureCoord.y - (_1893.x - _1897)) / max(2.0 * _1897, 9.9999997473787516355514526367188e-05), 0.0, 1.0); + highp float _1921; if (uData[4].z > 0.5) { - _1901 = uData[4].y + ((uData[7].x + ((uData[7].y - uData[7].x) * _1883)) + (uData[7].z * (1.0 - smoothstep(0.0, 0.37999999523162841796875, _1883)))); + _1921 = uData[4].y + ((uData[7].x + ((uData[7].y - uData[7].x) * _1903)) + (uData[7].z * (1.0 - smoothstep(0.0, 0.37999999523162841796875, _1903)))); } else { - _1901 = 0.0; + _1921 = 0.0; } - highp vec3 _1911 = _1802.xyz + vec3(clamp((_1901 + _1478.z) + ((_1504 * uData[2].w) * _1872), 0.0, 1.0)); - highp vec4 _1983; - if (_1755) + highp vec3 _1931 = _1822.xyz + vec3(clamp((_1921 + _1489.z) + ((_1524 * uData[2].w) * _1892), 0.0, 1.0)); + highp vec4 _2003; + if (_1775) { - highp vec2 _1921; - if (dot(_1487, _1487) > 9.9999999392252902907785028219223e-09) + highp vec2 _1941; + if (dot(_1498, _1498) > 9.9999999392252902907785028219223e-09) { - _1921 = normalize(_1487); + _1941 = normalize(_1498); } else { - _1921 = vec2(0.0); + _1941 = vec2(0.0); } - highp float _1922 = dot(_1921, uData[9].xy); - highp float _1924 = mix(8.0, 1.0, uData[9].z); - highp float _1932 = pow(max(_1922, 0.0), _1924) + (uData[9].w * pow(max(-_1922, 0.0), _1924)); - highp float _1933 = min(_1504, 1.0); - highp float _1940 = -_1186; - highp float _1942 = smoothstep(-0.5, 0.5, _1940); - highp float _1944 = -max(0.0, _1940); - highp vec3 _1981 = (_1911.xyz * (1.0 - (((uData[10].z * (1.0 - abs(_1922))) * (_1942 * exp(_1944 / max(uData[2].z * 2.5, 0.001000000047497451305389404296875)))) * _1933))) + vec3(_1933 * (((uData[10].x * max(_1932, max(_1492.x, uData[9].w * _1492.y))) * (_1942 * exp(_1944 / max(uData[8].y, 0.001000000047497451305389404296875)))) + ((uData[10].y * _1932) * (smoothstep(uData[8].y - 0.5, uData[8].y + 0.5, _1940) * exp((-max(0.0, _1940 - uData[8].y)) / max(uData[8].z, 0.001000000047497451305389404296875)))))); - _1983 = vec4(_1981.x, _1981.y, _1981.z, _1802.w); + highp float _1942 = dot(_1941, uData[9].xy); + highp float _1944 = mix(8.0, 1.0, uData[9].z); + highp float _1952 = pow(max(_1942, 0.0), _1944) + (uData[9].w * pow(max(-_1942, 0.0), _1944)); + highp float _1953 = min(_1524, 1.0); + highp float _1960 = -_1197; + highp float _1962 = smoothstep(-0.5, 0.5, _1960); + highp float _1964 = -max(0.0, _1960); + highp vec3 _2001 = (_1931.xyz * (1.0 - (((uData[10].z * (1.0 - abs(_1942))) * (_1962 * exp(_1964 / max(uData[2].z * 2.5, 0.001000000047497451305389404296875)))) * _1953))) + vec3(_1953 * (((uData[10].x * max(_1952, max(_1503.x, uData[9].w * _1503.y))) * (_1962 * exp(_1964 / max(uData[8].y, 0.001000000047497451305389404296875)))) + ((uData[10].y * _1952) * (smoothstep(uData[8].y - 0.5, uData[8].y + 0.5, _1960) * exp((-max(0.0, _1960 - uData[8].y)) / max(uData[8].z, 0.001000000047497451305389404296875)))))); + _2003 = vec4(_2001.x, _2001.y, _2001.z, _1822.w); } else { - _1983 = vec4(_1911.x, _1911.y, _1911.z, _1802.w); + _2003 = vec4(_1931.x, _1931.y, _1931.z, _1822.w); } - highp vec4 _1984 = clamp(_1983, vec4(0.0), vec4(1.0)); - highp float _1991 = max(_1984.w, max(_1984.x, max(_1984.y, _1984.z))); - highp vec4 _1992 = _1984; - _1992.w = _1991; - highp vec3 _2003 = _1992.xyz + vec3(((fract(52.98291778564453125 * fract(dot(vTextureCoord, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))) - 0.5) * uData[5].x) * _1991); - _2007 = clamp(vec4(_2003.x, _2003.y, _2003.z, _1992.w), vec4(0.0), vec4(1.0)) * _1194; + highp vec4 _2004 = clamp(_2003, vec4(0.0), vec4(1.0)); + highp float _2011 = max(_2004.w, max(_2004.x, max(_2004.y, _2004.z))); + highp vec4 _2012 = _2004; + _2012.w = _2011; + highp vec3 _2023 = _2012.xyz + vec3(((fract(52.98291778564453125 * fract(dot(vTextureCoord, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))) - 0.5) * uData[5].x) * _2011); + _2027 = clamp(vec4(_2023.x, _2023.y, _2023.z, _2012.w), vec4(0.0), vec4(1.0)) * _1205; break; } while(false); - out_var_SV_Target0 = _2007; + out_var_SV_Target0 = _2027; } diff --git a/backend/src/glass/shaders/compiled/msl/liquid_glass.fragment.msl b/backend/src/glass/shaders/compiled/msl/liquid_glass.fragment.msl index 71fcc2041..e660b1223 100644 --- a/backend/src/glass/shaders/compiled/msl/liquid_glass.fragment.msl +++ b/backend/src/glass/shaders/compiled/msl/liquid_glass.fragment.msl @@ -22,307 +22,307 @@ struct main0_in fragment main0_out main0(main0_in in [[stage_in]], constant type_Uniforms& Uniforms [[buffer(0)]], texture2d Frost [[texture(0)]], texture2d Sharp [[texture(1)]], sampler FrostSampler [[sampler(0)]], sampler SharpSampler [[sampler(1)]]) { main0_out out = {}; - float4 _2007; + float4 _2027; do { - int _114 = int((in.in_var_COLOR.y * 255.0) + 0.5); - int _119 = int((in.in_var_COLOR.z * 255.0) + 0.5); - bool _145 = Uniforms.uData[5].y > 0.0; - float4 _147; - float4 _150; - float2 _152; - float _154; - float2 _156; - float2 _158; - float2 _160; - float _162; - float _164; - float2 _166; - float2 _168; - float _170; - float _172; - float _174; - _147 = float4(0.0); - _150 = float4(0.0); - _152 = float2(0.0, 1.0); - _154 = 1000000000.0; - _156 = float2(0.0); - _158 = float2(0.0); - _160 = float2(0.0); - _162 = 1000000000.0; - _164 = 1000000000.0; - _166 = float2(0.0); - _168 = float2(0.0, 1.0); - _170 = 1000000000.0; - _172 = 1000000000.0; - _174 = 1000000000.0; - float4 _151; - float2 _161; - float _165; - float2 _167; - float _173; - float _175; - int _180; + int _115 = int((in.in_var_COLOR.y * 255.0) + 0.5); + int _120 = int((in.in_var_COLOR.z * 255.0) + 0.5); + bool _146 = Uniforms.uData[5].y > 0.0; float4 _148; + float4 _151; float2 _153; float _155; float2 _157; float2 _159; + float2 _161; float _163; + float _165; + float2 _167; float2 _169; float _171; - int _176 = _114; + float _173; + float _175; + _148 = float4(0.0); + _151 = float4(0.0); + _153 = float2(0.0, 1.0); + _155 = 1000000000.0; + _157 = float2(0.0); + _159 = float2(0.0); + _161 = float2(0.0); + _163 = 1000000000.0; + _165 = 1000000000.0; + _167 = float2(0.0); + _169 = float2(0.0, 1.0); + _171 = 1000000000.0; + _173 = 1000000000.0; + _175 = 1000000000.0; + float4 _152; + float2 _162; + float _166; + float2 _168; + float _174; + float _176; + int _181; + float4 _149; + float2 _154; + float _156; + float2 _158; + float2 _160; + float _164; + float2 _170; + float _172; + int _177 = _115; for (;;) { - _180 = _114 + _119; - bool _185; - if (_176 < _180) + _181 = _115 + _120; + bool _186; + if (_177 < _181) { - _185 = _176 < 16; + _186 = _177 < 16; } else { - _185 = false; + _186 = false; } - if (_185) + if (_186) { - int _187 = 3 * _176; - int _194 = _187 + 14; - bool _202; - if ((isunordered(Uniforms.uData[_194].w, (-0.5)) || Uniforms.uData[_194].w >= (-0.5))) + int _188 = 3 * _177; + int _195 = _188 + 14; + bool _203; + if ((isunordered(Uniforms.uData[_195].w, (-0.5)) || Uniforms.uData[_195].w >= (-0.5))) { - _202 = Uniforms.uData[_194].w > 3.5; + _203 = Uniforms.uData[_195].w > 3.5; } else { - _202 = true; + _203 = true; } - float4 _212; float4 _213; float4 _214; - if (_202) + float4 _215; + if (_203) { - float4 _210 = Uniforms.uData[59]; - _210.z = 0.0; - _212 = _210; - _213 = Uniforms.uData[57]; - _214 = Uniforms.uData[58]; + float4 _211 = Uniforms.uData[59]; + _211.z = 0.0; + _213 = _211; + _214 = Uniforms.uData[57]; + _215 = Uniforms.uData[58]; } else { - _212 = Uniforms.uData[_194]; - _213 = Uniforms.uData[12 + _187]; - _214 = Uniforms.uData[_187 + 13]; + _213 = Uniforms.uData[_195]; + _214 = Uniforms.uData[12 + _188]; + _215 = Uniforms.uData[_188 + 13]; } - float _217 = precise::min(_213.z, _213.w); - float4 _219 = precise::min(_214, float4(_217)); - float2 _504; - float _505; - if (_202) + float _218 = precise::min(_214.z, _214.w); + float4 _220 = precise::min(_215, float4(_218)); + float2 _505; + float _506; + if (_203) { - float4 _294 = precise::min(Uniforms.uData[58], float4(precise::min(Uniforms.uData[57].z, Uniforms.uData[57].w))); - int _297 = int(Uniforms.uData[59].z); - float2 _299 = in.in_var_TEXCOORD0 - Uniforms.uData[57].xy; - float _301 = _299.x; - float _322; - if (_301 > 0.0) + float4 _295 = precise::min(Uniforms.uData[58], float4(precise::min(Uniforms.uData[57].z, Uniforms.uData[57].w))); + int _298 = int(Uniforms.uData[59].z); + float2 _300 = in.in_var_TEXCOORD0 - Uniforms.uData[57].xy; + float _302 = _300.x; + float _323; + if (_302 > 0.0) { - float _321; - if (_299.y > 0.0) + float _322; + if (_300.y > 0.0) { - _321 = _294.z; + _322 = _295.z; } else { - _321 = _294.y; + _322 = _295.y; } - _322 = _321; + _323 = _322; } else { - float _313; - if (_299.y > 0.0) + float _314; + if (_300.y > 0.0) { - _313 = _294.w; + _314 = _295.w; } else { - _313 = _294.x; + _314 = _295.x; } - _322 = _313; + _323 = _314; } - float2 _326 = (abs(_299) - Uniforms.uData[57].zw) + float2(_322); - float _328 = (_301 < 0.0) ? (-1.0) : 1.0; - float _331 = (_299.y < 0.0) ? (-1.0) : 1.0; - float _333 = _326.x; - bool _339; - if (_333 > 0.0) + float2 _327 = (abs(_300) - Uniforms.uData[57].zw) + float2(_323); + float _329 = (_302 < 0.0) ? (-1.0) : 1.0; + float _332 = (_300.y < 0.0) ? (-1.0) : 1.0; + float _334 = _327.x; + bool _340; + if (_334 > 0.0) { - _339 = _326.y > 0.0; + _340 = _327.y > 0.0; } else { - _339 = false; + _340 = false; } - float2 _353; - if (_339) + float2 _354; + if (_340) { - _353 = fast::normalize(_326) * float2(_328, _331); + _354 = fast::normalize(_327) * float2(_329, _332); } else { - float2 _350; - if (_333 > _326.y) + float2 _351; + if (_334 > _327.y) { - _350 = float2(_328, 0.0); + _351 = float2(_329, 0.0); } else { - _350 = float2(0.0, _331); + _351 = float2(0.0, _332); } - _353 = _350; + _354 = _351; } - float2 _362; - float _365; - _362 = _353; - _365 = (precise::min(precise::max(_333, _326.y), 0.0) + length(precise::max(_326, float2(0.0)))) - _322; float2 _363; float _366; - int _367 = 0; + _363 = _354; + _366 = (precise::min(precise::max(_334, _327.y), 0.0) + length(precise::max(_327, float2(0.0)))) - _323; + float2 _364; + float _367; + int _368 = 0; for (;;) { - bool _375; - if (_367 < _297) + bool _376; + if (_368 < _298) { - _375 = _367 < 4; + _376 = _368 < 4; } else { - _375 = false; + _376 = false; } - if (_375) + if (_376) { - int _377 = 14 - _367; - int _378 = 3 * _377; - int _379 = 12 + _378; - int _382 = _378 + 13; - if (Uniforms.uData[_382].x == 0.0) + int _378 = 14 - _368; + int _379 = 3 * _378; + int _380 = 12 + _379; + int _383 = _379 + 13; + if (Uniforms.uData[_383].x == 0.0) { - _363 = _362; - _366 = _365; - int _368 = _367 + 1; - _362 = _363; - _365 = _366; - _367 = _368; + _364 = _363; + _367 = _366; + int _369 = _368 + 1; + _363 = _364; + _366 = _367; + _368 = _369; continue; } - float _391 = fast::clamp(Uniforms.uData[_382].x / Uniforms.uData[_382].y, 0.0, 1.0); - bool _393 = Uniforms.uData[_379].x < 0.5; - float _401; - if (_393) + float _392 = fast::clamp(Uniforms.uData[_383].x / Uniforms.uData[_383].y, 0.0, 1.0); + bool _394 = Uniforms.uData[_380].x < 0.5; + float _402; + if (_394) { - _401 = in.in_var_TEXCOORD0.y; + _402 = in.in_var_TEXCOORD0.y; } else { - _401 = in.in_var_TEXCOORD0.x; + _402 = in.in_var_TEXCOORD0.x; } - float _409; - if (_393) + float _410; + if (_394) { - _409 = in.in_var_TEXCOORD0.x; + _410 = in.in_var_TEXCOORD0.x; } else { - _409 = in.in_var_TEXCOORD0.y; + _410 = in.in_var_TEXCOORD0.y; } - float _411 = _409 - Uniforms.uData[_379].y; - float _412 = Uniforms.uData[_382].x * 0.5; - float _415 = Uniforms.uData[_379].w - Uniforms.uData[_379].z; - float _416 = smoothstep(0.0, 0.60000002384185791015625, _391); - float _445; + float _412 = _410 - Uniforms.uData[_380].y; + float _413 = Uniforms.uData[_383].x * 0.5; + float _416 = Uniforms.uData[_380].w - Uniforms.uData[_380].z; + float _417 = smoothstep(0.0, 0.60000002384185791015625, _392); float _446; - if (Uniforms.uData[_382].w > 2.5) + float _447; + if (Uniforms.uData[_383].w > 2.5) { - float _436 = _401 - ((Uniforms.uData[_379].z + Uniforms.uData[_379].w) * 0.5); - _445 = (_436 < 0.0) ? 1.0 : (-1.0); - _446 = precise::max(((_415 * 0.5) * (1.0 - _416)) - abs(_436), 0.0); + float _437 = _402 - ((Uniforms.uData[_380].z + Uniforms.uData[_380].w) * 0.5); + _446 = (_437 < 0.0) ? 1.0 : (-1.0); + _447 = precise::max(((_416 * 0.5) * (1.0 - _417)) - abs(_437), 0.0); } else { - bool _422 = Uniforms.uData[_382].w < 1.5; - float _428; - if (_422) + bool _423 = Uniforms.uData[_383].w < 1.5; + float _429; + if (_423) { - _428 = _401 - Uniforms.uData[_379].z; + _429 = _402 - Uniforms.uData[_380].z; } else { - _428 = Uniforms.uData[_379].w - _401; + _429 = Uniforms.uData[_380].w - _402; } - _445 = _422 ? 1.0 : (-1.0); - _446 = precise::max(_428 - ((_415 - _412) * _416), 0.0); + _446 = _423 ? 1.0 : (-1.0); + _447 = precise::max(_429 - ((_416 - _413) * _417), 0.0); } - float _448 = length(float2(_411, _446)); - float _449 = _448 - _412; - float2 _464; - if (_448 > 0.0) + float _449 = length(float2(_412, _447)); + float _450 = _449 - _413; + float2 _465; + if (_449 > 0.0) { - float2 _458 = float2(-_411, (-_446) * _445) / float2(_448); - float2 _463; - if (Uniforms.uData[_379].x > 0.5) + float2 _459 = float2(-_412, (-_447) * _446) / float2(_449); + float2 _464; + if (Uniforms.uData[_380].x > 0.5) { - _463 = _458.yx; + _464 = _459.yx; } else { - _463 = _458; + _464 = _459; } - _464 = _463; + _465 = _464; } else { - _464 = float2(0.0); + _465 = float2(0.0); } - float _466 = Uniforms.uData[_382].z * _391; - float2 _470 = precise::max(float2(_466 + _365, _466 - _449), float2(0.0)); - float _471 = length(_470); - bool _476; - if (_466 > 0.0) + float _467 = Uniforms.uData[_383].z * _392; + float2 _471 = precise::max(float2(_467 + _366, _467 - _450), float2(0.0)); + float _472 = length(_471); + bool _477; + if (_467 > 0.0) { - _476 = _471 > 0.0; + _477 = _472 > 0.0; } else { - _476 = false; + _477 = false; } - float2 _491; - if (_476) + float2 _492; + if (_477) { - _491 = ((_362 * _470.x) + (_464 * _470.y)) / float2(_471); + _492 = ((_363 * _471.x) + (_465 * _471.y)) / float2(_472); } else { - _491 = select(_362, _464, bool2((-_449) > _365)); + _492 = select(_363, _465, bool2((-_450) > _366)); } - float _492 = -_449; - float _503; + float _493 = -_450; + float _504; do { - if (_466 == 0.0) + if (_467 == 0.0) { - _503 = precise::max(_365, _492); + _504 = precise::max(_366, _493); break; } - _503 = precise::min(-_466, precise::max(_365, _492)) + _471; + _504 = precise::min(-_467, precise::max(_366, _493)) + _472; break; } while(false); - _363 = _491; - _366 = _503; - int _368 = _367 + 1; - _362 = _363; - _365 = _366; - _367 = _368; + _364 = _492; + _367 = _504; + int _369 = _368 + 1; + _363 = _364; + _366 = _367; + _368 = _369; continue; } else @@ -330,460 +330,461 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Uniforms& Unifo break; } } - _504 = _362; - _505 = _365; + _505 = _363; + _506 = _366; } else { - float2 _224 = in.in_var_TEXCOORD0 - _213.xy; - float _226 = _224.x; - float _247; - if (_226 > 0.0) + float2 _225 = in.in_var_TEXCOORD0 - _214.xy; + float _227 = _225.x; + float _248; + if (_227 > 0.0) { - float _246; - if (_224.y > 0.0) + float _247; + if (_225.y > 0.0) { - _246 = _219.z; + _247 = _220.z; } else { - _246 = _219.y; + _247 = _220.y; } - _247 = _246; + _248 = _247; } else { - float _238; - if (_224.y > 0.0) + float _239; + if (_225.y > 0.0) { - _238 = _219.w; + _239 = _220.w; } else { - _238 = _219.x; + _239 = _220.x; } - _247 = _238; + _248 = _239; } - float2 _251 = (abs(_224) - _213.zw) + float2(_247); - float _253 = (_226 < 0.0) ? (-1.0) : 1.0; - float _256 = (_224.y < 0.0) ? (-1.0) : 1.0; - float _258 = _251.x; - bool _264; - if (_258 > 0.0) + float2 _252 = (abs(_225) - _214.zw) + float2(_248); + float _254 = (_227 < 0.0) ? (-1.0) : 1.0; + float _257 = (_225.y < 0.0) ? (-1.0) : 1.0; + float _259 = _252.x; + bool _265; + if (_259 > 0.0) { - _264 = _251.y > 0.0; + _265 = _252.y > 0.0; } else { - _264 = false; + _265 = false; } - float2 _278; - if (_264) + float2 _279; + if (_265) { - _278 = fast::normalize(_251) * float2(_253, _256); + _279 = fast::normalize(_252) * float2(_254, _257); } else { - float2 _275; - if (_258 > _251.y) + float2 _276; + if (_259 > _252.y) { - _275 = float2(_253, 0.0); + _276 = float2(_254, 0.0); } else { - _275 = float2(0.0, _256); + _276 = float2(0.0, _257); } - _278 = _275; + _279 = _276; } - _504 = _278; - _505 = (precise::min(precise::max(_258, _251.y), 0.0) + length(precise::max(_251, float2(0.0)))) - _247; + _505 = _279; + _506 = (precise::min(precise::max(_259, _252.y), 0.0) + length(precise::max(_252, float2(0.0)))) - _248; } - float2 _653; + float2 _654; if (Uniforms.uData[10].w > 0.0) { - float _514 = (Uniforms.uData[9].x < 0.0) ? (-1.0) : 1.0; - float _517 = (Uniforms.uData[9].y < 0.0) ? (-1.0) : 1.0; - float _537; - if (_514 < 0.0) + float _515 = (Uniforms.uData[9].x < 0.0) ? (-1.0) : 1.0; + float _518 = (Uniforms.uData[9].y < 0.0) ? (-1.0) : 1.0; + float _538; + if (_515 < 0.0) { - float _536; - if (_517 < 0.0) + float _537; + if (_518 < 0.0) { - _536 = _219.x; + _537 = _220.x; } else { - _536 = _219.w; + _537 = _220.w; } - _537 = _536; + _538 = _537; } else { - float _529; - if (_517 < 0.0) + float _530; + if (_518 < 0.0) { - _529 = _219.y; + _530 = _220.y; } else { - _529 = _219.z; + _530 = _220.z; } - _537 = _529; + _538 = _530; } - float2 _541 = precise::max(_213.zw - float2(_537), float2(0.0)); - float2 _546 = (_213.xy + (float2(_514, _517) * _541)) + (Uniforms.uData[9].xy * _537); - float2 _561; + float2 _542 = precise::max(_214.zw - float2(_538), float2(0.0)); + float2 _547 = (_214.xy + (float2(_515, _518) * _542)) + (Uniforms.uData[9].xy * _538); + float2 _562; if (abs(Uniforms.uData[9].x) < 0.001000000047497451305389404296875) { - float _554 = _541.x; - float2 _560 = _546; - _560.x = fast::clamp(in.in_var_TEXCOORD0.x, _213.x - _554, _213.x + _554) + (_537 * Uniforms.uData[9].x); - _561 = _560; + float _555 = _542.x; + float2 _561 = _547; + _561.x = fast::clamp(in.in_var_TEXCOORD0.x, _214.x - _555, _214.x + _555) + (_538 * Uniforms.uData[9].x); + _562 = _561; } else { - _561 = _546; + _562 = _547; } - float2 _576; + float2 _577; if (abs(Uniforms.uData[9].y) < 0.001000000047497451305389404296875) { - float _569 = _541.y; - float2 _575 = _561; - _575.y = fast::clamp(in.in_var_TEXCOORD0.y, _213.y - _569, _213.y + _569) + (_537 * Uniforms.uData[9].y); - _576 = _575; + float _570 = _542.y; + float2 _576 = _562; + _576.y = fast::clamp(in.in_var_TEXCOORD0.y, _214.y - _570, _214.y + _570) + (_538 * Uniforms.uData[9].y); + _577 = _576; } else { - _576 = _561; + _577 = _562; } - float _579 = precise::max(Uniforms.uData[10].w - precise::max(Uniforms.uData[8].w, 1.0), 0.0); - float2 _584 = -Uniforms.uData[9].xy; - float _585 = _584.x; - float _587 = (_585 < 0.0) ? (-1.0) : 1.0; - float _588 = _584.y; - float _590 = (_588 < 0.0) ? (-1.0) : 1.0; - float _610; - if (_587 < 0.0) + float _580 = precise::max(Uniforms.uData[10].w - precise::max(Uniforms.uData[8].w, 1.0), 0.0); + float2 _585 = -Uniforms.uData[9].xy; + float _586 = _585.x; + float _588 = (_586 < 0.0) ? (-1.0) : 1.0; + float _589 = _585.y; + float _591 = (_589 < 0.0) ? (-1.0) : 1.0; + float _611; + if (_588 < 0.0) { - float _609; - if (_590 < 0.0) + float _610; + if (_591 < 0.0) { - _609 = _219.x; + _610 = _220.x; } else { - _609 = _219.w; + _610 = _220.w; } - _610 = _609; + _611 = _610; } else { - float _602; - if (_590 < 0.0) + float _603; + if (_591 < 0.0) { - _602 = _219.y; + _603 = _220.y; } else { - _602 = _219.z; + _603 = _220.z; } - _610 = _602; + _611 = _603; } - float2 _613 = precise::max(_213.zw - float2(_610), float2(0.0)); - float2 _617 = (_213.xy + (float2(_587, _590) * _613)) + (_584 * _610); - float2 _632; - if (abs(_585) < 0.001000000047497451305389404296875) + float2 _614 = precise::max(_214.zw - float2(_611), float2(0.0)); + float2 _618 = (_214.xy + (float2(_588, _591) * _614)) + (_585 * _611); + float2 _633; + if (abs(_586) < 0.001000000047497451305389404296875) { - float _625 = _613.x; - float2 _631 = _617; - _631.x = fast::clamp(in.in_var_TEXCOORD0.x, _213.x - _625, _213.x + _625) + (_610 * _585); - _632 = _631; + float _626 = _614.x; + float2 _632 = _618; + _632.x = fast::clamp(in.in_var_TEXCOORD0.x, _214.x - _626, _214.x + _626) + (_611 * _586); + _633 = _632; } else { - _632 = _617; + _633 = _618; } - float2 _647; - if (abs(_588) < 0.001000000047497451305389404296875) + float2 _648; + if (abs(_589) < 0.001000000047497451305389404296875) { - float _640 = _613.y; - float2 _646 = _632; - _646.y = fast::clamp(in.in_var_TEXCOORD0.y, _213.y - _640, _213.y + _640) + (_610 * _588); - _647 = _646; + float _641 = _614.y; + float2 _647 = _633; + _647.y = fast::clamp(in.in_var_TEXCOORD0.y, _214.y - _641, _214.y + _641) + (_611 * _589); + _648 = _647; } else { - _647 = _632; + _648 = _633; } - _653 = float2(1.0 - smoothstep(_579, Uniforms.uData[10].w, length(in.in_var_TEXCOORD0 - _576)), 1.0 - smoothstep(_579, Uniforms.uData[10].w, length(in.in_var_TEXCOORD0 - _647))); + _654 = float2(1.0 - smoothstep(_580, Uniforms.uData[10].w, length(in.in_var_TEXCOORD0 - _577)), 1.0 - smoothstep(_580, Uniforms.uData[10].w, length(in.in_var_TEXCOORD0 - _648))); } else { - _653 = float2(0.0); + _654 = float2(0.0); } - bool _654 = _505 < _172; - if (_654) + bool _655 = _506 < _173; + if (_655) { - _148 = _150; - _153 = _168; - _155 = _174; - _157 = _166; - _169 = _213.yw; - _171 = _172; + _149 = _151; + _154 = _169; + _156 = _175; + _158 = _167; + _170 = _214.yw; + _172 = _173; } else { - bool _658 = _505 < _170; - float2 _662; - if (_658) + bool _659 = _506 < _171; + float2 _663; + if (_659) { - _662 = _213.yw; + _663 = _214.yw; } else { - _662 = _152; + _663 = _153; } - _148 = select(_147, _212, bool4(_658)); - _153 = _662; - _155 = _658 ? _217 : _154; - _157 = select(_156, _653, bool2(_658)); - _169 = _168; - _171 = _658 ? _505 : _170; + _149 = select(_148, _213, bool4(_659)); + _154 = _663; + _156 = _659 ? _218 : _155; + _158 = select(_157, _654, bool2(_659)); + _170 = _169; + _172 = _659 ? _506 : _171; } - _151 = select(_150, _212, bool4(_654)); - _167 = select(_166, _653, bool2(_654)); - _173 = _654 ? _505 : _172; - _175 = _654 ? _217 : _174; - float2 _984; - float _985; - if (_202) + _152 = select(_151, _213, bool4(_655)); + _168 = select(_167, _654, bool2(_655)); + _174 = _655 ? _506 : _173; + _176 = _655 ? _218 : _175; + float2 _995; + float _996; + if (_203) { - float4 _730 = precise::min(Uniforms.uData[58], float4(precise::min(Uniforms.uData[57].z, Uniforms.uData[57].w))); - int _733 = int(Uniforms.uData[59].z); - float2 _839; - float _840; - if (Uniforms.uData[1].y > 0.0) + float _732 = Uniforms.uData[1].y * fast::clamp(_218 / (3.0 * Uniforms.uData[1].z), 9.9999997473787516355514526367188e-05, 1.0); + float4 _741 = precise::min(Uniforms.uData[58], float4(precise::min(Uniforms.uData[57].z, Uniforms.uData[57].w))); + int _744 = int(Uniforms.uData[59].z); + float2 _850; + float _851; + if (_732 > 0.0) { - float _805 = (in.in_var_TEXCOORD0.x - Uniforms.uData[57].x) + Uniforms.uData[57].z; - float _807 = (Uniforms.uData[57].x + Uniforms.uData[57].z) - in.in_var_TEXCOORD0.x; - float _812 = (in.in_var_TEXCOORD0.y - Uniforms.uData[57].y) + Uniforms.uData[57].w; - float _814 = (Uniforms.uData[57].y + Uniforms.uData[57].w) - in.in_var_TEXCOORD0.y; - float _818 = precise::min(precise::min(_805, _807), precise::min(_812, _814)); - float4 _823 = exp((float4(_818) - float4(_805, _807, _812, _814)) / float4(Uniforms.uData[1].y)); - float _824 = _823.x; - float _825 = _823.y; - float _827 = _823.z; - float _829 = _823.w; - float _830 = ((_824 + _825) + _827) + _829; - _839 = float2(_825 - _824, _829 - _827) / float2(_830); - _840 = (Uniforms.uData[1].y * log(_830)) - _818; + float _816 = (in.in_var_TEXCOORD0.x - Uniforms.uData[57].x) + Uniforms.uData[57].z; + float _818 = (Uniforms.uData[57].x + Uniforms.uData[57].z) - in.in_var_TEXCOORD0.x; + float _823 = (in.in_var_TEXCOORD0.y - Uniforms.uData[57].y) + Uniforms.uData[57].w; + float _825 = (Uniforms.uData[57].y + Uniforms.uData[57].w) - in.in_var_TEXCOORD0.y; + float _829 = precise::min(precise::min(_816, _818), precise::min(_823, _825)); + float4 _834 = exp((float4(_829) - float4(_816, _818, _823, _825)) / float4(_732)); + float _835 = _834.x; + float _836 = _834.y; + float _838 = _834.z; + float _840 = _834.w; + float _841 = ((_835 + _836) + _838) + _840; + _850 = float2(_836 - _835, _840 - _838) / float2(_841); + _851 = (_732 * log(_841)) - _829; } else { - float2 _739 = in.in_var_TEXCOORD0 - Uniforms.uData[57].xy; - float _741 = _739.x; - float _762; - if (_741 > 0.0) + float2 _750 = in.in_var_TEXCOORD0 - Uniforms.uData[57].xy; + float _752 = _750.x; + float _773; + if (_752 > 0.0) { - float _761; - if (_739.y > 0.0) + float _772; + if (_750.y > 0.0) { - _761 = _730.z; + _772 = _741.z; } else { - _761 = _730.y; + _772 = _741.y; } - _762 = _761; + _773 = _772; } else { - float _753; - if (_739.y > 0.0) + float _764; + if (_750.y > 0.0) { - _753 = _730.w; + _764 = _741.w; } else { - _753 = _730.x; + _764 = _741.x; } - _762 = _753; + _773 = _764; } - float2 _766 = (abs(_739) - Uniforms.uData[57].zw) + float2(_762); - float _768 = (_741 < 0.0) ? (-1.0) : 1.0; - float _771 = (_739.y < 0.0) ? (-1.0) : 1.0; - float _773 = _766.x; - bool _779; - if (_773 > 0.0) + float2 _777 = (abs(_750) - Uniforms.uData[57].zw) + float2(_773); + float _779 = (_752 < 0.0) ? (-1.0) : 1.0; + float _782 = (_750.y < 0.0) ? (-1.0) : 1.0; + float _784 = _777.x; + bool _790; + if (_784 > 0.0) { - _779 = _766.y > 0.0; + _790 = _777.y > 0.0; } else { - _779 = false; + _790 = false; } - float2 _793; - if (_779) + float2 _804; + if (_790) { - _793 = fast::normalize(_766) * float2(_768, _771); + _804 = fast::normalize(_777) * float2(_779, _782); } else { - float2 _790; - if (_773 > _766.y) + float2 _801; + if (_784 > _777.y) { - _790 = float2(_768, 0.0); + _801 = float2(_779, 0.0); } else { - _790 = float2(0.0, _771); + _801 = float2(0.0, _782); } - _793 = _790; + _804 = _801; } - _839 = _793; - _840 = (precise::min(precise::max(_773, _766.y), 0.0) + length(precise::max(_766, float2(0.0)))) - _762; + _850 = _804; + _851 = (precise::min(precise::max(_784, _777.y), 0.0) + length(precise::max(_777, float2(0.0)))) - _773; } - float2 _842; - float _845; - _842 = _839; - _845 = _840; - float2 _843; - float _846; - int _847 = 0; + float2 _853; + float _856; + _853 = _850; + _856 = _851; + float2 _854; + float _857; + int _858 = 0; for (;;) { - bool _855; - if (_847 < _733) + bool _866; + if (_858 < _744) { - _855 = _847 < 4; + _866 = _858 < 4; } else { - _855 = false; + _866 = false; } - if (_855) + if (_866) { - int _857 = 14 - _847; - int _858 = 3 * _857; - int _859 = 12 + _858; - int _862 = _858 + 13; - if (Uniforms.uData[_862].x == 0.0) + int _868 = 14 - _858; + int _869 = 3 * _868; + int _870 = 12 + _869; + int _873 = _869 + 13; + if (Uniforms.uData[_873].x == 0.0) { - _843 = _842; - _846 = _845; - int _848 = _847 + 1; - _842 = _843; - _845 = _846; - _847 = _848; + _854 = _853; + _857 = _856; + int _859 = _858 + 1; + _853 = _854; + _856 = _857; + _858 = _859; continue; } - float _871 = fast::clamp(Uniforms.uData[_862].x / Uniforms.uData[_862].y, 0.0, 1.0); - bool _873 = Uniforms.uData[_859].x < 0.5; - float _881; - if (_873) + float _882 = fast::clamp(Uniforms.uData[_873].x / Uniforms.uData[_873].y, 0.0, 1.0); + bool _884 = Uniforms.uData[_870].x < 0.5; + float _892; + if (_884) { - _881 = in.in_var_TEXCOORD0.y; + _892 = in.in_var_TEXCOORD0.y; } else { - _881 = in.in_var_TEXCOORD0.x; + _892 = in.in_var_TEXCOORD0.x; } - float _889; - if (_873) + float _900; + if (_884) { - _889 = in.in_var_TEXCOORD0.x; + _900 = in.in_var_TEXCOORD0.x; } else { - _889 = in.in_var_TEXCOORD0.y; + _900 = in.in_var_TEXCOORD0.y; } - float _891 = _889 - Uniforms.uData[_859].y; - float _892 = Uniforms.uData[_862].x * 0.5; - float _895 = Uniforms.uData[_859].w - Uniforms.uData[_859].z; - float _896 = smoothstep(0.0, 0.60000002384185791015625, _871); - float _925; - float _926; - if (Uniforms.uData[_862].w > 2.5) + float _902 = _900 - Uniforms.uData[_870].y; + float _903 = Uniforms.uData[_873].x * 0.5; + float _906 = Uniforms.uData[_870].w - Uniforms.uData[_870].z; + float _907 = smoothstep(0.0, 0.60000002384185791015625, _882); + float _936; + float _937; + if (Uniforms.uData[_873].w > 2.5) { - float _916 = _881 - ((Uniforms.uData[_859].z + Uniforms.uData[_859].w) * 0.5); - _925 = (_916 < 0.0) ? 1.0 : (-1.0); - _926 = precise::max(((_895 * 0.5) * (1.0 - _896)) - abs(_916), 0.0); + float _927 = _892 - ((Uniforms.uData[_870].z + Uniforms.uData[_870].w) * 0.5); + _936 = (_927 < 0.0) ? 1.0 : (-1.0); + _937 = precise::max(((_906 * 0.5) * (1.0 - _907)) - abs(_927), 0.0); } else { - bool _902 = Uniforms.uData[_862].w < 1.5; - float _908; - if (_902) + bool _913 = Uniforms.uData[_873].w < 1.5; + float _919; + if (_913) { - _908 = _881 - Uniforms.uData[_859].z; + _919 = _892 - Uniforms.uData[_870].z; } else { - _908 = Uniforms.uData[_859].w - _881; + _919 = Uniforms.uData[_870].w - _892; } - _925 = _902 ? 1.0 : (-1.0); - _926 = precise::max(_908 - ((_895 - _892) * _896), 0.0); + _936 = _913 ? 1.0 : (-1.0); + _937 = precise::max(_919 - ((_906 - _903) * _907), 0.0); } - float _928 = length(float2(_891, _926)); - float _929 = _928 - _892; - float2 _944; - if (_928 > 0.0) + float _939 = length(float2(_902, _937)); + float _940 = _939 - _903; + float2 _955; + if (_939 > 0.0) { - float2 _938 = float2(-_891, (-_926) * _925) / float2(_928); - float2 _943; - if (Uniforms.uData[_859].x > 0.5) + float2 _949 = float2(-_902, (-_937) * _936) / float2(_939); + float2 _954; + if (Uniforms.uData[_870].x > 0.5) { - _943 = _938.yx; + _954 = _949.yx; } else { - _943 = _938; + _954 = _949; } - _944 = _943; + _955 = _954; } else { - _944 = float2(0.0); + _955 = float2(0.0); } - float _946 = Uniforms.uData[_862].z * _871; - float2 _950 = precise::max(float2(_946 + _845, _946 - _929), float2(0.0)); - float _951 = length(_950); - bool _956; - if (_946 > 0.0) + float _957 = Uniforms.uData[_873].z * _882; + float2 _961 = precise::max(float2(_957 + _856, _957 - _940), float2(0.0)); + float _962 = length(_961); + bool _967; + if (_957 > 0.0) { - _956 = _951 > 0.0; + _967 = _962 > 0.0; } else { - _956 = false; + _967 = false; } - float2 _971; - if (_956) + float2 _982; + if (_967) { - _971 = ((_842 * _950.x) + (_944 * _950.y)) / float2(_951); + _982 = ((_853 * _961.x) + (_955 * _961.y)) / float2(_962); } else { - _971 = select(_842, _944, bool2((-_929) > _845)); + _982 = select(_853, _955, bool2((-_940) > _856)); } - float _972 = -_929; - float _983; + float _983 = -_940; + float _994; do { - if (_946 == 0.0) + if (_957 == 0.0) { - _983 = precise::max(_845, _972); + _994 = precise::max(_856, _983); break; } - _983 = precise::min(-_946, precise::max(_845, _972)) + _951; + _994 = precise::min(-_957, precise::max(_856, _983)) + _962; break; } while(false); - _843 = _971; - _846 = _983; - int _848 = _847 + 1; - _842 = _843; - _845 = _846; - _847 = _848; + _854 = _982; + _857 = _994; + int _859 = _858 + 1; + _853 = _854; + _856 = _857; + _858 = _859; continue; } else @@ -791,66 +792,67 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Uniforms& Unifo break; } } - _984 = _842; - _985 = _845; + _995 = _853; + _996 = _856; } else { - float2 _719; - float _720; - if (_212.w < 0.5) + float2 _725; + float _726; + if (_213.w < 0.5) { - float _685 = (in.in_var_TEXCOORD0.x - _213.x) + _213.z; - float _687 = (_213.x + _213.z) - in.in_var_TEXCOORD0.x; - float _692 = (in.in_var_TEXCOORD0.y - _213.y) + _213.w; - float _694 = (_213.y + _213.w) - in.in_var_TEXCOORD0.y; - float _698 = precise::min(precise::min(_685, _687), precise::min(_692, _694)); - float4 _703 = exp((float4(_698) - float4(_685, _687, _692, _694)) / float4(Uniforms.uData[1].y)); - float _704 = _703.x; - float _705 = _703.y; - float _707 = _703.z; - float _709 = _703.w; - float _710 = ((_704 + _705) + _707) + _709; - _719 = float2(_705 - _704, _709 - _707) / float2(_710); - _720 = (Uniforms.uData[1].y * log(_710)) - _698; + float _686 = Uniforms.uData[1].y * fast::clamp(_218 / (3.0 * Uniforms.uData[1].z), 9.9999997473787516355514526367188e-05, 1.0); + float _691 = (in.in_var_TEXCOORD0.x - _214.x) + _214.z; + float _693 = (_214.x + _214.z) - in.in_var_TEXCOORD0.x; + float _698 = (in.in_var_TEXCOORD0.y - _214.y) + _214.w; + float _700 = (_214.y + _214.w) - in.in_var_TEXCOORD0.y; + float _704 = precise::min(precise::min(_691, _693), precise::min(_698, _700)); + float4 _709 = exp((float4(_704) - float4(_691, _693, _698, _700)) / float4(_686)); + float _710 = _709.x; + float _711 = _709.y; + float _713 = _709.z; + float _715 = _709.w; + float _716 = ((_710 + _711) + _713) + _715; + _725 = float2(_711 - _710, _715 - _713) / float2(_716); + _726 = (_686 * log(_716)) - _704; } else { - _719 = _504; - _720 = _505; + _725 = _505; + _726 = _506; } - _984 = _719; - _985 = _720; + _995 = _725; + _996 = _726; } - bool _986 = _985 < _164; - if (_986) + bool _997 = _996 < _165; + if (_997) { - _159 = _160; - _163 = _164; + _160 = _161; + _164 = _165; } else { - bool _990 = _985 < _162; - _159 = select(_158, _984, bool2(_990)); - _163 = _990 ? _985 : _162; + bool _1001 = _996 < _163; + _160 = select(_159, _995, bool2(_1001)); + _164 = _1001 ? _996 : _163; } - _161 = select(_160, _984, bool2(_986)); - _165 = _986 ? _985 : _164; - _147 = _148; - _150 = _151; - _152 = _153; - _154 = _155; - _156 = _157; - _158 = _159; - _160 = _161; - _162 = _163; - _164 = _165; - _166 = _167; - _168 = _169; - _170 = _171; - _172 = _173; - _174 = _175; - _176++; + _162 = select(_161, _995, bool2(_997)); + _166 = _997 ? _996 : _165; + _148 = _149; + _151 = _152; + _153 = _154; + _155 = _156; + _157 = _158; + _159 = _160; + _161 = _162; + _163 = _164; + _165 = _166; + _167 = _168; + _169 = _170; + _171 = _172; + _173 = _174; + _175 = _176; + _177++; continue; } else @@ -858,418 +860,418 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Uniforms& Unifo break; } } - bool _1004; + bool _1015; if (Uniforms.uData[59].w > 2.5) { - _1004 = Uniforms.uData[59].w < 3.5; + _1015 = Uniforms.uData[59].w < 3.5; } else { - _1004 = false; + _1015 = false; } - bool _1005 = Uniforms.uData[59].w > 1.5; - bool _1009; - if (_1005) + bool _1016 = Uniforms.uData[59].w > 1.5; + bool _1020; + if (_1016) { - _1009 = Uniforms.uData[59].w < 3.5; + _1020 = Uniforms.uData[59].w < 3.5; } else { - _1009 = false; + _1020 = false; } - float _1082; - float2 _1083; - if (_1009) + float _1093; + float2 _1094; + if (_1020) { - float2 _1015 = in.in_var_TEXCOORD0 - Uniforms.uData[57].xy; - float4 _1021 = precise::min(Uniforms.uData[58], float4(precise::min(Uniforms.uData[57].z, Uniforms.uData[57].w))); - float _1022 = _1015.x; - float _1043; - if (_1022 > 0.0) + float2 _1026 = in.in_var_TEXCOORD0 - Uniforms.uData[57].xy; + float4 _1032 = precise::min(Uniforms.uData[58], float4(precise::min(Uniforms.uData[57].z, Uniforms.uData[57].w))); + float _1033 = _1026.x; + float _1054; + if (_1033 > 0.0) { - float _1042; - if (_1015.y > 0.0) + float _1053; + if (_1026.y > 0.0) { - _1042 = _1021.z; + _1053 = _1032.z; } else { - _1042 = _1021.y; + _1053 = _1032.y; } - _1043 = _1042; + _1054 = _1053; } else { - float _1034; - if (_1015.y > 0.0) + float _1045; + if (_1026.y > 0.0) { - _1034 = _1021.w; + _1045 = _1032.w; } else { - _1034 = _1021.x; + _1045 = _1032.x; } - _1043 = _1034; + _1054 = _1045; } - float2 _1047 = (abs(_1015) - Uniforms.uData[57].zw) + float2(_1043); - float _1049 = (_1022 < 0.0) ? (-1.0) : 1.0; - float _1052 = (_1015.y < 0.0) ? (-1.0) : 1.0; - float _1054 = _1047.x; - bool _1060; - if (_1054 > 0.0) + float2 _1058 = (abs(_1026) - Uniforms.uData[57].zw) + float2(_1054); + float _1060 = (_1033 < 0.0) ? (-1.0) : 1.0; + float _1063 = (_1026.y < 0.0) ? (-1.0) : 1.0; + float _1065 = _1058.x; + bool _1071; + if (_1065 > 0.0) { - _1060 = _1047.y > 0.0; + _1071 = _1058.y > 0.0; } else { - _1060 = false; + _1071 = false; } - float2 _1074; - if (_1060) + float2 _1085; + if (_1071) { - _1074 = fast::normalize(_1047) * float2(_1049, _1052); + _1085 = fast::normalize(_1058) * float2(_1060, _1063); } else { - float2 _1071; - if (_1054 > _1047.y) + float2 _1082; + if (_1065 > _1058.y) { - _1071 = float2(_1049, 0.0); + _1082 = float2(_1060, 0.0); } else { - _1071 = float2(0.0, _1052); + _1082 = float2(0.0, _1063); } - _1074 = _1071; + _1085 = _1082; } - _1082 = (precise::min(precise::max(_1054, _1047.y), 0.0) + length(precise::max(_1047, float2(0.0)))) - _1043; - _1083 = _1074; + _1093 = (precise::min(precise::max(_1065, _1058.y), 0.0) + length(precise::max(_1058, float2(0.0)))) - _1054; + _1094 = _1085; } else { - _1082 = -1000000000.0; - _1083 = float2(0.0); + _1093 = -1000000000.0; + _1094 = float2(0.0); } - bool _1087; - if (_1005) + bool _1098; + if (_1016) { - _1087 = Uniforms.uData[59].w < 3.5; + _1098 = Uniforms.uData[59].w < 3.5; } else { - _1087 = false; + _1098 = false; } - bool _1091; - if (_1087) + bool _1102; + if (_1098) { - _1091 = !_1004; + _1102 = !_1015; } else { - _1091 = false; - } - float4 _1136; - float4 _1137; - float2 _1138; - float2 _1139; - float _1140; - float2 _1141; - float2 _1142; - float2 _1143; - float2 _1144; - float _1145; - float _1146; - float _1147; - float _1148; - if (_1091) - { - float _1094 = 1.0 - _1082; - bool _1095 = _1094 < _172; - float4 _1111; - float2 _1112; - float2 _1113; - float _1114; - float2 _1115; - float _1116; - if (_1095) + _1102 = false; + } + float4 _1147; + float4 _1148; + float2 _1149; + float2 _1150; + float _1151; + float2 _1152; + float2 _1153; + float2 _1154; + float2 _1155; + float _1156; + float _1157; + float _1158; + float _1159; + if (_1102) + { + float _1105 = 1.0 - _1093; + bool _1106 = _1105 < _173; + float4 _1122; + float2 _1123; + float2 _1124; + float _1125; + float2 _1126; + float _1127; + if (_1106) { - _1111 = _150; - _1112 = _168; - _1113 = Uniforms.uData[57].yw; - _1114 = _174; - _1115 = _166; - _1116 = _172; + _1122 = _151; + _1123 = _169; + _1124 = Uniforms.uData[57].yw; + _1125 = _175; + _1126 = _167; + _1127 = _173; } else { - bool _1099 = _1094 < _170; - float2 _1103; - if (_1099) + bool _1110 = _1105 < _171; + float2 _1114; + if (_1110) { - _1103 = Uniforms.uData[57].yw; + _1114 = Uniforms.uData[57].yw; } else { - _1103 = _152; + _1114 = _153; } - _1111 = select(_147, Uniforms.uData[59], bool4(_1099)); - _1112 = _1103; - _1113 = _168; - _1114 = _1099 ? _174 : _154; - _1115 = select(_156, float2(0.0), bool2(_1099)); - _1116 = _1099 ? _1094 : _170; + _1122 = select(_148, Uniforms.uData[59], bool4(_1110)); + _1123 = _1114; + _1124 = _169; + _1125 = _1110 ? _175 : _155; + _1126 = select(_157, float2(0.0), bool2(_1110)); + _1127 = _1110 ? _1105 : _171; } - float2 _1122 = -_1083; - bool _1123 = _1094 < _164; - float2 _1131; - float _1132; - if (_1123) + float2 _1133 = -_1094; + bool _1134 = _1105 < _165; + float2 _1142; + float _1143; + if (_1134) { - _1131 = _160; - _1132 = _164; + _1142 = _161; + _1143 = _165; } else { - bool _1127 = _1094 < _162; - _1131 = select(_158, _1122, bool2(_1127)); - _1132 = _1127 ? _1094 : _162; + bool _1138 = _1105 < _163; + _1142 = select(_159, _1133, bool2(_1138)); + _1143 = _1138 ? _1105 : _163; } - _1136 = _1111; - _1137 = select(_150, Uniforms.uData[59], bool4(_1095)); - _1138 = _1112; - _1139 = _1113; - _1140 = _1114; - _1141 = _1115; - _1142 = select(_166, float2(0.0), bool2(_1095)); - _1143 = _1131; - _1144 = select(_160, _1122, bool2(_1123)); - _1145 = _1132; - _1146 = _1123 ? _1094 : _164; - _1147 = _1116; - _1148 = _1095 ? _1094 : _172; + _1147 = _1122; + _1148 = select(_151, Uniforms.uData[59], bool4(_1106)); + _1149 = _1123; + _1150 = _1124; + _1151 = _1125; + _1152 = _1126; + _1153 = select(_167, float2(0.0), bool2(_1106)); + _1154 = _1142; + _1155 = select(_161, _1133, bool2(_1134)); + _1156 = _1143; + _1157 = _1134 ? _1105 : _165; + _1158 = _1127; + _1159 = _1106 ? _1105 : _173; } else { - _1136 = _147; - _1137 = _150; - _1138 = _152; - _1139 = _168; - _1140 = _154; - _1141 = _156; - _1142 = _166; - _1143 = _158; - _1144 = _160; - _1145 = _162; - _1146 = _164; - _1147 = _170; - _1148 = _172; - } - float _1150 = precise::max(Uniforms.uData[1].x, 9.9999997473787516355514526367188e-05); - float _1155 = precise::max(_1150 - abs(_1148 - _1147), 0.0) / _1150; - float _1156 = _1155 * _1155; - float _1157 = _1156 * 0.5; - float _1162; - if (_1147 < _1148) - { - _1162 = 1.0 - _1157; + _1147 = _148; + _1148 = _151; + _1149 = _153; + _1150 = _169; + _1151 = _155; + _1152 = _157; + _1153 = _167; + _1154 = _159; + _1155 = _161; + _1156 = _163; + _1157 = _165; + _1158 = _171; + _1159 = _173; + } + float _1161 = precise::max(Uniforms.uData[1].x, 9.9999997473787516355514526367188e-05); + float _1166 = precise::max(_1161 - abs(_1159 - _1158), 0.0) / _1161; + float _1167 = _1166 * _1166; + float _1168 = _1167 * 0.5; + float _1173; + if (_1158 < _1159) + { + _1173 = 1.0 - _1168; } else { - _1162 = _1157; + _1173 = _1168; } - float _1166 = precise::min(_1148, _1147) - ((_1156 * _1150) * 0.25); - float _1171 = precise::max(_1150 - abs(_1146 - _1145), 0.0) / _1150; - float _1172 = _1171 * _1171; - float _1173 = _1172 * 0.5; - float _1178; - if (_1145 < _1146) + float _1177 = precise::min(_1159, _1158) - ((_1167 * _1161) * 0.25); + float _1182 = precise::max(_1161 - abs(_1157 - _1156), 0.0) / _1161; + float _1183 = _1182 * _1182; + float _1184 = _1183 * 0.5; + float _1189; + if (_1156 < _1157) { - _1178 = 1.0 - _1173; + _1189 = 1.0 - _1184; } else { - _1178 = _1173; + _1189 = _1184; } - float _1182 = precise::min(_1146, _1145) - ((_1172 * _1150) * 0.25); - float _1186; - if (_1004) + float _1193 = precise::min(_1157, _1156) - ((_1183 * _1161) * 0.25); + float _1197; + if (_1015) { - _1186 = precise::max(_1166, _1082); + _1197 = precise::max(_1177, _1093); } else { - _1186 = _1166; + _1197 = _1177; } - float _1188 = Uniforms.uData[2].z * 1.25; - bool _1189 = _1188 <= 1.25; - float _1194 = fast::clamp(0.5 - (precise::max(_1186, _1082) / (_1189 ? 1.39999997615814208984375 : 1.0)), 0.0, 1.0); - bool _1200; + float _1199 = Uniforms.uData[2].z * 1.25; + bool _1200 = _1199 <= 1.25; + float _1205 = fast::clamp(0.5 - (precise::max(_1197, _1093) / (_1200 ? 1.39999997615814208984375 : 1.0)), 0.0, 1.0); + bool _1211; if (Uniforms.uData[11].w > 0.0) { - _1200 = _1194 < 1.0; + _1211 = _1205 < 1.0; } else { - _1200 = false; + _1211 = false; } - float _1458; - if (_1200) + float _1469; + if (_1211) { - float2 _1204 = in.in_var_TEXCOORD0 - Uniforms.uData[11].yz; - float _1206; - float _1209; - _1206 = 1000000000.0; - _1209 = 1000000000.0; - float _1210; - float _1207; - int _1211 = _114; + float2 _1215 = in.in_var_TEXCOORD0 - Uniforms.uData[11].yz; + float _1217; + float _1220; + _1217 = 1000000000.0; + _1220 = 1000000000.0; + float _1221; + float _1218; + int _1222 = _115; for (;;) { - bool _1219; - if (_1211 < _180) + bool _1230; + if (_1222 < _181) { - _1219 = _1211 < 16; + _1230 = _1222 < 16; } else { - _1219 = false; + _1230 = false; } - if (_1219) + if (_1230) { - int _1221 = 3 * _1211; - int _1222 = 12 + _1221; - int _1228 = _1221 + 14; - bool _1236; - if ((isunordered(Uniforms.uData[_1228].w, (-0.5)) || Uniforms.uData[_1228].w >= (-0.5))) + int _1232 = 3 * _1222; + int _1233 = 12 + _1232; + int _1239 = _1232 + 14; + bool _1247; + if ((isunordered(Uniforms.uData[_1239].w, (-0.5)) || Uniforms.uData[_1239].w >= (-0.5))) { - _1236 = Uniforms.uData[_1228].w > 3.5; + _1247 = Uniforms.uData[_1239].w > 3.5; } else { - _1236 = true; + _1247 = true; } - float _1427; - if (_1236) + float _1438; + if (_1247) { - float4 _1288 = precise::min(Uniforms.uData[58], float4(precise::min(Uniforms.uData[57].z, Uniforms.uData[57].w))); - int _1291 = int(Uniforms.uData[59].z); - float2 _1293 = _1204 - Uniforms.uData[57].xy; - float _1316; - if (_1293.x > 0.0) + float4 _1299 = precise::min(Uniforms.uData[58], float4(precise::min(Uniforms.uData[57].z, Uniforms.uData[57].w))); + int _1302 = int(Uniforms.uData[59].z); + float2 _1304 = _1215 - Uniforms.uData[57].xy; + float _1327; + if (_1304.x > 0.0) { - float _1315; - if (_1293.y > 0.0) + float _1326; + if (_1304.y > 0.0) { - _1315 = _1288.z; + _1326 = _1299.z; } else { - _1315 = _1288.y; + _1326 = _1299.y; } - _1316 = _1315; + _1327 = _1326; } else { - float _1307; - if (_1293.y > 0.0) + float _1318; + if (_1304.y > 0.0) { - _1307 = _1288.w; + _1318 = _1299.w; } else { - _1307 = _1288.x; + _1318 = _1299.x; } - _1316 = _1307; + _1327 = _1318; } - float2 _1320 = (abs(_1293) - Uniforms.uData[57].zw) + float2(_1316); - float _1330; - _1330 = (precise::min(precise::max(_1320.x, _1320.y), 0.0) + length(precise::max(_1320, float2(0.0)))) - _1316; - float _1331; - int _1333 = 0; + float2 _1331 = (abs(_1304) - Uniforms.uData[57].zw) + float2(_1327); + float _1341; + _1341 = (precise::min(precise::max(_1331.x, _1331.y), 0.0) + length(precise::max(_1331, float2(0.0)))) - _1327; + float _1342; + int _1344 = 0; for (;;) { - bool _1341; - if (_1333 < _1291) + bool _1352; + if (_1344 < _1302) { - _1341 = _1333 < 4; + _1352 = _1344 < 4; } else { - _1341 = false; + _1352 = false; } - if (_1341) + if (_1352) { - int _1343 = 14 - _1333; - int _1344 = 3 * _1343; - int _1345 = 12 + _1344; - int _1348 = _1344 + 13; - if (Uniforms.uData[_1348].x == 0.0) + int _1354 = 14 - _1344; + int _1355 = 3 * _1354; + int _1356 = 12 + _1355; + int _1359 = _1355 + 13; + if (Uniforms.uData[_1359].x == 0.0) { - _1331 = _1330; - int _1334 = _1333 + 1; - _1330 = _1331; - _1333 = _1334; + _1342 = _1341; + int _1345 = _1344 + 1; + _1341 = _1342; + _1344 = _1345; continue; } - float _1357 = fast::clamp(Uniforms.uData[_1348].x / Uniforms.uData[_1348].y, 0.0, 1.0); - bool _1359 = Uniforms.uData[_1345].x < 0.5; - float _1365; - if (_1359) + float _1368 = fast::clamp(Uniforms.uData[_1359].x / Uniforms.uData[_1359].y, 0.0, 1.0); + bool _1370 = Uniforms.uData[_1356].x < 0.5; + float _1376; + if (_1370) { - _1365 = _1204.y; + _1376 = _1215.y; } else { - _1365 = _1204.x; + _1376 = _1215.x; } - float _1371; - if (_1359) + float _1382; + if (_1370) { - _1371 = _1204.x; + _1382 = _1215.x; } else { - _1371 = _1204.y; + _1382 = _1215.y; } - float _1374 = Uniforms.uData[_1348].x * 0.5; - float _1377 = Uniforms.uData[_1345].w - Uniforms.uData[_1345].z; - float _1378 = smoothstep(0.0, 0.60000002384185791015625, _1357); - float _1404; - if (Uniforms.uData[_1348].w > 2.5) + float _1385 = Uniforms.uData[_1359].x * 0.5; + float _1388 = Uniforms.uData[_1356].w - Uniforms.uData[_1356].z; + float _1389 = smoothstep(0.0, 0.60000002384185791015625, _1368); + float _1415; + if (Uniforms.uData[_1359].w > 2.5) { - _1404 = precise::max(((_1377 * 0.5) * (1.0 - _1378)) - abs(_1365 - ((Uniforms.uData[_1345].z + Uniforms.uData[_1345].w) * 0.5)), 0.0); + _1415 = precise::max(((_1388 * 0.5) * (1.0 - _1389)) - abs(_1376 - ((Uniforms.uData[_1356].z + Uniforms.uData[_1356].w) * 0.5)), 0.0); } else { - float _1390; - if (Uniforms.uData[_1348].w < 1.5) + float _1401; + if (Uniforms.uData[_1359].w < 1.5) { - _1390 = _1365 - Uniforms.uData[_1345].z; + _1401 = _1376 - Uniforms.uData[_1356].z; } else { - _1390 = Uniforms.uData[_1345].w - _1365; + _1401 = Uniforms.uData[_1356].w - _1376; } - _1404 = precise::max(_1390 - ((_1377 - _1374) * _1378), 0.0); + _1415 = precise::max(_1401 - ((_1388 - _1385) * _1389), 0.0); } - float _1407 = length(float2(_1371 - Uniforms.uData[_1345].y, _1404)) - _1374; - float _1409 = Uniforms.uData[_1348].z * _1357; - float _1410 = -_1407; - float _1426; + float _1418 = length(float2(_1382 - Uniforms.uData[_1356].y, _1415)) - _1385; + float _1420 = Uniforms.uData[_1359].z * _1368; + float _1421 = -_1418; + float _1437; do { - if (_1409 == 0.0) + if (_1420 == 0.0) { - _1426 = precise::max(_1330, _1410); + _1437 = precise::max(_1341, _1421); break; } - _1426 = precise::min(-_1409, precise::max(_1330, _1410)) + length(precise::max(float2(_1409 + _1330, _1409 - _1407), float2(0.0))); + _1437 = precise::min(-_1420, precise::max(_1341, _1421)) + length(precise::max(float2(_1420 + _1341, _1420 - _1418), float2(0.0))); break; } while(false); - _1331 = _1426; - int _1334 = _1333 + 1; - _1330 = _1331; - _1333 = _1334; + _1342 = _1437; + int _1345 = _1344 + 1; + _1341 = _1342; + _1344 = _1345; continue; } else @@ -1277,55 +1279,55 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Uniforms& Unifo break; } } - _1427 = _1330; + _1438 = _1341; } else { - float2 _1241 = _1204 - Uniforms.uData[_1222].xy; - float4 _1247 = precise::min(Uniforms.uData[_1221 + 13], float4(precise::min(Uniforms.uData[_1222].z, Uniforms.uData[_1222].w))); - float _1269; - if (_1241.x > 0.0) + float2 _1252 = _1215 - Uniforms.uData[_1233].xy; + float4 _1258 = precise::min(Uniforms.uData[_1232 + 13], float4(precise::min(Uniforms.uData[_1233].z, Uniforms.uData[_1233].w))); + float _1280; + if (_1252.x > 0.0) { - float _1268; - if (_1241.y > 0.0) + float _1279; + if (_1252.y > 0.0) { - _1268 = _1247.z; + _1279 = _1258.z; } else { - _1268 = _1247.y; + _1279 = _1258.y; } - _1269 = _1268; + _1280 = _1279; } else { - float _1260; - if (_1241.y > 0.0) + float _1271; + if (_1252.y > 0.0) { - _1260 = _1247.w; + _1271 = _1258.w; } else { - _1260 = _1247.x; + _1271 = _1258.x; } - _1269 = _1260; + _1280 = _1271; } - float2 _1273 = (abs(_1241) - Uniforms.uData[_1222].zw) + float2(_1269); - _1427 = (precise::min(precise::max(_1273.x, _1273.y), 0.0) + length(precise::max(_1273, float2(0.0)))) - _1269; + float2 _1284 = (abs(_1252) - Uniforms.uData[_1233].zw) + float2(_1280); + _1438 = (precise::min(precise::max(_1284.x, _1284.y), 0.0) + length(precise::max(_1284, float2(0.0)))) - _1280; } - bool _1428 = _1427 < _1209; - if (_1428) + bool _1439 = _1438 < _1220; + if (_1439) { - _1207 = _1209; + _1218 = _1220; } else { - _1207 = (_1427 < _1206) ? _1427 : _1206; + _1218 = (_1438 < _1217) ? _1438 : _1217; } - _1210 = _1428 ? _1427 : _1209; - _1206 = _1207; - _1209 = _1210; - _1211++; + _1221 = _1439 ? _1438 : _1220; + _1217 = _1218; + _1220 = _1221; + _1222++; continue; } else @@ -1333,400 +1335,402 @@ fragment main0_out main0(main0_in in [[stage_in]], constant type_Uniforms& Unifo break; } } - float _1436 = precise::max(Uniforms.uData[1].x, 9.9999997473787516355514526367188e-05); - float _1441 = precise::max(_1436 - abs(_1209 - _1206), 0.0) / _1436; - float _1450 = 1.0 - fast::clamp((precise::min(_1209, _1206) - (((_1441 * _1441) * _1436) * 0.25)) / Uniforms.uData[11].x, 0.0, 1.0); - _1458 = ((Uniforms.uData[11].w * _1450) * _1450) * fast::clamp(mix(_1137.y, _1136.y, _1162), 0.0, 1.0); + float _1447 = precise::max(Uniforms.uData[1].x, 9.9999997473787516355514526367188e-05); + float _1452 = precise::max(_1447 - abs(_1220 - _1217), 0.0) / _1447; + float _1461 = 1.0 - fast::clamp((precise::min(_1220, _1217) - (((_1452 * _1452) * _1447) * 0.25)) / Uniforms.uData[11].x, 0.0, 1.0); + _1469 = ((Uniforms.uData[11].w * _1461) * _1461) * fast::clamp(mix(_1148.y, _1147.y, _1173), 0.0, 1.0); } else { - _1458 = 0.0; + _1469 = 0.0; } - bool _1459 = _1194 <= 0.0; - bool _1463; - if (_1459) + bool _1470 = _1205 <= 0.0; + bool _1474; + if (_1470) { - _1463 = _1458 <= 0.00200000009499490261077880859375; + _1474 = _1469 <= 0.00200000009499490261077880859375; } else { - _1463 = false; + _1474 = false; } - if (_1463) + if (_1474) { discard_fragment(); } if (in.in_var_COLOR.x < 0.5) { - _2007 = float4(0.0, 0.0, 0.0, _1194 + ((1.0 - _1194) * _1458)); + _2027 = float4(0.0, 0.0, 0.0, _1205 + ((1.0 - _1205) * _1469)); break; } - if (_1459) + if (_1470) { discard_fragment(); } - float4 _1478 = mix(_1137, _1136, float4(_1162)); - bool _1484; - if (_1004) + float4 _1489 = mix(_1148, _1147, float4(_1173)); + bool _1495; + if (_1015) { - _1484 = _1082 > _1182; + _1495 = _1093 > _1193; } else { - _1484 = false; - } - float2 _1487 = select(mix(_1144, _1143, float2(_1178)), _1083, bool2(_1484)); - float2 _1488 = float2(_1162); - float2 _1492 = mix(_1142, _1141, _1488) * precise::min(length(_1487), 1.0); - float _1494 = precise::max(0.0, -(_1484 ? _1082 : _1182)); - float _1495 = -_1494; - float _1498 = exp(_1495 / Uniforms.uData[1].z); - float _1504 = _1478.y; - float _1538; - float _1539; - float2 _1540; - if (_145) - { - float _1522 = precise::max(precise::min(Uniforms.uData[5].y * mix(_174, _1140, _1162), Uniforms.uData[6].w), 1.0); - float _1525 = fast::clamp(1.0 - (_1494 / _1522), 0.0, 1.0); - float _1530 = (((Uniforms.uData[5].z * _1522) * _1504) * _1525) * _1525; - _1538 = _1525; - _1539 = _1530; - _1540 = fast::clamp(((in.in_var_TEXCOORD0 - (_1487 * _1530)) - Uniforms.uData[0].xy) * Uniforms.uData[0].zw, float2(0.0), float2(1.0)); + _1495 = false; + } + float2 _1498 = select(mix(_1155, _1154, float2(_1189)), _1094, bool2(_1495)); + float2 _1499 = float2(_1173); + float2 _1503 = mix(_1153, _1152, _1499) * precise::min(length(_1498), 1.0); + float _1505 = precise::max(0.0, -(_1495 ? _1093 : _1193)); + float _1506 = mix(_175, _1151, _1173); + float _1510 = fast::clamp(_1506 / (3.0 * Uniforms.uData[1].z), 9.9999997473787516355514526367188e-05, 1.0); + float _1511 = -_1505; + float _1514 = exp(_1511 / (Uniforms.uData[1].z * _1510)); + float _1524 = _1489.y; + float _1558; + float _1559; + float2 _1560; + if (_146) + { + float _1542 = precise::max(precise::min(Uniforms.uData[5].y * _1506, Uniforms.uData[6].w), 1.0); + float _1545 = fast::clamp(1.0 - (_1505 / _1542), 0.0, 1.0); + float _1550 = (((Uniforms.uData[5].z * _1542) * _1524) * _1545) * _1545; + _1558 = _1545; + _1559 = _1550; + _1560 = fast::clamp(((in.in_var_TEXCOORD0 - (_1498 * _1550)) - Uniforms.uData[0].xy) * Uniforms.uData[0].zw, float2(0.0), float2(1.0)); } else { - _1538 = 0.0; - _1539 = 0.0; - _1540 = fast::clamp(((in.in_var_TEXCOORD0 + (_1487 * ((Uniforms.uData[2].x * _1504) * _1498))) - Uniforms.uData[0].xy) * Uniforms.uData[0].zw, float2(0.0), float2(1.0)); + _1558 = 0.0; + _1559 = 0.0; + _1560 = fast::clamp(((in.in_var_TEXCOORD0 + (_1498 * (((Uniforms.uData[2].x * _1510) * _1524) * _1514))) - Uniforms.uData[0].xy) * Uniforms.uData[0].zw, float2(0.0), float2(1.0)); } - float4 _1544 = Frost.sample(FrostSampler, _1540, level(0.0)); - bool _1546 = Uniforms.uData[4].w > 0.5; - float4 _1554; - if (_1546) + float4 _1564 = Frost.sample(FrostSampler, _1560, level(0.0)); + bool _1566 = Uniforms.uData[4].w > 0.5; + float4 _1574; + if (_1566) { - _1554 = Sharp.sample(SharpSampler, _1540, level(0.0)); + _1574 = Sharp.sample(SharpSampler, _1560, level(0.0)); } else { - _1554 = _1544; + _1574 = _1564; } - bool _1559; - if (_145) + bool _1579; + if (_146) { - _1559 = Uniforms.uData[6].y > 0.0; + _1579 = Uniforms.uData[6].y > 0.0; } else { - _1559 = false; + _1579 = false; } - bool _1563; - if (_1559) + bool _1583; + if (_1579) { - _1563 = _1539 > 0.5; + _1583 = _1559 > 0.5; } else { - _1563 = false; - } - float4 _1624; - float4 _1625; - if (_1563) - { - float2 _1571 = (_1487 * ((_1539 * 0.039999999105930328369140625) * Uniforms.uData[6].y)) * Uniforms.uData[0].zw; - float2 _1573 = fast::clamp(_1540 + _1571, float2(0.0), float2(1.0)); - float2 _1575 = fast::clamp(_1540 - _1571, float2(0.0), float2(1.0)); - float4 _1579 = Frost.sample(FrostSampler, _1573, level(0.0)); - float _1584 = _1544.w; - float _1585 = (_1579.x / precise::max(_1579.w, 9.9999997473787516355514526367188e-05)) * _1584; - float4 _1586 = _1544; - _1586.x = _1585; - float4 _1590 = Frost.sample(FrostSampler, _1575, level(0.0)); - float _1595 = (_1590.z / precise::max(_1590.w, 9.9999997473787516355514526367188e-05)) * _1584; - _1586.z = _1595; - float4 _1623; - if (_1546) + _1583 = false; + } + float4 _1644; + float4 _1645; + if (_1583) + { + float2 _1591 = (_1498 * ((_1559 * 0.039999999105930328369140625) * Uniforms.uData[6].y)) * Uniforms.uData[0].zw; + float2 _1593 = fast::clamp(_1560 + _1591, float2(0.0), float2(1.0)); + float2 _1595 = fast::clamp(_1560 - _1591, float2(0.0), float2(1.0)); + float4 _1599 = Frost.sample(FrostSampler, _1593, level(0.0)); + float _1604 = _1564.w; + float _1605 = (_1599.x / precise::max(_1599.w, 9.9999997473787516355514526367188e-05)) * _1604; + float4 _1606 = _1564; + _1606.x = _1605; + float4 _1610 = Frost.sample(FrostSampler, _1595, level(0.0)); + float _1615 = (_1610.z / precise::max(_1610.w, 9.9999997473787516355514526367188e-05)) * _1604; + _1606.z = _1615; + float4 _1643; + if (_1566) { - float4 _1605 = Sharp.sample(SharpSampler, _1573, level(0.0)); - float4 _1612 = _1554; - _1612.x = (_1605.x / precise::max(_1605.w, 9.9999997473787516355514526367188e-05)) * _1554.w; - float4 _1616 = Sharp.sample(SharpSampler, _1575, level(0.0)); - _1612.z = (_1616.z / precise::max(_1616.w, 9.9999997473787516355514526367188e-05)) * _1554.w; - _1623 = _1612; + float4 _1625 = Sharp.sample(SharpSampler, _1593, level(0.0)); + float4 _1632 = _1574; + _1632.x = (_1625.x / precise::max(_1625.w, 9.9999997473787516355514526367188e-05)) * _1574.w; + float4 _1636 = Sharp.sample(SharpSampler, _1595, level(0.0)); + _1632.z = (_1636.z / precise::max(_1636.w, 9.9999997473787516355514526367188e-05)) * _1574.w; + _1643 = _1632; } else { - float4 _1600 = _1554; - _1600.x = _1585; - _1600.z = _1595; - _1623 = _1600; + float4 _1620 = _1574; + _1620.x = _1605; + _1620.z = _1615; + _1643 = _1620; } - _1624 = _1623; - _1625 = _1586; + _1644 = _1643; + _1645 = _1606; } else { - _1624 = _1554; - _1625 = _1544; + _1644 = _1574; + _1645 = _1564; } - bool _1627 = Uniforms.uData[4].x > 1.5; - float _1641; - if (_1627) + bool _1647 = Uniforms.uData[4].x > 1.5; + float _1661; + if (_1647) { - _1641 = Uniforms.uData[3].w; + _1661 = Uniforms.uData[3].w; } else { - float _1639; + float _1659; if (fmod(Uniforms.uData[6].x, 2.0) > 0.5) { - _1639 = 1.0; + _1659 = 1.0; } else { - _1639 = _1625.w; + _1659 = _1645.w; } - _1641 = _1639; + _1661 = _1659; } - float4 _1650 = float4(_1625.xyz / float3(precise::max(_1625.w, 9.9999997473787516355514526367188e-05)), 1.0); - float4 _1659 = float4(_1624.xyz / float3(precise::max(_1624.w, 9.9999997473787516355514526367188e-05)), 1.0); - float _1666; - if (_1627) + float4 _1670 = float4(_1645.xyz / float3(precise::max(_1645.w, 9.9999997473787516355514526367188e-05)), 1.0); + float4 _1679 = float4(_1644.xyz / float3(precise::max(_1644.w, 9.9999997473787516355514526367188e-05)), 1.0); + float _1686; + if (_1647) { - _1666 = 1.0; + _1686 = 1.0; } else { - _1666 = (Uniforms.uData[4].z > 0.5) ? Uniforms.uData[4].x : 0.0; + _1686 = (Uniforms.uData[4].z > 0.5) ? Uniforms.uData[4].x : 0.0; } - bool _1670; - if (_145) + bool _1690; + if (_146) { - _1670 = !_1627; + _1690 = !_1647; } else { - _1670 = false; + _1690 = false; } - float _1679; - if (_1670) + float _1699; + if (_1690) { - _1679 = _1666 * (1.0 - ((_1538 * _1538) * (1.0 - smoothstep(0.800000011920928955078125, 1.0, _1666)))); + _1699 = _1686 * (1.0 - ((_1558 * _1558) * (1.0 - smoothstep(0.800000011920928955078125, 1.0, _1686)))); } else { - _1679 = _1666; + _1699 = _1686; } - float _1682 = 1.0 - _1679; - float _1690; - if (_145) + float _1702 = 1.0 - _1699; + float _1710; + if (_146) { - _1690 = _1538; + _1710 = _1558; } else { - _1690 = _1498 * _1498; + _1710 = _1514 * _1514; } - float _1693 = fast::clamp(((Uniforms.uData[2].y * _1504) * _1690) * _1682, 0.0, 1.0); - float4 _1699 = ((_1659 * _1693) + ((mix(_1659, _1650, float4(fast::clamp(_1478.x, 0.0, 1.0))) * _1682) * (1.0 - _1693))) + (Uniforms.uData[3] * _1679); - float4 _1742; - if (_1627) + float _1713 = fast::clamp(((Uniforms.uData[2].y * _1524) * _1710) * _1702, 0.0, 1.0); + float4 _1719 = ((_1679 * _1713) + ((mix(_1679, _1670, float4(fast::clamp(_1489.x, 0.0, 1.0))) * _1702) * (1.0 - _1713))) + (Uniforms.uData[3] * _1699); + float4 _1762; + if (_1647) { - _1742 = float4(Uniforms.uData[3].xyz / float3(precise::max(Uniforms.uData[3].w, 9.9999997473787516355514526367188e-05)), 1.0); + _1762 = float4(Uniforms.uData[3].xyz / float3(precise::max(Uniforms.uData[3].w, 9.9999997473787516355514526367188e-05)), 1.0); } else { - float4 _1706 = _1699 + (_1650 * (1.0 - _1699.w)); - float4 _1732; + float4 _1726 = _1719 + (_1670 * (1.0 - _1719.w)); + float4 _1752; if (Uniforms.uData[7].w < 1.0) { - float3 _1711 = _1706.xyz; - float _1712 = dot(_1711, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)); - float _1713 = 0.60000002384185791015625 * Uniforms.uData[7].w; - float _1715 = precise::max(Uniforms.uData[7].w - _1713, 9.9999997473787516355514526367188e-05); - float _1727; - if (_1712 <= _1713) + float3 _1731 = _1726.xyz; + float _1732 = dot(_1731, float3(0.2125999927520751953125, 0.715200006961822509765625, 0.072200000286102294921875)); + float _1733 = 0.60000002384185791015625 * Uniforms.uData[7].w; + float _1735 = precise::max(Uniforms.uData[7].w - _1733, 9.9999997473787516355514526367188e-05); + float _1747; + if (_1732 <= _1733) { - _1727 = _1712; + _1747 = _1732; } else { - _1727 = _1713 + (_1715 * (1.0 - exp((-(_1712 - _1713)) / _1715))); + _1747 = _1733 + (_1735 * (1.0 - exp((-(_1732 - _1733)) / _1735))); } - float3 _1730 = _1711 * (_1727 / precise::max(_1712, 9.9999997473787516355514526367188e-05)); - _1732 = float4(_1730.x, _1730.y, _1730.z, _1706.w); + float3 _1750 = _1731 * (_1747 / precise::max(_1732, 9.9999997473787516355514526367188e-05)); + _1752 = float4(_1750.x, _1750.y, _1750.z, _1726.w); } else { - _1732 = _1706; + _1752 = _1726; } - _1742 = _1732; + _1762 = _1752; } - float _1745 = dot(_1487, Uniforms.uData[9].xy); - float _1746 = precise::max(_1745, 0.0); - float _1748 = precise::max(-_1745, 0.0); - float _1749 = abs(_1745); - bool _1753; - if (_145) + float _1765 = dot(_1498, Uniforms.uData[9].xy); + float _1766 = precise::max(_1765, 0.0); + float _1768 = precise::max(-_1765, 0.0); + float _1769 = abs(_1765); + bool _1773; + if (_146) { - _1753 = Uniforms.uData[6].z > 0.0; + _1773 = Uniforms.uData[6].z > 0.0; } else { - _1753 = false; + _1773 = false; } - bool _1755 = Uniforms.uData[10].x > 0.0; - float _1783; - if (_1755) + bool _1775 = Uniforms.uData[10].x > 0.0; + float _1803; + if (_1775) { - _1783 = 0.0; + _1803 = 0.0; } else { - float _1782; - if (_1753) + float _1802; + if (_1773) { - _1782 = (Uniforms.uData[6].z * (1.0 - smoothstep(0.20000000298023223876953125, 0.699999988079071044921875, _1749))) * exp((-precise::max(0.0, -_1186)) / (Uniforms.uData[2].z * 2.5)); + _1802 = (Uniforms.uData[6].z * (1.0 - smoothstep(0.20000000298023223876953125, 0.699999988079071044921875, _1769))) * exp((-precise::max(0.0, -_1197)) / (Uniforms.uData[2].z * 2.5)); } else { - float _1767; - if (_1189) + float _1787; + if (_1200) { - _1767 = 0.699999988079071044921875; + _1787 = 0.699999988079071044921875; } else { - _1767 = Uniforms.uData[2].z * 0.625; + _1787 = Uniforms.uData[2].z * 0.625; } - _1782 = Uniforms.uData[8].x * (1.0 - smoothstep(0.0, _1767, -_1186)); + _1802 = Uniforms.uData[8].x * (1.0 - smoothstep(0.0, _1787, -_1197)); } - _1783 = _1782; + _1803 = _1802; } - float _1793; - if (_145) + float _1813; + if (_146) { - _1793 = precise::max((Uniforms.uData[5].w * _1538) * _1538, _1783) * precise::min(_1504, 1.0); + _1813 = precise::max((Uniforms.uData[5].w * _1558) * _1558, _1803) * precise::min(_1524, 1.0); } else { - _1793 = 0.0; + _1813 = 0.0; } - float _1796 = _1641 * (1.0 - _1793); - float4 _1802 = float4(_1742.xyz * _1796, _1796 + _1793); - float _1824; - if (_145) + float _1816 = _1661 * (1.0 - _1813); + float4 _1822 = float4(_1762.xyz * _1816, _1816 + _1813); + float _1844; + if (_146) { - float _1823; - if (_1753) + float _1843; + if (_1773) { - _1823 = Uniforms.uData[6].z * precise::max(smoothstep(0.75, 1.0, _1749), precise::max(_1492.x, _1492.y)); + _1843 = Uniforms.uData[6].z * precise::max(smoothstep(0.75, 1.0, _1769), precise::max(_1503.x, _1503.y)); } else { - _1823 = 0.25; + _1843 = 0.25; } - _1824 = _1823; + _1844 = _1843; } else { - _1824 = (0.449999988079071044921875 * ((_1746 * sqrt(_1746)) + ((0.75 * _1748) * sqrt(_1748)))) + 0.0599999986588954925537109375; + _1844 = (0.449999988079071044921875 * ((_1766 * sqrt(_1766)) + ((0.75 * _1768) * sqrt(_1768)))) + 0.0599999986588954925537109375; } - float _1860; - if (_1753) + float _1880; + if (_1773) { - _1860 = exp((-precise::max(0.0, -_1186)) / _1188); + _1880 = exp((-precise::max(0.0, -_1197)) / _1199); } else { - float _1854; - if (_145) + float _1874; + if (_146) { - float _1853; - if (_1189) + float _1873; + if (_1200) { - float _1848 = -_1186; - _1853 = smoothstep(0.0, 0.89999997615814208984375, _1848) * (1.0 - smoothstep(1.5, 2.400000095367431640625, _1848)); + float _1868 = -_1197; + _1873 = smoothstep(0.0, 0.89999997615814208984375, _1868) * (1.0 - smoothstep(1.5, 2.400000095367431640625, _1868)); } else { - float _1841 = -_1186; - _1853 = smoothstep(Uniforms.uData[2].z * 0.3125, Uniforms.uData[2].z * 0.625, _1841) * (1.0 - smoothstep(Uniforms.uData[2].z * 1.5, Uniforms.uData[2].z * 2.0, _1841)); + float _1861 = -_1197; + _1873 = smoothstep(Uniforms.uData[2].z * 0.3125, Uniforms.uData[2].z * 0.625, _1861) * (1.0 - smoothstep(Uniforms.uData[2].z * 1.5, Uniforms.uData[2].z * 2.0, _1861)); } - _1854 = _1853; + _1874 = _1873; } else { - _1854 = exp((-precise::max(0.0, -_1186)) / Uniforms.uData[2].z); + _1874 = exp((-precise::max(0.0, -_1197)) / Uniforms.uData[2].z); } - _1860 = _1854; + _1880 = _1874; } - float _1872; - if (_1755) + float _1892; + if (_1775) { - _1872 = 0.0; + _1892 = 0.0; } else { - float _1870; - if (_145) + float _1890; + if (_146) { - _1870 = 0.0; + _1890 = 0.0; } else { - _1870 = (0.039999999105930328369140625 * exp(_1495 / Uniforms.uData[1].w)) * _1746; + _1890 = (0.039999999105930328369140625 * exp(_1511 / (Uniforms.uData[1].w * fast::clamp(_1506 / (3.0 * Uniforms.uData[1].w), 9.9999997473787516355514526367188e-05, 1.0)))) * _1766; } - _1872 = (_1860 * _1824) + _1870; + _1892 = (_1880 * _1844) + _1890; } - float2 _1873 = mix(_1139, _1138, _1488); - float _1877 = _1873.y; - float _1883 = fast::clamp((in.in_var_TEXCOORD0.y - (_1873.x - _1877)) / precise::max(2.0 * _1877, 9.9999997473787516355514526367188e-05), 0.0, 1.0); - float _1901; + float2 _1893 = mix(_1150, _1149, _1499); + float _1897 = _1893.y; + float _1903 = fast::clamp((in.in_var_TEXCOORD0.y - (_1893.x - _1897)) / precise::max(2.0 * _1897, 9.9999997473787516355514526367188e-05), 0.0, 1.0); + float _1921; if (Uniforms.uData[4].z > 0.5) { - _1901 = Uniforms.uData[4].y + ((Uniforms.uData[7].x + ((Uniforms.uData[7].y - Uniforms.uData[7].x) * _1883)) + (Uniforms.uData[7].z * (1.0 - smoothstep(0.0, 0.37999999523162841796875, _1883)))); + _1921 = Uniforms.uData[4].y + ((Uniforms.uData[7].x + ((Uniforms.uData[7].y - Uniforms.uData[7].x) * _1903)) + (Uniforms.uData[7].z * (1.0 - smoothstep(0.0, 0.37999999523162841796875, _1903)))); } else { - _1901 = 0.0; + _1921 = 0.0; } - float3 _1911 = _1802.xyz + float3(fast::clamp((_1901 + _1478.z) + ((_1504 * Uniforms.uData[2].w) * _1872), 0.0, 1.0)); - float4 _1983; - if (_1755) + float3 _1931 = _1822.xyz + float3(fast::clamp((_1921 + _1489.z) + ((_1524 * Uniforms.uData[2].w) * _1892), 0.0, 1.0)); + float4 _2003; + if (_1775) { - float2 _1921; - if (dot(_1487, _1487) > 9.9999999392252902907785028219223e-09) + float2 _1941; + if (dot(_1498, _1498) > 9.9999999392252902907785028219223e-09) { - _1921 = fast::normalize(_1487); + _1941 = fast::normalize(_1498); } else { - _1921 = float2(0.0); + _1941 = float2(0.0); } - float _1922 = dot(_1921, Uniforms.uData[9].xy); - float _1924 = mix(8.0, 1.0, Uniforms.uData[9].z); - float _1932 = powr(precise::max(_1922, 0.0), _1924) + (Uniforms.uData[9].w * powr(precise::max(-_1922, 0.0), _1924)); - float _1933 = precise::min(_1504, 1.0); - float _1940 = -_1186; - float _1942 = smoothstep(-0.5, 0.5, _1940); - float _1944 = -precise::max(0.0, _1940); - float3 _1981 = (_1911.xyz * (1.0 - (((Uniforms.uData[10].z * (1.0 - abs(_1922))) * (_1942 * exp(_1944 / precise::max(Uniforms.uData[2].z * 2.5, 0.001000000047497451305389404296875)))) * _1933))) + float3(_1933 * (((Uniforms.uData[10].x * precise::max(_1932, precise::max(_1492.x, Uniforms.uData[9].w * _1492.y))) * (_1942 * exp(_1944 / precise::max(Uniforms.uData[8].y, 0.001000000047497451305389404296875)))) + ((Uniforms.uData[10].y * _1932) * (smoothstep(Uniforms.uData[8].y - 0.5, Uniforms.uData[8].y + 0.5, _1940) * exp((-precise::max(0.0, _1940 - Uniforms.uData[8].y)) / precise::max(Uniforms.uData[8].z, 0.001000000047497451305389404296875)))))); - _1983 = float4(_1981.x, _1981.y, _1981.z, _1802.w); + float _1942 = dot(_1941, Uniforms.uData[9].xy); + float _1944 = mix(8.0, 1.0, Uniforms.uData[9].z); + float _1952 = powr(precise::max(_1942, 0.0), _1944) + (Uniforms.uData[9].w * powr(precise::max(-_1942, 0.0), _1944)); + float _1953 = precise::min(_1524, 1.0); + float _1960 = -_1197; + float _1962 = smoothstep(-0.5, 0.5, _1960); + float _1964 = -precise::max(0.0, _1960); + float3 _2001 = (_1931.xyz * (1.0 - (((Uniforms.uData[10].z * (1.0 - abs(_1942))) * (_1962 * exp(_1964 / precise::max(Uniforms.uData[2].z * 2.5, 0.001000000047497451305389404296875)))) * _1953))) + float3(_1953 * (((Uniforms.uData[10].x * precise::max(_1952, precise::max(_1503.x, Uniforms.uData[9].w * _1503.y))) * (_1962 * exp(_1964 / precise::max(Uniforms.uData[8].y, 0.001000000047497451305389404296875)))) + ((Uniforms.uData[10].y * _1952) * (smoothstep(Uniforms.uData[8].y - 0.5, Uniforms.uData[8].y + 0.5, _1960) * exp((-precise::max(0.0, _1960 - Uniforms.uData[8].y)) / precise::max(Uniforms.uData[8].z, 0.001000000047497451305389404296875)))))); + _2003 = float4(_2001.x, _2001.y, _2001.z, _1822.w); } else { - _1983 = float4(_1911.x, _1911.y, _1911.z, _1802.w); + _2003 = float4(_1931.x, _1931.y, _1931.z, _1822.w); } - float4 _1984 = fast::clamp(_1983, float4(0.0), float4(1.0)); - float _1991 = precise::max(_1984.w, precise::max(_1984.x, precise::max(_1984.y, _1984.z))); - float4 _1992 = _1984; - _1992.w = _1991; - float3 _2003 = _1992.xyz + float3(((fract(52.98291778564453125 * fract(dot(in.in_var_TEXCOORD0, float2(0.067110560834407806396484375, 0.005837149918079376220703125)))) - 0.5) * Uniforms.uData[5].x) * _1991); - _2007 = fast::clamp(float4(_2003.x, _2003.y, _2003.z, _1992.w), float4(0.0), float4(1.0)) * _1194; + float4 _2004 = fast::clamp(_2003, float4(0.0), float4(1.0)); + float _2011 = precise::max(_2004.w, precise::max(_2004.x, precise::max(_2004.y, _2004.z))); + float4 _2012 = _2004; + _2012.w = _2011; + float3 _2023 = _2012.xyz + float3(((fract(52.98291778564453125 * fract(dot(in.in_var_TEXCOORD0, float2(0.067110560834407806396484375, 0.005837149918079376220703125)))) - 0.5) * Uniforms.uData[5].x) * _2011); + _2027 = fast::clamp(float4(_2023.x, _2023.y, _2023.z, _2012.w), float4(0.0), float4(1.0)) * _1205; break; } while(false); - out.out_var_SV_Target0 = _2007; + out.out_var_SV_Target0 = _2027; return out; } diff --git a/backend/src/glass/shaders/compiled/spv/liquid_glass.fragment.spv b/backend/src/glass/shaders/compiled/spv/liquid_glass.fragment.spv index fd2f7fd8ecf36110558a05869570a48694d0f0c4..3224373d26c1e09f6fa14a8fb2c6119cdc9b8041 100644 GIT binary patch literal 45976 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 aiQWG$!T-iVzWZ%Oc8U8@+uw|^H1dDe8FTyq literal 45532 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 za Date: Thu, 12 Nov 2026 09:49:59 -0600 Subject: [PATCH 3/3] glass: the rim thins per shape, not per cluster Signed-off-by: fizzy foxnne-desktop-claude-1 --- backend/src/glass/LiquidField.zig | 35 ++++++++++++++----------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/backend/src/glass/LiquidField.zig b/backend/src/glass/LiquidField.zig index 2c7beefee..c1912f611 100644 --- a/backend/src/glass/LiquidField.zig +++ b/backend/src/glass/LiquidField.zig @@ -870,15 +870,7 @@ pub fn sampleWith(self: *const LiquidField, p: dvui.Point.Physical, l: glass_loo } var o: [2]f32 = g; const f = if (is_panel) panelDistance(self.panel.?, .{ p.x, p.y }, soft_k, &o) else if (sh.round) d else softBox(.{ p.x, p.y }, c, half, soft_k, &o); - if (f < f1) { - f2 = f1; - o2 = o1; - f1 = f; - o1 = o; - } else if (f < f2) { - f2 = f; - o2 = o; - } + keepNearest(f, o, &f1, &o1, &f2, &o2); } // The place (`edge`): its outside one more shape, its outline cutting the coverage. var in_place: f32 = -big; @@ -912,16 +904,7 @@ pub fn sampleWith(self: *const LiquidField, p: dvui.Point.Physical, l: glass_loo h2 = hs; al2 = .{ 0, 0 }; } - const o: [2]f32 = .{ -place_out[0], -place_out[1] }; - if (d < f1) { - f2 = f1; - o2 = o1; - f1 = d; - o1 = o; - } else if (d < f2) { - f2 = d; - o2 = o; - } + keepNearest(d, .{ -place_out[0], -place_out[1] }, &f1, &o1, &f2, &o2); } const k = @max(self.merge_px, 0.0001); var wm: f32 = 0; @@ -975,6 +958,20 @@ pub fn sampleWith(self: *const LiquidField, p: dvui.Point.Physical, l: glass_loo }; } +/// Keep the two nearest soft distances and their ways out, `f1` the nearest: the program's +/// `f1`/`f2` and `o1`/`o2`. +fn keepNearest(f: f32, o: [2]f32, f1: *f32, o1: *[2]f32, f2: *f32, o2: *[2]f32) void { + if (f < f1.*) { + f2.* = f1.*; + o2.* = o1.*; + f1.* = f; + o1.* = o; + } else if (f < f2.*) { + f2.* = f; + o2.* = o; + } +} + /// The program's `sh` at `p`, where the glass covers `coverage` and its lens is `lens`: one /// falloff of the joined outline, moved by the offset. fn shadowAt(self: *const LiquidField, p: dvui.Point.Physical, coverage: f32, lens: f32) f32 {