modern-canvas 0.4.20 → 0.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1673 -1372
- package/dist/index.d.cts +150 -20
- package/dist/index.d.mts +150 -20
- package/dist/index.d.ts +150 -20
- package/dist/index.js +300 -213
- package/dist/index.mjs +1672 -1373
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2155,13 +2155,13 @@ class Vector3 extends Vector {
|
|
|
2155
2155
|
}
|
|
2156
2156
|
}
|
|
2157
2157
|
|
|
2158
|
-
var __defProp$
|
|
2159
|
-
var __decorateClass$
|
|
2158
|
+
var __defProp$J = Object.defineProperty;
|
|
2159
|
+
var __decorateClass$R = (decorators, target, key, kind) => {
|
|
2160
2160
|
var result = void 0 ;
|
|
2161
2161
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2162
2162
|
if (decorator = decorators[i])
|
|
2163
2163
|
result = (decorator(target, key, result) ) || result;
|
|
2164
|
-
if (result) __defProp$
|
|
2164
|
+
if (result) __defProp$J(target, key, result);
|
|
2165
2165
|
return result;
|
|
2166
2166
|
};
|
|
2167
2167
|
class MainLoop extends CoreObject {
|
|
@@ -2204,10 +2204,10 @@ class MainLoop extends CoreObject {
|
|
|
2204
2204
|
this.stop();
|
|
2205
2205
|
}
|
|
2206
2206
|
}
|
|
2207
|
-
__decorateClass$
|
|
2207
|
+
__decorateClass$R([
|
|
2208
2208
|
property({ default: 24 })
|
|
2209
2209
|
], MainLoop.prototype, "fps");
|
|
2210
|
-
__decorateClass$
|
|
2210
|
+
__decorateClass$R([
|
|
2211
2211
|
property({ default: 1 })
|
|
2212
2212
|
], MainLoop.prototype, "speed");
|
|
2213
2213
|
|
|
@@ -4509,13 +4509,13 @@ class Geometry extends Resource {
|
|
|
4509
4509
|
}
|
|
4510
4510
|
}
|
|
4511
4511
|
|
|
4512
|
-
var __defProp$
|
|
4513
|
-
var __decorateClass$
|
|
4512
|
+
var __defProp$I = Object.defineProperty;
|
|
4513
|
+
var __decorateClass$Q = (decorators, target, key, kind) => {
|
|
4514
4514
|
var result = void 0 ;
|
|
4515
4515
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4516
4516
|
if (decorator = decorators[i])
|
|
4517
4517
|
result = (decorator(target, key, result) ) || result;
|
|
4518
|
-
if (result) __defProp$
|
|
4518
|
+
if (result) __defProp$I(target, key, result);
|
|
4519
4519
|
return result;
|
|
4520
4520
|
};
|
|
4521
4521
|
class IndexBuffer extends Resource {
|
|
@@ -4559,20 +4559,20 @@ class IndexBuffer extends Resource {
|
|
|
4559
4559
|
return result;
|
|
4560
4560
|
}
|
|
4561
4561
|
}
|
|
4562
|
-
__decorateClass$
|
|
4562
|
+
__decorateClass$Q([
|
|
4563
4563
|
protectedProperty({ default: null })
|
|
4564
4564
|
], IndexBuffer.prototype, "data");
|
|
4565
|
-
__decorateClass$
|
|
4565
|
+
__decorateClass$Q([
|
|
4566
4566
|
protectedProperty({ default: false })
|
|
4567
4567
|
], IndexBuffer.prototype, "dynamic");
|
|
4568
4568
|
|
|
4569
|
-
var __defProp$
|
|
4570
|
-
var __decorateClass$
|
|
4569
|
+
var __defProp$H = Object.defineProperty;
|
|
4570
|
+
var __decorateClass$P = (decorators, target, key, kind) => {
|
|
4571
4571
|
var result = void 0 ;
|
|
4572
4572
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4573
4573
|
if (decorator = decorators[i])
|
|
4574
4574
|
result = (decorator(target, key, result) ) || result;
|
|
4575
|
-
if (result) __defProp$
|
|
4575
|
+
if (result) __defProp$H(target, key, result);
|
|
4576
4576
|
return result;
|
|
4577
4577
|
};
|
|
4578
4578
|
class VertexBuffer extends Resource {
|
|
@@ -4616,20 +4616,20 @@ class VertexBuffer extends Resource {
|
|
|
4616
4616
|
return result;
|
|
4617
4617
|
}
|
|
4618
4618
|
}
|
|
4619
|
-
__decorateClass$
|
|
4619
|
+
__decorateClass$P([
|
|
4620
4620
|
protectedProperty({ default: null })
|
|
4621
4621
|
], VertexBuffer.prototype, "data");
|
|
4622
|
-
__decorateClass$
|
|
4622
|
+
__decorateClass$P([
|
|
4623
4623
|
protectedProperty({ default: false })
|
|
4624
4624
|
], VertexBuffer.prototype, "dynamic");
|
|
4625
4625
|
|
|
4626
|
-
var __defProp$
|
|
4627
|
-
var __decorateClass$
|
|
4626
|
+
var __defProp$G = Object.defineProperty;
|
|
4627
|
+
var __decorateClass$O = (decorators, target, key, kind) => {
|
|
4628
4628
|
var result = void 0 ;
|
|
4629
4629
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4630
4630
|
if (decorator = decorators[i])
|
|
4631
4631
|
result = (decorator(target, key, result) ) || result;
|
|
4632
|
-
if (result) __defProp$
|
|
4632
|
+
if (result) __defProp$G(target, key, result);
|
|
4633
4633
|
return result;
|
|
4634
4634
|
};
|
|
4635
4635
|
class VertexAttribute extends Resource {
|
|
@@ -4666,25 +4666,25 @@ class VertexAttribute extends Resource {
|
|
|
4666
4666
|
return result;
|
|
4667
4667
|
}
|
|
4668
4668
|
}
|
|
4669
|
-
__decorateClass$
|
|
4669
|
+
__decorateClass$O([
|
|
4670
4670
|
protectedProperty()
|
|
4671
4671
|
], VertexAttribute.prototype, "buffer");
|
|
4672
|
-
__decorateClass$
|
|
4672
|
+
__decorateClass$O([
|
|
4673
4673
|
protectedProperty({ default: 0 })
|
|
4674
4674
|
], VertexAttribute.prototype, "size");
|
|
4675
|
-
__decorateClass$
|
|
4675
|
+
__decorateClass$O([
|
|
4676
4676
|
protectedProperty({ default: false })
|
|
4677
4677
|
], VertexAttribute.prototype, "normalized");
|
|
4678
|
-
__decorateClass$
|
|
4678
|
+
__decorateClass$O([
|
|
4679
4679
|
protectedProperty({ default: "float" })
|
|
4680
4680
|
], VertexAttribute.prototype, "type");
|
|
4681
|
-
__decorateClass$
|
|
4681
|
+
__decorateClass$O([
|
|
4682
4682
|
protectedProperty()
|
|
4683
4683
|
], VertexAttribute.prototype, "stride");
|
|
4684
|
-
__decorateClass$
|
|
4684
|
+
__decorateClass$O([
|
|
4685
4685
|
protectedProperty()
|
|
4686
4686
|
], VertexAttribute.prototype, "offset");
|
|
4687
|
-
__decorateClass$
|
|
4687
|
+
__decorateClass$O([
|
|
4688
4688
|
protectedProperty()
|
|
4689
4689
|
], VertexAttribute.prototype, "divisor");
|
|
4690
4690
|
|
|
@@ -4928,13 +4928,13 @@ class UvGeometry extends Geometry {
|
|
|
4928
4928
|
}
|
|
4929
4929
|
}
|
|
4930
4930
|
|
|
4931
|
-
var __defProp$
|
|
4932
|
-
var __decorateClass$
|
|
4931
|
+
var __defProp$F = Object.defineProperty;
|
|
4932
|
+
var __decorateClass$N = (decorators, target, key, kind) => {
|
|
4933
4933
|
var result = void 0 ;
|
|
4934
4934
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4935
4935
|
if (decorator = decorators[i])
|
|
4936
4936
|
result = (decorator(target, key, result) ) || result;
|
|
4937
|
-
if (result) __defProp$
|
|
4937
|
+
if (result) __defProp$F(target, key, result);
|
|
4938
4938
|
return result;
|
|
4939
4939
|
};
|
|
4940
4940
|
class Texture2D extends Resource {
|
|
@@ -5060,22 +5060,22 @@ class Texture2D extends Resource {
|
|
|
5060
5060
|
}
|
|
5061
5061
|
}
|
|
5062
5062
|
}
|
|
5063
|
-
__decorateClass$
|
|
5063
|
+
__decorateClass$N([
|
|
5064
5064
|
protectedProperty()
|
|
5065
5065
|
], Texture2D.prototype, "source");
|
|
5066
|
-
__decorateClass$
|
|
5066
|
+
__decorateClass$N([
|
|
5067
5067
|
property({ default: 0 })
|
|
5068
5068
|
], Texture2D.prototype, "width");
|
|
5069
|
-
__decorateClass$
|
|
5069
|
+
__decorateClass$N([
|
|
5070
5070
|
property({ default: 0 })
|
|
5071
5071
|
], Texture2D.prototype, "height");
|
|
5072
|
-
__decorateClass$
|
|
5072
|
+
__decorateClass$N([
|
|
5073
5073
|
property({ default: "linear" })
|
|
5074
5074
|
], Texture2D.prototype, "filterMode");
|
|
5075
|
-
__decorateClass$
|
|
5075
|
+
__decorateClass$N([
|
|
5076
5076
|
property({ default: "clamp_to_edge" })
|
|
5077
5077
|
], Texture2D.prototype, "wrapMode");
|
|
5078
|
-
__decorateClass$
|
|
5078
|
+
__decorateClass$N([
|
|
5079
5079
|
property({ default: 1 })
|
|
5080
5080
|
], Texture2D.prototype, "pixelRatio");
|
|
5081
5081
|
|
|
@@ -5105,13 +5105,13 @@ class AnimatedTexture extends Resource {
|
|
|
5105
5105
|
}
|
|
5106
5106
|
}
|
|
5107
5107
|
|
|
5108
|
-
var __defProp$
|
|
5109
|
-
var __decorateClass$
|
|
5108
|
+
var __defProp$E = Object.defineProperty;
|
|
5109
|
+
var __decorateClass$M = (decorators, target, key, kind) => {
|
|
5110
5110
|
var result = void 0 ;
|
|
5111
5111
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
5112
5112
|
if (decorator = decorators[i])
|
|
5113
5113
|
result = (decorator(target, key, result) ) || result;
|
|
5114
|
-
if (result) __defProp$
|
|
5114
|
+
if (result) __defProp$E(target, key, result);
|
|
5115
5115
|
return result;
|
|
5116
5116
|
};
|
|
5117
5117
|
class CanvasTexture extends Texture2D {
|
|
@@ -5130,7 +5130,7 @@ class CanvasTexture extends Texture2D {
|
|
|
5130
5130
|
super._updateProperty(key, value, oldValue, declaration);
|
|
5131
5131
|
}
|
|
5132
5132
|
}
|
|
5133
|
-
__decorateClass$
|
|
5133
|
+
__decorateClass$M([
|
|
5134
5134
|
property({ default: 2 })
|
|
5135
5135
|
], CanvasTexture.prototype, "pixelRatio");
|
|
5136
5136
|
|
|
@@ -5292,13 +5292,13 @@ class PixelsTexture extends Texture2D {
|
|
|
5292
5292
|
}
|
|
5293
5293
|
}
|
|
5294
5294
|
|
|
5295
|
-
var __defProp$
|
|
5296
|
-
var __decorateClass$
|
|
5295
|
+
var __defProp$D = Object.defineProperty;
|
|
5296
|
+
var __decorateClass$L = (decorators, target, key, kind) => {
|
|
5297
5297
|
var result = void 0 ;
|
|
5298
5298
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
5299
5299
|
if (decorator = decorators[i])
|
|
5300
5300
|
result = (decorator(target, key, result) ) || result;
|
|
5301
|
-
if (result) __defProp$
|
|
5301
|
+
if (result) __defProp$D(target, key, result);
|
|
5302
5302
|
return result;
|
|
5303
5303
|
};
|
|
5304
5304
|
function resolveOptions(options) {
|
|
@@ -5542,10 +5542,10 @@ const _VideoTexture = class _VideoTexture extends Texture2D {
|
|
|
5542
5542
|
}
|
|
5543
5543
|
}
|
|
5544
5544
|
};
|
|
5545
|
-
__decorateClass$
|
|
5545
|
+
__decorateClass$L([
|
|
5546
5546
|
protectedProperty({ default: true })
|
|
5547
5547
|
], _VideoTexture.prototype, "autoUpdate");
|
|
5548
|
-
__decorateClass$
|
|
5548
|
+
__decorateClass$L([
|
|
5549
5549
|
protectedProperty({ default: 0 })
|
|
5550
5550
|
], _VideoTexture.prototype, "fps");
|
|
5551
5551
|
let VideoTexture = _VideoTexture;
|
|
@@ -5554,14 +5554,14 @@ class ViewportTexture extends PixelsTexture {
|
|
|
5554
5554
|
//
|
|
5555
5555
|
}
|
|
5556
5556
|
|
|
5557
|
-
var __defProp$
|
|
5558
|
-
var __getOwnPropDesc$
|
|
5559
|
-
var __decorateClass$
|
|
5560
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
5557
|
+
var __defProp$C = Object.defineProperty;
|
|
5558
|
+
var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
|
|
5559
|
+
var __decorateClass$K = (decorators, target, key, kind) => {
|
|
5560
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
|
|
5561
5561
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
5562
5562
|
if (decorator = decorators[i])
|
|
5563
5563
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5564
|
-
if (kind && result) __defProp$
|
|
5564
|
+
if (kind && result) __defProp$C(target, key, result);
|
|
5565
5565
|
return result;
|
|
5566
5566
|
};
|
|
5567
5567
|
const tagUidMap = {};
|
|
@@ -6066,36 +6066,36 @@ exports.Node = class Node extends CoreObject {
|
|
|
6066
6066
|
return node;
|
|
6067
6067
|
}
|
|
6068
6068
|
};
|
|
6069
|
-
__decorateClass$
|
|
6069
|
+
__decorateClass$K([
|
|
6070
6070
|
protectedProperty()
|
|
6071
6071
|
], exports.Node.prototype, "name", 2);
|
|
6072
|
-
__decorateClass$
|
|
6072
|
+
__decorateClass$K([
|
|
6073
6073
|
property()
|
|
6074
6074
|
], exports.Node.prototype, "mask", 2);
|
|
6075
|
-
__decorateClass$
|
|
6075
|
+
__decorateClass$K([
|
|
6076
6076
|
property({ default: "inherit" })
|
|
6077
6077
|
], exports.Node.prototype, "processMode", 2);
|
|
6078
|
-
__decorateClass$
|
|
6078
|
+
__decorateClass$K([
|
|
6079
6079
|
property({ default: "default" })
|
|
6080
6080
|
], exports.Node.prototype, "processSortMode", 2);
|
|
6081
|
-
__decorateClass$
|
|
6081
|
+
__decorateClass$K([
|
|
6082
6082
|
property({ default: "inherit" })
|
|
6083
6083
|
], exports.Node.prototype, "renderMode", 2);
|
|
6084
|
-
__decorateClass$
|
|
6084
|
+
__decorateClass$K([
|
|
6085
6085
|
property({ default: "default" })
|
|
6086
6086
|
], exports.Node.prototype, "internalMode", 2);
|
|
6087
|
-
exports.Node = __decorateClass$
|
|
6087
|
+
exports.Node = __decorateClass$K([
|
|
6088
6088
|
customNode("Node")
|
|
6089
6089
|
], exports.Node);
|
|
6090
6090
|
|
|
6091
|
-
var __defProp$
|
|
6092
|
-
var __getOwnPropDesc$
|
|
6093
|
-
var __decorateClass$
|
|
6094
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6091
|
+
var __defProp$B = Object.defineProperty;
|
|
6092
|
+
var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
|
|
6093
|
+
var __decorateClass$J = (decorators, target, key, kind) => {
|
|
6094
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
|
|
6095
6095
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6096
6096
|
if (decorator = decorators[i])
|
|
6097
6097
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6098
|
-
if (kind && result) __defProp$
|
|
6098
|
+
if (kind && result) __defProp$B(target, key, result);
|
|
6099
6099
|
return result;
|
|
6100
6100
|
};
|
|
6101
6101
|
exports.TimelineNode = class TimelineNode extends exports.Node {
|
|
@@ -6155,30 +6155,30 @@ exports.TimelineNode = class TimelineNode extends exports.Node {
|
|
|
6155
6155
|
this._updateCurrentTime();
|
|
6156
6156
|
}
|
|
6157
6157
|
};
|
|
6158
|
-
__decorateClass$
|
|
6158
|
+
__decorateClass$J([
|
|
6159
6159
|
property({ default: 0 })
|
|
6160
6160
|
], exports.TimelineNode.prototype, "delay", 2);
|
|
6161
|
-
__decorateClass$
|
|
6161
|
+
__decorateClass$J([
|
|
6162
6162
|
property({ default: 0 })
|
|
6163
6163
|
], exports.TimelineNode.prototype, "duration", 2);
|
|
6164
|
-
__decorateClass$
|
|
6164
|
+
__decorateClass$J([
|
|
6165
6165
|
property({ default: false })
|
|
6166
6166
|
], exports.TimelineNode.prototype, "paused", 2);
|
|
6167
|
-
__decorateClass$
|
|
6167
|
+
__decorateClass$J([
|
|
6168
6168
|
protectedProperty()
|
|
6169
6169
|
], exports.TimelineNode.prototype, "insideTimeRange", 2);
|
|
6170
|
-
exports.TimelineNode = __decorateClass$
|
|
6170
|
+
exports.TimelineNode = __decorateClass$J([
|
|
6171
6171
|
customNode("TimelineNode")
|
|
6172
6172
|
], exports.TimelineNode);
|
|
6173
6173
|
|
|
6174
|
-
var __defProp$
|
|
6175
|
-
var __getOwnPropDesc$
|
|
6176
|
-
var __decorateClass$
|
|
6177
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6174
|
+
var __defProp$A = Object.defineProperty;
|
|
6175
|
+
var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
|
|
6176
|
+
var __decorateClass$I = (decorators, target, key, kind) => {
|
|
6177
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
|
|
6178
6178
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6179
6179
|
if (decorator = decorators[i])
|
|
6180
6180
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6181
|
-
if (kind && result) __defProp$
|
|
6181
|
+
if (kind && result) __defProp$A(target, key, result);
|
|
6182
6182
|
return result;
|
|
6183
6183
|
};
|
|
6184
6184
|
exports.Viewport = class Viewport extends exports.Node {
|
|
@@ -6316,30 +6316,30 @@ exports.Viewport = class Viewport extends exports.Node {
|
|
|
6316
6316
|
return this._projection.toArray(transpose);
|
|
6317
6317
|
}
|
|
6318
6318
|
};
|
|
6319
|
-
__decorateClass$
|
|
6319
|
+
__decorateClass$I([
|
|
6320
6320
|
property({ default: 0 })
|
|
6321
6321
|
], exports.Viewport.prototype, "x", 2);
|
|
6322
|
-
__decorateClass$
|
|
6322
|
+
__decorateClass$I([
|
|
6323
6323
|
property({ default: 0 })
|
|
6324
6324
|
], exports.Viewport.prototype, "y", 2);
|
|
6325
|
-
__decorateClass$
|
|
6325
|
+
__decorateClass$I([
|
|
6326
6326
|
property({ default: 0 })
|
|
6327
6327
|
], exports.Viewport.prototype, "width", 2);
|
|
6328
|
-
__decorateClass$
|
|
6328
|
+
__decorateClass$I([
|
|
6329
6329
|
property({ default: 0 })
|
|
6330
6330
|
], exports.Viewport.prototype, "height", 2);
|
|
6331
|
-
exports.Viewport = __decorateClass$
|
|
6331
|
+
exports.Viewport = __decorateClass$I([
|
|
6332
6332
|
customNode("Viewport")
|
|
6333
6333
|
], exports.Viewport);
|
|
6334
6334
|
|
|
6335
|
-
var __defProp$
|
|
6336
|
-
var __getOwnPropDesc$
|
|
6337
|
-
var __decorateClass$
|
|
6338
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6335
|
+
var __defProp$z = Object.defineProperty;
|
|
6336
|
+
var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
|
|
6337
|
+
var __decorateClass$H = (decorators, target, key, kind) => {
|
|
6338
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
|
|
6339
6339
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6340
6340
|
if (decorator = decorators[i])
|
|
6341
6341
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6342
|
-
if (kind && result) __defProp$
|
|
6342
|
+
if (kind && result) __defProp$z(target, key, result);
|
|
6343
6343
|
return result;
|
|
6344
6344
|
};
|
|
6345
6345
|
exports.Effect = class Effect extends exports.TimelineNode {
|
|
@@ -6580,69 +6580,35 @@ exports.Effect = class Effect extends exports.TimelineNode {
|
|
|
6580
6580
|
}
|
|
6581
6581
|
}
|
|
6582
6582
|
};
|
|
6583
|
-
__decorateClass$
|
|
6583
|
+
__decorateClass$H([
|
|
6584
6584
|
protectedProperty()
|
|
6585
6585
|
], exports.Effect.prototype, "material", 2);
|
|
6586
|
-
__decorateClass$
|
|
6586
|
+
__decorateClass$H([
|
|
6587
6587
|
property()
|
|
6588
6588
|
], exports.Effect.prototype, "effectMode", 2);
|
|
6589
|
-
__decorateClass$
|
|
6589
|
+
__decorateClass$H([
|
|
6590
6590
|
property({ default: "" })
|
|
6591
6591
|
], exports.Effect.prototype, "glsl", 2);
|
|
6592
|
-
__decorateClass$
|
|
6592
|
+
__decorateClass$H([
|
|
6593
6593
|
property({ default: "" })
|
|
6594
6594
|
], exports.Effect.prototype, "glslSrc", 2);
|
|
6595
|
-
exports.Effect = __decorateClass$
|
|
6595
|
+
exports.Effect = __decorateClass$H([
|
|
6596
6596
|
customNode("Effect")
|
|
6597
6597
|
], exports.Effect);
|
|
6598
6598
|
|
|
6599
|
-
var __defProp$
|
|
6600
|
-
var __getOwnPropDesc$
|
|
6601
|
-
var __defNormalProp$
|
|
6602
|
-
var __decorateClass$
|
|
6603
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6599
|
+
var __defProp$y = Object.defineProperty;
|
|
6600
|
+
var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
|
|
6601
|
+
var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$y(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6602
|
+
var __decorateClass$G = (decorators, target, key, kind) => {
|
|
6603
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
|
|
6604
6604
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6605
6605
|
if (decorator = decorators[i])
|
|
6606
6606
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6607
|
-
if (kind && result) __defProp$
|
|
6607
|
+
if (kind && result) __defProp$y(target, key, result);
|
|
6608
6608
|
return result;
|
|
6609
6609
|
};
|
|
6610
|
-
var __publicField$
|
|
6611
|
-
const
|
|
6612
|
-
attribute vec2 uv;
|
|
6613
|
-
varying vec2 vUv[9];
|
|
6614
|
-
uniform float strength;
|
|
6615
|
-
|
|
6616
|
-
void main(void) {
|
|
6617
|
-
gl_Position = vec4(position, 0, 1);
|
|
6618
|
-
vUv[0] = uv + vec2(-4.0 * strength, 0.0);
|
|
6619
|
-
vUv[1] = uv + vec2(-3.0 * strength, 0.0);
|
|
6620
|
-
vUv[2] = uv + vec2(-2.0 * strength, 0.0);
|
|
6621
|
-
vUv[3] = uv + vec2(-1.0 * strength, 0.0);
|
|
6622
|
-
vUv[4] = uv + vec2(0.0 * strength, 0.0);
|
|
6623
|
-
vUv[5] = uv + vec2(1.0 * strength, 0.0);
|
|
6624
|
-
vUv[6] = uv + vec2(2.0 * strength, 0.0);
|
|
6625
|
-
vUv[7] = uv + vec2(3.0 * strength, 0.0);
|
|
6626
|
-
vUv[8] = uv + vec2(4.0 * strength, 0.0);
|
|
6627
|
-
}`;
|
|
6628
|
-
const vertY = `attribute vec2 position;
|
|
6629
|
-
attribute vec2 uv;
|
|
6630
|
-
uniform float strength;
|
|
6631
|
-
varying vec2 vUv[9];
|
|
6632
|
-
|
|
6633
|
-
void main(void) {
|
|
6634
|
-
gl_Position = vec4(position, 0, 1);
|
|
6635
|
-
vUv[0] = uv + vec2(0.0, -4.0 * strength);
|
|
6636
|
-
vUv[1] = uv + vec2(0.0, -3.0 * strength);
|
|
6637
|
-
vUv[2] = uv + vec2(0.0, -2.0 * strength);
|
|
6638
|
-
vUv[3] = uv + vec2(0.0, -1.0 * strength);
|
|
6639
|
-
vUv[4] = uv + vec2(0.0, 0.0 * strength);
|
|
6640
|
-
vUv[5] = uv + vec2(0.0, 1.0 * strength);
|
|
6641
|
-
vUv[6] = uv + vec2(0.0, 2.0 * strength);
|
|
6642
|
-
vUv[7] = uv + vec2(0.0, 3.0 * strength);
|
|
6643
|
-
vUv[8] = uv + vec2(0.0, 4.0 * strength);
|
|
6644
|
-
}`;
|
|
6645
|
-
const frag = `varying vec2 vUv[9];
|
|
6610
|
+
var __publicField$i = (obj, key, value) => __defNormalProp$i(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6611
|
+
const frag$2 = `varying vec2 vUv[9];
|
|
6646
6612
|
uniform sampler2D sampler;
|
|
6647
6613
|
|
|
6648
6614
|
void main(void) {
|
|
@@ -6678,6 +6644,10 @@ void main(void) {
|
|
|
6678
6644
|
}
|
|
6679
6645
|
}`;
|
|
6680
6646
|
exports.BlurEffect = class BlurEffect extends exports.Effect {
|
|
6647
|
+
constructor(properties, children = []) {
|
|
6648
|
+
super();
|
|
6649
|
+
this.setProperties(properties).append(children);
|
|
6650
|
+
}
|
|
6681
6651
|
apply(renderer, source) {
|
|
6682
6652
|
source.redraw(renderer, () => {
|
|
6683
6653
|
QuadUvGeometry.draw(renderer, exports.BlurEffect.materialX, {
|
|
@@ -6693,45 +6663,73 @@ exports.BlurEffect = class BlurEffect extends exports.Effect {
|
|
|
6693
6663
|
});
|
|
6694
6664
|
}
|
|
6695
6665
|
};
|
|
6696
|
-
__publicField$
|
|
6697
|
-
vert:
|
|
6698
|
-
|
|
6666
|
+
__publicField$i(exports.BlurEffect, "materialX", new Material({
|
|
6667
|
+
vert: `attribute vec2 position;
|
|
6668
|
+
attribute vec2 uv;
|
|
6669
|
+
varying vec2 vUv[9];
|
|
6670
|
+
uniform float strength;
|
|
6671
|
+
|
|
6672
|
+
void main(void) {
|
|
6673
|
+
gl_Position = vec4(position, 0, 1);
|
|
6674
|
+
vUv[0] = uv + vec2(-4.0 * strength, 0.0);
|
|
6675
|
+
vUv[1] = uv + vec2(-3.0 * strength, 0.0);
|
|
6676
|
+
vUv[2] = uv + vec2(-2.0 * strength, 0.0);
|
|
6677
|
+
vUv[3] = uv + vec2(-1.0 * strength, 0.0);
|
|
6678
|
+
vUv[4] = uv + vec2(0.0 * strength, 0.0);
|
|
6679
|
+
vUv[5] = uv + vec2(1.0 * strength, 0.0);
|
|
6680
|
+
vUv[6] = uv + vec2(2.0 * strength, 0.0);
|
|
6681
|
+
vUv[7] = uv + vec2(3.0 * strength, 0.0);
|
|
6682
|
+
vUv[8] = uv + vec2(4.0 * strength, 0.0);
|
|
6683
|
+
}`,
|
|
6684
|
+
frag: frag$2
|
|
6699
6685
|
}));
|
|
6700
|
-
__publicField$
|
|
6701
|
-
vert:
|
|
6702
|
-
|
|
6686
|
+
__publicField$i(exports.BlurEffect, "materialY", new Material({
|
|
6687
|
+
vert: `attribute vec2 position;
|
|
6688
|
+
attribute vec2 uv;
|
|
6689
|
+
uniform float strength;
|
|
6690
|
+
varying vec2 vUv[9];
|
|
6691
|
+
|
|
6692
|
+
void main(void) {
|
|
6693
|
+
gl_Position = vec4(position, 0, 1);
|
|
6694
|
+
vUv[0] = uv + vec2(0.0, -4.0 * strength);
|
|
6695
|
+
vUv[1] = uv + vec2(0.0, -3.0 * strength);
|
|
6696
|
+
vUv[2] = uv + vec2(0.0, -2.0 * strength);
|
|
6697
|
+
vUv[3] = uv + vec2(0.0, -1.0 * strength);
|
|
6698
|
+
vUv[4] = uv + vec2(0.0, 0.0 * strength);
|
|
6699
|
+
vUv[5] = uv + vec2(0.0, 1.0 * strength);
|
|
6700
|
+
vUv[6] = uv + vec2(0.0, 2.0 * strength);
|
|
6701
|
+
vUv[7] = uv + vec2(0.0, 3.0 * strength);
|
|
6702
|
+
vUv[8] = uv + vec2(0.0, 4.0 * strength);
|
|
6703
|
+
}`,
|
|
6704
|
+
frag: frag$2
|
|
6703
6705
|
}));
|
|
6704
|
-
__decorateClass$
|
|
6705
|
-
property({ default: 8 })
|
|
6706
|
-
], exports.BlurEffect.prototype, "strength", 2);
|
|
6707
|
-
__decorateClass$E([
|
|
6706
|
+
__decorateClass$G([
|
|
6708
6707
|
property({ default: 4 })
|
|
6708
|
+
], exports.BlurEffect.prototype, "strength", 2);
|
|
6709
|
+
__decorateClass$G([
|
|
6710
|
+
property({ default: 3 })
|
|
6709
6711
|
], exports.BlurEffect.prototype, "quality", 2);
|
|
6710
|
-
exports.BlurEffect = __decorateClass$
|
|
6712
|
+
exports.BlurEffect = __decorateClass$G([
|
|
6711
6713
|
customNode("BlurEffect")
|
|
6712
6714
|
], exports.BlurEffect);
|
|
6713
6715
|
|
|
6714
|
-
var __defProp$
|
|
6715
|
-
var __getOwnPropDesc$
|
|
6716
|
-
var __defNormalProp$
|
|
6717
|
-
var __decorateClass$
|
|
6718
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6716
|
+
var __defProp$x = Object.defineProperty;
|
|
6717
|
+
var __getOwnPropDesc$D = Object.getOwnPropertyDescriptor;
|
|
6718
|
+
var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$x(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6719
|
+
var __decorateClass$F = (decorators, target, key, kind) => {
|
|
6720
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$D(target, key) : target;
|
|
6719
6721
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6720
6722
|
if (decorator = decorators[i])
|
|
6721
6723
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6722
|
-
if (kind && result) __defProp$
|
|
6724
|
+
if (kind && result) __defProp$x(target, key, result);
|
|
6723
6725
|
return result;
|
|
6724
6726
|
};
|
|
6725
|
-
var __publicField$
|
|
6727
|
+
var __publicField$h = (obj, key, value) => __defNormalProp$h(obj, key + "" , value);
|
|
6726
6728
|
exports.ColorAdjustEffect = class ColorAdjustEffect extends exports.Effect {
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
green = 1;
|
|
6732
|
-
blue = 1;
|
|
6733
|
-
alpha = 1;
|
|
6734
|
-
gamma = 1;
|
|
6729
|
+
constructor(properties, children = []) {
|
|
6730
|
+
super();
|
|
6731
|
+
this.setProperties(properties).append(children);
|
|
6732
|
+
}
|
|
6735
6733
|
apply(renderer, source) {
|
|
6736
6734
|
source.redraw(renderer, () => {
|
|
6737
6735
|
QuadUvGeometry.draw(renderer, exports.ColorAdjustEffect.material, {
|
|
@@ -6748,7 +6746,7 @@ exports.ColorAdjustEffect = class ColorAdjustEffect extends exports.Effect {
|
|
|
6748
6746
|
});
|
|
6749
6747
|
}
|
|
6750
6748
|
};
|
|
6751
|
-
__publicField$
|
|
6749
|
+
__publicField$h(exports.ColorAdjustEffect, "material", new Material({
|
|
6752
6750
|
vert: `precision mediump float;
|
|
6753
6751
|
attribute vec2 position;
|
|
6754
6752
|
attribute vec2 uv;
|
|
@@ -6783,51 +6781,51 @@ void main(void) {
|
|
|
6783
6781
|
gl_FragColor = c * alpha;
|
|
6784
6782
|
}`
|
|
6785
6783
|
}));
|
|
6786
|
-
__decorateClass$
|
|
6787
|
-
property()
|
|
6784
|
+
__decorateClass$F([
|
|
6785
|
+
property({ default: 1 })
|
|
6788
6786
|
], exports.ColorAdjustEffect.prototype, "saturation", 2);
|
|
6789
|
-
__decorateClass$
|
|
6790
|
-
property()
|
|
6787
|
+
__decorateClass$F([
|
|
6788
|
+
property({ default: 1 })
|
|
6791
6789
|
], exports.ColorAdjustEffect.prototype, "contrast", 2);
|
|
6792
|
-
__decorateClass$
|
|
6793
|
-
property()
|
|
6790
|
+
__decorateClass$F([
|
|
6791
|
+
property({ default: 1 })
|
|
6794
6792
|
], exports.ColorAdjustEffect.prototype, "brightness", 2);
|
|
6795
|
-
__decorateClass$
|
|
6796
|
-
property()
|
|
6793
|
+
__decorateClass$F([
|
|
6794
|
+
property({ default: 1 })
|
|
6797
6795
|
], exports.ColorAdjustEffect.prototype, "red", 2);
|
|
6798
|
-
__decorateClass$
|
|
6799
|
-
property()
|
|
6796
|
+
__decorateClass$F([
|
|
6797
|
+
property({ default: 1 })
|
|
6800
6798
|
], exports.ColorAdjustEffect.prototype, "green", 2);
|
|
6801
|
-
__decorateClass$
|
|
6802
|
-
property()
|
|
6799
|
+
__decorateClass$F([
|
|
6800
|
+
property({ default: 1 })
|
|
6803
6801
|
], exports.ColorAdjustEffect.prototype, "blue", 2);
|
|
6804
|
-
__decorateClass$
|
|
6805
|
-
property()
|
|
6802
|
+
__decorateClass$F([
|
|
6803
|
+
property({ default: 1 })
|
|
6806
6804
|
], exports.ColorAdjustEffect.prototype, "alpha", 2);
|
|
6807
|
-
__decorateClass$
|
|
6808
|
-
property()
|
|
6805
|
+
__decorateClass$F([
|
|
6806
|
+
property({ default: 1 })
|
|
6809
6807
|
], exports.ColorAdjustEffect.prototype, "gamma", 2);
|
|
6810
|
-
exports.ColorAdjustEffect = __decorateClass$
|
|
6808
|
+
exports.ColorAdjustEffect = __decorateClass$F([
|
|
6811
6809
|
customNode("ColorAdjustEffect")
|
|
6812
6810
|
], exports.ColorAdjustEffect);
|
|
6813
6811
|
|
|
6814
|
-
var __defProp$
|
|
6815
|
-
var __getOwnPropDesc$
|
|
6816
|
-
var __defNormalProp$
|
|
6817
|
-
var __decorateClass$
|
|
6818
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6812
|
+
var __defProp$w = Object.defineProperty;
|
|
6813
|
+
var __getOwnPropDesc$C = Object.getOwnPropertyDescriptor;
|
|
6814
|
+
var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$w(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6815
|
+
var __decorateClass$E = (decorators, target, key, kind) => {
|
|
6816
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$C(target, key) : target;
|
|
6819
6817
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6820
6818
|
if (decorator = decorators[i])
|
|
6821
6819
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6822
|
-
if (kind && result) __defProp$
|
|
6820
|
+
if (kind && result) __defProp$w(target, key, result);
|
|
6823
6821
|
return result;
|
|
6824
6822
|
};
|
|
6825
|
-
var __publicField$
|
|
6823
|
+
var __publicField$g = (obj, key, value) => __defNormalProp$g(obj, key + "" , value);
|
|
6826
6824
|
exports.ColorFilterEffect = class ColorFilterEffect extends exports.Effect {
|
|
6827
6825
|
_colorMatrix = new ColorMatrix();
|
|
6828
|
-
constructor(properties) {
|
|
6826
|
+
constructor(properties, children = []) {
|
|
6829
6827
|
super();
|
|
6830
|
-
this.setProperties(properties);
|
|
6828
|
+
this.setProperties(properties).append(children);
|
|
6831
6829
|
}
|
|
6832
6830
|
apply(renderer, source) {
|
|
6833
6831
|
if (!this.filter)
|
|
@@ -6872,7 +6870,7 @@ exports.ColorFilterEffect = class ColorFilterEffect extends exports.Effect {
|
|
|
6872
6870
|
});
|
|
6873
6871
|
}
|
|
6874
6872
|
};
|
|
6875
|
-
__publicField$
|
|
6873
|
+
__publicField$g(exports.ColorFilterEffect, "material", new Material({
|
|
6876
6874
|
vert: `precision mediump float;
|
|
6877
6875
|
attribute vec2 position;
|
|
6878
6876
|
attribute vec2 uv;
|
|
@@ -6899,30 +6897,32 @@ void main(void) {
|
|
|
6899
6897
|
);
|
|
6900
6898
|
}`
|
|
6901
6899
|
}));
|
|
6902
|
-
__decorateClass$
|
|
6903
|
-
property(
|
|
6900
|
+
__decorateClass$E([
|
|
6901
|
+
property()
|
|
6904
6902
|
], exports.ColorFilterEffect.prototype, "filter", 2);
|
|
6905
|
-
exports.ColorFilterEffect = __decorateClass$
|
|
6903
|
+
exports.ColorFilterEffect = __decorateClass$E([
|
|
6906
6904
|
customNode("ColorFilterEffect")
|
|
6907
6905
|
], exports.ColorFilterEffect);
|
|
6908
6906
|
|
|
6909
|
-
var __defProp$
|
|
6910
|
-
var __getOwnPropDesc$
|
|
6911
|
-
var __defNormalProp$
|
|
6912
|
-
var __decorateClass$
|
|
6913
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
6907
|
+
var __defProp$v = Object.defineProperty;
|
|
6908
|
+
var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
|
|
6909
|
+
var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$v(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6910
|
+
var __decorateClass$D = (decorators, target, key, kind) => {
|
|
6911
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
|
|
6914
6912
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6915
6913
|
if (decorator = decorators[i])
|
|
6916
6914
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6917
|
-
if (kind && result) __defProp$
|
|
6915
|
+
if (kind && result) __defProp$v(target, key, result);
|
|
6918
6916
|
return result;
|
|
6919
6917
|
};
|
|
6920
|
-
var __publicField$
|
|
6918
|
+
var __publicField$f = (obj, key, value) => __defNormalProp$f(obj, key + "" , value);
|
|
6921
6919
|
const MAX_COLORS$1 = 50;
|
|
6922
6920
|
exports.ColorOverlayEffect = class ColorOverlayEffect extends exports.Effect {
|
|
6923
|
-
colors = [];
|
|
6924
|
-
alpha = 0.5;
|
|
6925
6921
|
_color = new Color();
|
|
6922
|
+
constructor(properties, children = []) {
|
|
6923
|
+
super();
|
|
6924
|
+
this.setProperties(properties).append(children);
|
|
6925
|
+
}
|
|
6926
6926
|
apply(renderer, source) {
|
|
6927
6927
|
source.redraw(renderer, () => {
|
|
6928
6928
|
const colors = this.colors.map((val) => {
|
|
@@ -6941,7 +6941,7 @@ exports.ColorOverlayEffect = class ColorOverlayEffect extends exports.Effect {
|
|
|
6941
6941
|
});
|
|
6942
6942
|
}
|
|
6943
6943
|
};
|
|
6944
|
-
__publicField$
|
|
6944
|
+
__publicField$f(exports.ColorOverlayEffect, "material", new Material({
|
|
6945
6945
|
vert: `precision mediump float;
|
|
6946
6946
|
attribute vec2 position;
|
|
6947
6947
|
attribute vec2 uv;
|
|
@@ -6988,32 +6988,34 @@ void main(void) {
|
|
|
6988
6988
|
gl_FragColor = vec4(mix(color.rgb, mask.rgb, color.a * mask.a), color.a);
|
|
6989
6989
|
}`
|
|
6990
6990
|
}));
|
|
6991
|
-
__decorateClass$
|
|
6992
|
-
property()
|
|
6991
|
+
__decorateClass$D([
|
|
6992
|
+
property({ default: [] })
|
|
6993
6993
|
], exports.ColorOverlayEffect.prototype, "colors", 2);
|
|
6994
|
-
__decorateClass$
|
|
6995
|
-
property()
|
|
6994
|
+
__decorateClass$D([
|
|
6995
|
+
property({ default: 0.5 })
|
|
6996
6996
|
], exports.ColorOverlayEffect.prototype, "alpha", 2);
|
|
6997
|
-
exports.ColorOverlayEffect = __decorateClass$
|
|
6997
|
+
exports.ColorOverlayEffect = __decorateClass$D([
|
|
6998
6998
|
customNode("ColorOverlayEffect")
|
|
6999
6999
|
], exports.ColorOverlayEffect);
|
|
7000
7000
|
|
|
7001
|
-
var __defProp$
|
|
7002
|
-
var __getOwnPropDesc$
|
|
7003
|
-
var __defNormalProp$
|
|
7004
|
-
var __decorateClass$
|
|
7005
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
7001
|
+
var __defProp$u = Object.defineProperty;
|
|
7002
|
+
var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
|
|
7003
|
+
var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$u(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7004
|
+
var __decorateClass$C = (decorators, target, key, kind) => {
|
|
7005
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
|
|
7006
7006
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7007
7007
|
if (decorator = decorators[i])
|
|
7008
7008
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7009
|
-
if (kind && result) __defProp$
|
|
7009
|
+
if (kind && result) __defProp$u(target, key, result);
|
|
7010
7010
|
return result;
|
|
7011
7011
|
};
|
|
7012
|
-
var __publicField$
|
|
7012
|
+
var __publicField$e = (obj, key, value) => __defNormalProp$e(obj, key + "" , value);
|
|
7013
7013
|
exports.ColorRemoveEffect = class ColorRemoveEffect extends exports.Effect {
|
|
7014
|
-
colors = [];
|
|
7015
|
-
epsilon = 0.5;
|
|
7016
7014
|
_color = new Color();
|
|
7015
|
+
constructor(properties, children = []) {
|
|
7016
|
+
super();
|
|
7017
|
+
this.setProperties(properties).append(children);
|
|
7018
|
+
}
|
|
7017
7019
|
apply(renderer, source) {
|
|
7018
7020
|
const maxColors = 50;
|
|
7019
7021
|
const originalColors = new Float32Array(maxColors * 3);
|
|
@@ -7038,7 +7040,7 @@ exports.ColorRemoveEffect = class ColorRemoveEffect extends exports.Effect {
|
|
|
7038
7040
|
});
|
|
7039
7041
|
}
|
|
7040
7042
|
};
|
|
7041
|
-
__publicField$
|
|
7043
|
+
__publicField$e(exports.ColorRemoveEffect, "material", new Material({
|
|
7042
7044
|
vert: `precision mediump float;
|
|
7043
7045
|
attribute vec2 position;
|
|
7044
7046
|
attribute vec2 uv;
|
|
@@ -7071,33 +7073,35 @@ void main(void) {
|
|
|
7071
7073
|
gl_FragColor = color;
|
|
7072
7074
|
}`
|
|
7073
7075
|
}));
|
|
7074
|
-
__decorateClass$
|
|
7075
|
-
property()
|
|
7076
|
+
__decorateClass$C([
|
|
7077
|
+
property({ default: [] })
|
|
7076
7078
|
], exports.ColorRemoveEffect.prototype, "colors", 2);
|
|
7077
|
-
__decorateClass$
|
|
7078
|
-
property()
|
|
7079
|
+
__decorateClass$C([
|
|
7080
|
+
property({ default: 0.5 })
|
|
7079
7081
|
], exports.ColorRemoveEffect.prototype, "epsilon", 2);
|
|
7080
|
-
exports.ColorRemoveEffect = __decorateClass$
|
|
7082
|
+
exports.ColorRemoveEffect = __decorateClass$C([
|
|
7081
7083
|
customNode("ColorRemoveEffect")
|
|
7082
7084
|
], exports.ColorRemoveEffect);
|
|
7083
7085
|
|
|
7084
|
-
var __defProp$
|
|
7085
|
-
var __getOwnPropDesc$
|
|
7086
|
-
var __defNormalProp$
|
|
7087
|
-
var __decorateClass$
|
|
7088
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
7086
|
+
var __defProp$t = Object.defineProperty;
|
|
7087
|
+
var __getOwnPropDesc$z = Object.getOwnPropertyDescriptor;
|
|
7088
|
+
var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$t(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7089
|
+
var __decorateClass$B = (decorators, target, key, kind) => {
|
|
7090
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$z(target, key) : target;
|
|
7089
7091
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7090
7092
|
if (decorator = decorators[i])
|
|
7091
7093
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7092
|
-
if (kind && result) __defProp$
|
|
7094
|
+
if (kind && result) __defProp$t(target, key, result);
|
|
7093
7095
|
return result;
|
|
7094
7096
|
};
|
|
7095
|
-
var __publicField$
|
|
7097
|
+
var __publicField$d = (obj, key, value) => __defNormalProp$d(obj, key + "" , value);
|
|
7096
7098
|
const MAX_COLORS = 50;
|
|
7097
7099
|
exports.ColorReplaceEffect = class ColorReplaceEffect extends exports.Effect {
|
|
7098
|
-
colors = [];
|
|
7099
|
-
epsilon = 0.05;
|
|
7100
7100
|
_color = new Color();
|
|
7101
|
+
constructor(properties, children = []) {
|
|
7102
|
+
super();
|
|
7103
|
+
this.setProperties(properties).append(children);
|
|
7104
|
+
}
|
|
7101
7105
|
apply(renderer, source) {
|
|
7102
7106
|
const colors = this.colors.map((val) => {
|
|
7103
7107
|
this._color.value = val[0];
|
|
@@ -7136,7 +7140,7 @@ exports.ColorReplaceEffect = class ColorReplaceEffect extends exports.Effect {
|
|
|
7136
7140
|
});
|
|
7137
7141
|
}
|
|
7138
7142
|
};
|
|
7139
|
-
__publicField$
|
|
7143
|
+
__publicField$d(exports.ColorReplaceEffect, "material", new Material({
|
|
7140
7144
|
vert: `precision mediump float;
|
|
7141
7145
|
attribute vec2 position;
|
|
7142
7146
|
attribute vec2 uv;
|
|
@@ -7176,627 +7180,757 @@ void main(void) {
|
|
|
7176
7180
|
}
|
|
7177
7181
|
}`
|
|
7178
7182
|
}));
|
|
7179
|
-
__decorateClass$
|
|
7180
|
-
property()
|
|
7183
|
+
__decorateClass$B([
|
|
7184
|
+
property({ default: [] })
|
|
7181
7185
|
], exports.ColorReplaceEffect.prototype, "colors", 2);
|
|
7182
|
-
__decorateClass$
|
|
7183
|
-
property()
|
|
7186
|
+
__decorateClass$B([
|
|
7187
|
+
property({ default: 0.05 })
|
|
7184
7188
|
], exports.ColorReplaceEffect.prototype, "epsilon", 2);
|
|
7185
|
-
exports.ColorReplaceEffect = __decorateClass$
|
|
7189
|
+
exports.ColorReplaceEffect = __decorateClass$B([
|
|
7186
7190
|
customNode("ColorReplaceEffect")
|
|
7187
7191
|
], exports.ColorReplaceEffect);
|
|
7188
7192
|
|
|
7189
|
-
|
|
7190
|
-
|
|
7191
|
-
|
|
7192
|
-
|
|
7193
|
-
|
|
7194
|
-
|
|
7195
|
-
|
|
7196
|
-
|
|
7197
|
-
|
|
7198
|
-
|
|
7199
|
-
|
|
7200
|
-
|
|
7201
|
-
|
|
7202
|
-
|
|
7203
|
-
|
|
7204
|
-
|
|
7205
|
-
|
|
7206
|
-
|
|
7207
|
-
|
|
7208
|
-
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7193
|
+
class CanvasContext extends modernPath2d.Path2D {
|
|
7194
|
+
textureTransform;
|
|
7195
|
+
fillStyle;
|
|
7196
|
+
strokeStyle;
|
|
7197
|
+
lineCap;
|
|
7198
|
+
lineJoin;
|
|
7199
|
+
lineWidth;
|
|
7200
|
+
miterLimit;
|
|
7201
|
+
_defaultStyle = Texture2D.EMPTY;
|
|
7202
|
+
_draws = [];
|
|
7203
|
+
stroke() {
|
|
7204
|
+
let texture = this._defaultStyle;
|
|
7205
|
+
if (this.strokeStyle) {
|
|
7206
|
+
if (this.strokeStyle instanceof Texture2D) {
|
|
7207
|
+
texture = this.strokeStyle;
|
|
7208
|
+
} else {
|
|
7209
|
+
texture = new ColorTexture(this.strokeStyle);
|
|
7210
|
+
}
|
|
7211
|
+
}
|
|
7212
|
+
if (this.curves.length) {
|
|
7213
|
+
this._draws.push({
|
|
7214
|
+
type: "stroke",
|
|
7215
|
+
path: new modernPath2d.Path2D(this),
|
|
7216
|
+
texture,
|
|
7217
|
+
textureTransform: this.textureTransform,
|
|
7218
|
+
style: {
|
|
7219
|
+
alignment: 0.5,
|
|
7220
|
+
cap: this.lineCap ?? "butt",
|
|
7221
|
+
join: this.lineJoin ?? "miter",
|
|
7222
|
+
width: this.lineWidth ?? 1,
|
|
7223
|
+
miterLimit: this.miterLimit ?? 10
|
|
7224
|
+
}
|
|
7213
7225
|
});
|
|
7214
|
-
|
|
7226
|
+
super.reset();
|
|
7227
|
+
}
|
|
7215
7228
|
}
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
vert: `precision mediump float;
|
|
7219
|
-
attribute vec2 position;
|
|
7220
|
-
attribute vec2 uv;
|
|
7221
|
-
varying vec2 vUv;
|
|
7222
|
-
void main() {
|
|
7223
|
-
gl_Position = vec4(position, 0.0, 1.0);
|
|
7224
|
-
vUv = uv;
|
|
7225
|
-
}`,
|
|
7226
|
-
frag: `precision mediump float;
|
|
7227
|
-
uniform sampler2D sampler;
|
|
7228
|
-
uniform vec4 inputSize;
|
|
7229
|
-
uniform float strength;
|
|
7230
|
-
varying vec2 vUv;
|
|
7231
|
-
|
|
7232
|
-
void main(void) {
|
|
7233
|
-
vec2 onePixel = inputSize.zw;
|
|
7234
|
-
vec4 color;
|
|
7235
|
-
color.rgb = vec3(0.5);
|
|
7236
|
-
color -= texture2D(sampler, vUv - onePixel) * strength;
|
|
7237
|
-
color += texture2D(sampler, vUv + onePixel) * strength;
|
|
7238
|
-
color.rgb = vec3((color.r + color.g + color.b) / 3.0);
|
|
7239
|
-
float alpha = texture2D(sampler, vUv).a;
|
|
7240
|
-
gl_FragColor = vec4(color.rgb * alpha, alpha);
|
|
7241
|
-
}`
|
|
7242
|
-
}));
|
|
7243
|
-
__decorateClass$y([
|
|
7244
|
-
property()
|
|
7245
|
-
], exports.EmbossEffect.prototype, "strength", 2);
|
|
7246
|
-
exports.EmbossEffect = __decorateClass$y([
|
|
7247
|
-
customNode("EmbossEffect")
|
|
7248
|
-
], exports.EmbossEffect);
|
|
7249
|
-
|
|
7250
|
-
var __defProp$p = Object.defineProperty;
|
|
7251
|
-
var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
|
|
7252
|
-
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$p(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7253
|
-
var __decorateClass$x = (decorators, target, key, kind) => {
|
|
7254
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
|
|
7255
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7256
|
-
if (decorator = decorators[i])
|
|
7257
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7258
|
-
if (kind && result) __defProp$p(target, key, result);
|
|
7259
|
-
return result;
|
|
7260
|
-
};
|
|
7261
|
-
var __publicField$a = (obj, key, value) => __defNormalProp$a(obj, key + "" , value);
|
|
7262
|
-
exports.GlitchEffect = class GlitchEffect extends exports.Effect {
|
|
7263
|
-
_canvas;
|
|
7264
|
-
_texture;
|
|
7265
|
-
_sizes;
|
|
7266
|
-
_offsets;
|
|
7267
|
-
_needsRedraw = false;
|
|
7268
|
-
slices = 10;
|
|
7269
|
-
sampleSize = 512;
|
|
7270
|
-
offset = 100;
|
|
7271
|
-
direction = 0;
|
|
7272
|
-
fillMode = 2;
|
|
7273
|
-
seed = 0;
|
|
7274
|
-
red = [2, 2];
|
|
7275
|
-
green = [-10, 4];
|
|
7276
|
-
blue = [10, -4];
|
|
7277
|
-
constructor() {
|
|
7278
|
-
super();
|
|
7279
|
-
this._canvas = document.createElement("canvas");
|
|
7280
|
-
this._canvas.width = 4;
|
|
7281
|
-
this._canvas.height = this.sampleSize;
|
|
7282
|
-
this._texture = new Texture2D(this._canvas);
|
|
7283
|
-
this._sizes = new Float32Array(this.slices);
|
|
7284
|
-
this._offsets = new Float32Array(this.slices);
|
|
7229
|
+
fillRect(x, y, width, height) {
|
|
7230
|
+
this.rect(x, y, width, height).fill();
|
|
7285
7231
|
}
|
|
7286
|
-
|
|
7287
|
-
|
|
7288
|
-
const texture = this._texture;
|
|
7289
|
-
const ctx = this._canvas.getContext("2d");
|
|
7290
|
-
ctx.clearRect(0, 0, 8, size);
|
|
7291
|
-
let offset;
|
|
7292
|
-
let y = 0;
|
|
7293
|
-
for (let i = 0; i < this.slices; i++) {
|
|
7294
|
-
offset = Math.floor(this._offsets[i] * 256);
|
|
7295
|
-
const height = this._sizes[i] * size;
|
|
7296
|
-
const red = offset > 0 ? offset : 0;
|
|
7297
|
-
const green = offset < 0 ? -offset : 0;
|
|
7298
|
-
ctx.fillStyle = `rgba(${red}, ${green}, 0, 1)`;
|
|
7299
|
-
ctx.fillRect(0, y >> 0, size, height + 1 >> 0);
|
|
7300
|
-
y += height;
|
|
7301
|
-
}
|
|
7302
|
-
texture.requestUpload();
|
|
7232
|
+
strokeRect(x, y, width, height) {
|
|
7233
|
+
this.rect(x, y, width, height).stroke();
|
|
7303
7234
|
}
|
|
7304
|
-
|
|
7305
|
-
|
|
7306
|
-
|
|
7307
|
-
this.
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
|
|
7311
|
-
|
|
7312
|
-
|
|
7313
|
-
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
|
|
7317
|
-
|
|
7318
|
-
filterClamp: [0, 0, 1, 1],
|
|
7319
|
-
filterArea: [width, height, 0, 0],
|
|
7320
|
-
dimensions: [width, height],
|
|
7321
|
-
aspect: height / width,
|
|
7322
|
-
displacementMap: 1,
|
|
7323
|
-
offset: this.offset,
|
|
7324
|
-
sinDir,
|
|
7325
|
-
cosDir,
|
|
7326
|
-
fillMode: this.fillMode,
|
|
7327
|
-
seed: this.seed,
|
|
7328
|
-
red: this.red,
|
|
7329
|
-
green: this.green,
|
|
7330
|
-
blue: this.blue
|
|
7331
|
-
});
|
|
7235
|
+
fill() {
|
|
7236
|
+
let texture = this._defaultStyle;
|
|
7237
|
+
if (this.fillStyle) {
|
|
7238
|
+
if (this.fillStyle instanceof Texture2D) {
|
|
7239
|
+
texture = this.fillStyle;
|
|
7240
|
+
} else {
|
|
7241
|
+
texture = new ColorTexture(this.fillStyle);
|
|
7242
|
+
}
|
|
7243
|
+
}
|
|
7244
|
+
this._draws.push({
|
|
7245
|
+
type: "fill",
|
|
7246
|
+
path: new modernPath2d.Path2D(this),
|
|
7247
|
+
texture,
|
|
7248
|
+
textureTransform: this.textureTransform
|
|
7332
7249
|
});
|
|
7250
|
+
super.reset();
|
|
7333
7251
|
}
|
|
7334
|
-
|
|
7335
|
-
|
|
7336
|
-
|
|
7337
|
-
|
|
7338
|
-
|
|
7339
|
-
|
|
7340
|
-
|
|
7341
|
-
|
|
7342
|
-
|
|
7343
|
-
|
|
7344
|
-
|
|
7345
|
-
|
|
7346
|
-
varying vec2 vUv;
|
|
7347
|
-
uniform sampler2D sampler;
|
|
7348
|
-
|
|
7349
|
-
uniform vec4 filterArea;
|
|
7350
|
-
uniform vec4 filterClamp;
|
|
7351
|
-
uniform vec2 dimensions;
|
|
7352
|
-
uniform float aspect;
|
|
7353
|
-
|
|
7354
|
-
uniform sampler2D displacementMap;
|
|
7355
|
-
uniform float offset;
|
|
7356
|
-
uniform float sinDir;
|
|
7357
|
-
uniform float cosDir;
|
|
7358
|
-
uniform int fillMode;
|
|
7359
|
-
|
|
7360
|
-
uniform float seed;
|
|
7361
|
-
uniform vec2 red;
|
|
7362
|
-
uniform vec2 green;
|
|
7363
|
-
uniform vec2 blue;
|
|
7364
|
-
|
|
7365
|
-
const int TRANSPARENT = 0;
|
|
7366
|
-
const int ORIGINAL = 1;
|
|
7367
|
-
const int LOOP = 2;
|
|
7368
|
-
const int CLAMP = 3;
|
|
7369
|
-
const int MIRROR = 4;
|
|
7370
|
-
|
|
7371
|
-
void main(void) {
|
|
7372
|
-
vec2 coord = (vUv * filterArea.xy) / dimensions;
|
|
7373
|
-
|
|
7374
|
-
if (coord.x > 1.0 || coord.y > 1.0) {
|
|
7375
|
-
return;
|
|
7252
|
+
copy(source) {
|
|
7253
|
+
super.copy(source);
|
|
7254
|
+
this.strokeStyle = source.strokeStyle;
|
|
7255
|
+
this.fillStyle = source.fillStyle;
|
|
7256
|
+
this.textureTransform = source.textureTransform;
|
|
7257
|
+
this.lineCap = source.lineCap;
|
|
7258
|
+
this.lineJoin = source.lineJoin;
|
|
7259
|
+
this.lineWidth = source.lineWidth;
|
|
7260
|
+
this.miterLimit = source.miterLimit;
|
|
7261
|
+
this._draws = source._draws.slice();
|
|
7262
|
+
return this;
|
|
7376
7263
|
}
|
|
7377
|
-
|
|
7378
|
-
|
|
7379
|
-
|
|
7380
|
-
|
|
7381
|
-
|
|
7382
|
-
|
|
7383
|
-
|
|
7384
|
-
|
|
7385
|
-
|
|
7386
|
-
|
|
7387
|
-
|
|
7388
|
-
|
|
7389
|
-
|
|
7390
|
-
|
|
7391
|
-
|
|
7392
|
-
|
|
7393
|
-
|
|
7394
|
-
|
|
7395
|
-
|
|
7396
|
-
|
|
7397
|
-
|
|
7398
|
-
|
|
7399
|
-
|
|
7400
|
-
|
|
7401
|
-
|
|
7402
|
-
|
|
7403
|
-
|
|
7264
|
+
reset() {
|
|
7265
|
+
super.reset();
|
|
7266
|
+
this.strokeStyle = void 0;
|
|
7267
|
+
this.fillStyle = void 0;
|
|
7268
|
+
this.textureTransform = void 0;
|
|
7269
|
+
this.lineCap = void 0;
|
|
7270
|
+
this.lineJoin = void 0;
|
|
7271
|
+
this.lineWidth = void 0;
|
|
7272
|
+
this.miterLimit = void 0;
|
|
7273
|
+
this._draws.length = 0;
|
|
7274
|
+
return this;
|
|
7275
|
+
}
|
|
7276
|
+
buildUvs(start, vertices, uvs, texture, textureTransform) {
|
|
7277
|
+
if (texture) {
|
|
7278
|
+
const w = texture.width;
|
|
7279
|
+
const h = texture.height;
|
|
7280
|
+
for (let len = vertices.length, i = start; i < len; i += 2) {
|
|
7281
|
+
const x = vertices[i];
|
|
7282
|
+
const y = vertices[i + 1];
|
|
7283
|
+
let uvX;
|
|
7284
|
+
let uvY;
|
|
7285
|
+
if (textureTransform) {
|
|
7286
|
+
[uvX, uvY] = textureTransform?.applyToPoint(x, y);
|
|
7287
|
+
} else {
|
|
7288
|
+
[uvX, uvY] = [x / w, y / h];
|
|
7289
|
+
}
|
|
7290
|
+
uvs.push(uvX, uvY);
|
|
7404
7291
|
}
|
|
7405
|
-
} else
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
} else if (fillMode == LOOP) {
|
|
7409
|
-
coord.x += filterClamp.z;
|
|
7410
|
-
} else if (fillMode == MIRROR) {
|
|
7411
|
-
coord.x *= -filterClamp.z;
|
|
7292
|
+
} else {
|
|
7293
|
+
for (let len = vertices.length, i = start; i < len; i += 2) {
|
|
7294
|
+
uvs.push(0, 0);
|
|
7412
7295
|
}
|
|
7413
7296
|
}
|
|
7414
|
-
|
|
7415
|
-
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
|
|
7420
|
-
|
|
7421
|
-
|
|
7297
|
+
}
|
|
7298
|
+
toBatchables() {
|
|
7299
|
+
const batchables = [];
|
|
7300
|
+
let vertices = [];
|
|
7301
|
+
let indices = [];
|
|
7302
|
+
let uvs = [];
|
|
7303
|
+
let texture;
|
|
7304
|
+
const push = (type) => {
|
|
7305
|
+
batchables.push({
|
|
7306
|
+
type,
|
|
7307
|
+
vertices,
|
|
7308
|
+
indices,
|
|
7309
|
+
uvs,
|
|
7310
|
+
texture
|
|
7311
|
+
});
|
|
7312
|
+
vertices = [];
|
|
7313
|
+
indices = [];
|
|
7314
|
+
uvs = [];
|
|
7315
|
+
texture = void 0;
|
|
7316
|
+
};
|
|
7317
|
+
for (let len = this._draws.length, i = 0; i < len; i++) {
|
|
7318
|
+
const draw = this._draws[i];
|
|
7319
|
+
const prev = this._draws[i - 1];
|
|
7320
|
+
if (vertices.length && prev && prev?.type !== draw.type) {
|
|
7321
|
+
push(prev.type);
|
|
7422
7322
|
}
|
|
7423
|
-
|
|
7424
|
-
if (
|
|
7425
|
-
|
|
7426
|
-
} else if (fillMode == LOOP) {
|
|
7427
|
-
coord.y += filterClamp.w;
|
|
7428
|
-
} else if (fillMode == MIRROR) {
|
|
7429
|
-
coord.y *= -filterClamp.w;
|
|
7323
|
+
const oldTexture = texture;
|
|
7324
|
+
if (!oldTexture) {
|
|
7325
|
+
texture = draw.texture;
|
|
7430
7326
|
}
|
|
7327
|
+
if (vertices.length && oldTexture !== draw.texture && !oldTexture?.is(draw.texture)) {
|
|
7328
|
+
push(draw.type);
|
|
7329
|
+
}
|
|
7330
|
+
const start = vertices.length;
|
|
7331
|
+
if (draw.type === "fill") {
|
|
7332
|
+
draw.path.fillTriangulate({
|
|
7333
|
+
vertices,
|
|
7334
|
+
indices
|
|
7335
|
+
});
|
|
7336
|
+
this.buildUvs(start, vertices, uvs, draw.texture, draw.textureTransform);
|
|
7337
|
+
} else {
|
|
7338
|
+
draw.path.strokeTriangulate({
|
|
7339
|
+
vertices,
|
|
7340
|
+
indices,
|
|
7341
|
+
lineStyle: draw.style,
|
|
7342
|
+
flipAlignment: false,
|
|
7343
|
+
closed: true
|
|
7344
|
+
});
|
|
7345
|
+
this.buildUvs(start, vertices, uvs, draw.texture, draw.textureTransform);
|
|
7346
|
+
}
|
|
7347
|
+
}
|
|
7348
|
+
const last = this._draws[this._draws.length - 1];
|
|
7349
|
+
if (last && vertices.length) {
|
|
7350
|
+
push(last.type);
|
|
7431
7351
|
}
|
|
7352
|
+
return batchables;
|
|
7432
7353
|
}
|
|
7354
|
+
}
|
|
7433
7355
|
|
|
7434
|
-
|
|
7435
|
-
|
|
7436
|
-
|
|
7437
|
-
|
|
7438
|
-
}`
|
|
7439
|
-
}));
|
|
7440
|
-
__decorateClass$x([
|
|
7441
|
-
property()
|
|
7442
|
-
], exports.GlitchEffect.prototype, "slices", 2);
|
|
7443
|
-
__decorateClass$x([
|
|
7444
|
-
property()
|
|
7445
|
-
], exports.GlitchEffect.prototype, "sampleSize", 2);
|
|
7446
|
-
__decorateClass$x([
|
|
7447
|
-
property()
|
|
7448
|
-
], exports.GlitchEffect.prototype, "offset", 2);
|
|
7449
|
-
__decorateClass$x([
|
|
7450
|
-
property()
|
|
7451
|
-
], exports.GlitchEffect.prototype, "direction", 2);
|
|
7452
|
-
__decorateClass$x([
|
|
7453
|
-
property()
|
|
7454
|
-
], exports.GlitchEffect.prototype, "fillMode", 2);
|
|
7455
|
-
__decorateClass$x([
|
|
7456
|
-
property()
|
|
7457
|
-
], exports.GlitchEffect.prototype, "seed", 2);
|
|
7458
|
-
__decorateClass$x([
|
|
7459
|
-
property()
|
|
7460
|
-
], exports.GlitchEffect.prototype, "red", 2);
|
|
7461
|
-
__decorateClass$x([
|
|
7462
|
-
property()
|
|
7463
|
-
], exports.GlitchEffect.prototype, "green", 2);
|
|
7464
|
-
__decorateClass$x([
|
|
7465
|
-
property()
|
|
7466
|
-
], exports.GlitchEffect.prototype, "blue", 2);
|
|
7467
|
-
exports.GlitchEffect = __decorateClass$x([
|
|
7468
|
-
customNode("GlitchEffect")
|
|
7469
|
-
], exports.GlitchEffect);
|
|
7470
|
-
|
|
7471
|
-
var __defProp$o = Object.defineProperty;
|
|
7472
|
-
var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
|
|
7473
|
-
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7474
|
-
var __decorateClass$w = (decorators, target, key, kind) => {
|
|
7475
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
|
|
7356
|
+
var __defProp$s = Object.defineProperty;
|
|
7357
|
+
var __getOwnPropDesc$y = Object.getOwnPropertyDescriptor;
|
|
7358
|
+
var __decorateClass$A = (decorators, target, key, kind) => {
|
|
7359
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$y(target, key) : target;
|
|
7476
7360
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7477
7361
|
if (decorator = decorators[i])
|
|
7478
7362
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7479
|
-
if (kind && result) __defProp$
|
|
7363
|
+
if (kind && result) __defProp$s(target, key, result);
|
|
7480
7364
|
return result;
|
|
7481
7365
|
};
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
|
|
7485
|
-
|
|
7486
|
-
|
|
7487
|
-
parallel = true;
|
|
7488
|
-
center = [0, 0];
|
|
7489
|
-
alpha = 1;
|
|
7490
|
-
apply(renderer, source) {
|
|
7491
|
-
const radians = this.angle * (Math.PI / 180);
|
|
7492
|
-
const light = this.parallel ? [Math.cos(radians), Math.sin(radians)] : this.center;
|
|
7493
|
-
source.redraw(renderer, () => {
|
|
7494
|
-
QuadUvGeometry.draw(renderer, exports.GodrayEffect.material, {
|
|
7495
|
-
sampler: 0,
|
|
7496
|
-
inputSize: [source.width, source.height, 0, 0],
|
|
7497
|
-
gain: this.gain,
|
|
7498
|
-
lacunarity: this.lacunarity,
|
|
7499
|
-
parallel: this.parallel,
|
|
7500
|
-
alpha: this.alpha,
|
|
7501
|
-
light,
|
|
7502
|
-
aspect: source.height / source.width
|
|
7503
|
-
});
|
|
7504
|
-
});
|
|
7505
|
-
}
|
|
7506
|
-
};
|
|
7507
|
-
__publicField$9(exports.GodrayEffect, "material", new Material({
|
|
7508
|
-
vert: `precision mediump float;
|
|
7509
|
-
attribute vec2 position;
|
|
7510
|
-
attribute vec2 uv;
|
|
7511
|
-
varying vec2 vUv;
|
|
7512
|
-
void main() {
|
|
7513
|
-
gl_Position = vec4(position, 0.0, 1.0);
|
|
7514
|
-
vUv = uv;
|
|
7515
|
-
}`,
|
|
7516
|
-
frag: `varying vec2 vUv;
|
|
7517
|
-
uniform sampler2D sampler;
|
|
7518
|
-
uniform vec4 inputSize;
|
|
7519
|
-
uniform vec2 light;
|
|
7520
|
-
uniform bool parallel;
|
|
7521
|
-
uniform float aspect;
|
|
7522
|
-
uniform float gain;
|
|
7523
|
-
uniform float lacunarity;
|
|
7524
|
-
uniform float uTime;
|
|
7525
|
-
uniform float alpha;
|
|
7526
|
-
|
|
7527
|
-
vec3 mod289(vec3 x) {
|
|
7528
|
-
return x - floor(x * (1.0 / 289.0)) * 289.0;
|
|
7529
|
-
}
|
|
7530
|
-
|
|
7531
|
-
vec4 mod289(vec4 x) {
|
|
7532
|
-
return x - floor(x * (1.0 / 289.0)) * 289.0;
|
|
7533
|
-
}
|
|
7534
|
-
|
|
7535
|
-
vec4 permute(vec4 x) {
|
|
7536
|
-
return mod289(((x * 34.0) + 1.0) * x);
|
|
7537
|
-
}
|
|
7538
|
-
|
|
7539
|
-
vec4 taylorInvSqrt(vec4 r) {
|
|
7540
|
-
return 1.79284291400159 - 0.85373472095314 * r;
|
|
7541
|
-
}
|
|
7542
|
-
|
|
7543
|
-
vec3 fade(vec3 t) {
|
|
7544
|
-
return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);
|
|
7545
|
-
}
|
|
7546
|
-
|
|
7547
|
-
float pnoise(vec3 P, vec3 rep) {
|
|
7548
|
-
vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period
|
|
7549
|
-
vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period
|
|
7550
|
-
Pi0 = mod289(Pi0);
|
|
7551
|
-
Pi1 = mod289(Pi1);
|
|
7552
|
-
vec3 Pf0 = fract(P); // Fractional part for interpolation
|
|
7553
|
-
vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
|
|
7554
|
-
vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
|
|
7555
|
-
vec4 iy = vec4(Pi0.yy, Pi1.yy);
|
|
7556
|
-
vec4 iz0 = Pi0.zzzz;
|
|
7557
|
-
vec4 iz1 = Pi1.zzzz;
|
|
7558
|
-
vec4 ixy = permute(permute(ix) + iy);
|
|
7559
|
-
vec4 ixy0 = permute(ixy + iz0);
|
|
7560
|
-
vec4 ixy1 = permute(ixy + iz1);
|
|
7561
|
-
vec4 gx0 = ixy0 * (1.0 / 7.0);
|
|
7562
|
-
vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;
|
|
7563
|
-
gx0 = fract(gx0);
|
|
7564
|
-
vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
|
|
7565
|
-
vec4 sz0 = step(gz0, vec4(0.0));
|
|
7566
|
-
gx0 -= sz0 * (step(0.0, gx0) - 0.5);
|
|
7567
|
-
gy0 -= sz0 * (step(0.0, gy0) - 0.5);
|
|
7568
|
-
vec4 gx1 = ixy1 * (1.0 / 7.0);
|
|
7569
|
-
vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;
|
|
7570
|
-
gx1 = fract(gx1);
|
|
7571
|
-
vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
|
|
7572
|
-
vec4 sz1 = step(gz1, vec4(0.0));
|
|
7573
|
-
gx1 -= sz1 * (step(0.0, gx1) - 0.5);
|
|
7574
|
-
gy1 -= sz1 * (step(0.0, gy1) - 0.5);
|
|
7575
|
-
vec3 g000 = vec3(gx0.x, gy0.x, gz0.x);
|
|
7576
|
-
vec3 g100 = vec3(gx0.y, gy0.y, gz0.y);
|
|
7577
|
-
vec3 g010 = vec3(gx0.z, gy0.z, gz0.z);
|
|
7578
|
-
vec3 g110 = vec3(gx0.w, gy0.w, gz0.w);
|
|
7579
|
-
vec3 g001 = vec3(gx1.x, gy1.x, gz1.x);
|
|
7580
|
-
vec3 g101 = vec3(gx1.y, gy1.y, gz1.y);
|
|
7581
|
-
vec3 g011 = vec3(gx1.z, gy1.z, gz1.z);
|
|
7582
|
-
vec3 g111 = vec3(gx1.w, gy1.w, gz1.w);
|
|
7583
|
-
vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
|
|
7584
|
-
g000 *= norm0.x;
|
|
7585
|
-
g010 *= norm0.y;
|
|
7586
|
-
g100 *= norm0.z;
|
|
7587
|
-
g110 *= norm0.w;
|
|
7588
|
-
vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
|
|
7589
|
-
g001 *= norm1.x;
|
|
7590
|
-
g011 *= norm1.y;
|
|
7591
|
-
g101 *= norm1.z;
|
|
7592
|
-
g111 *= norm1.w;
|
|
7593
|
-
float n000 = dot(g000, Pf0);
|
|
7594
|
-
float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
|
|
7595
|
-
float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
|
|
7596
|
-
float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
|
|
7597
|
-
float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
|
|
7598
|
-
float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
|
|
7599
|
-
float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
|
|
7600
|
-
float n111 = dot(g111, Pf1);
|
|
7601
|
-
vec3 fade_xyz = fade(Pf0);
|
|
7602
|
-
vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
|
|
7603
|
-
vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
|
|
7604
|
-
float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);
|
|
7605
|
-
return 2.2 * n_xyz;
|
|
7606
|
-
}
|
|
7607
|
-
float turb(vec3 P, vec3 rep, float lacunarity, float gain) {
|
|
7608
|
-
float sum = 0.0;
|
|
7609
|
-
float sc = 1.0;
|
|
7610
|
-
float totalgain = 1.0;
|
|
7611
|
-
for (float i = 0.0; i < 6.0; i++)
|
|
7612
|
-
{
|
|
7613
|
-
sum += totalgain * pnoise(P * sc, rep);
|
|
7614
|
-
sc *= lacunarity;
|
|
7615
|
-
totalgain *= gain;
|
|
7366
|
+
exports.CanvasItem = class CanvasItem extends exports.TimelineNode {
|
|
7367
|
+
_parentGlobalVisible;
|
|
7368
|
+
_globalVisible;
|
|
7369
|
+
get globalVisible() {
|
|
7370
|
+
return this._globalVisible ?? true;
|
|
7616
7371
|
}
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
vec4 color = texture2D(sampler, vUv);
|
|
7622
|
-
vec2 coord = vUv;
|
|
7623
|
-
float d;
|
|
7624
|
-
if (parallel) {
|
|
7625
|
-
d = (light.x * coord.x) + (light.y * coord.y * aspect);
|
|
7626
|
-
} else {
|
|
7627
|
-
float dx = coord.x - light.x / inputSize.x;
|
|
7628
|
-
float dy = (coord.y - light.y / inputSize.y) * aspect;
|
|
7629
|
-
float dis = sqrt(dx * dx + dy * dy) + 0.00001;
|
|
7630
|
-
d = dy / dis;
|
|
7372
|
+
_parentGlobalOpacity;
|
|
7373
|
+
_globalOpacity;
|
|
7374
|
+
get globalOpacity() {
|
|
7375
|
+
return this._globalOpacity ?? 1;
|
|
7631
7376
|
}
|
|
7632
|
-
|
|
7633
|
-
|
|
7634
|
-
|
|
7635
|
-
|
|
7636
|
-
|
|
7637
|
-
|
|
7638
|
-
|
|
7639
|
-
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
__decorateClass$w([
|
|
7645
|
-
property()
|
|
7646
|
-
], exports.GodrayEffect.prototype, "gain", 2);
|
|
7647
|
-
__decorateClass$w([
|
|
7648
|
-
property()
|
|
7649
|
-
], exports.GodrayEffect.prototype, "lacunarity", 2);
|
|
7650
|
-
__decorateClass$w([
|
|
7651
|
-
property()
|
|
7652
|
-
], exports.GodrayEffect.prototype, "parallel", 2);
|
|
7653
|
-
__decorateClass$w([
|
|
7654
|
-
property()
|
|
7655
|
-
], exports.GodrayEffect.prototype, "center", 2);
|
|
7656
|
-
__decorateClass$w([
|
|
7657
|
-
property()
|
|
7658
|
-
], exports.GodrayEffect.prototype, "alpha", 2);
|
|
7659
|
-
exports.GodrayEffect = __decorateClass$w([
|
|
7660
|
-
customNode("GodrayEffect")
|
|
7661
|
-
], exports.GodrayEffect);
|
|
7662
|
-
|
|
7663
|
-
var __defProp$n = Object.defineProperty;
|
|
7664
|
-
var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
|
|
7665
|
-
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7666
|
-
var __decorateClass$v = (decorators, target, key, kind) => {
|
|
7667
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
|
|
7668
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7669
|
-
if (decorator = decorators[i])
|
|
7670
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7671
|
-
if (kind && result) __defProp$n(target, key, result);
|
|
7672
|
-
return result;
|
|
7673
|
-
};
|
|
7674
|
-
var __publicField$8 = (obj, key, value) => __defNormalProp$8(obj, key + "" , value);
|
|
7675
|
-
exports.MaskEffect = class MaskEffect extends exports.Effect {
|
|
7676
|
-
texture;
|
|
7677
|
-
constructor(properties, children = []) {
|
|
7377
|
+
_modulate = new Color(4294967295);
|
|
7378
|
+
_backgroundImage;
|
|
7379
|
+
// Batch render
|
|
7380
|
+
context = new CanvasContext();
|
|
7381
|
+
_resetContext = true;
|
|
7382
|
+
_redrawing = false;
|
|
7383
|
+
_relayouting = false;
|
|
7384
|
+
_repainting = false;
|
|
7385
|
+
_originalBatchables = [];
|
|
7386
|
+
_layoutedBatchables = [];
|
|
7387
|
+
_batchables = [];
|
|
7388
|
+
constructor(properties, nodes = []) {
|
|
7678
7389
|
super();
|
|
7679
|
-
this.setProperties(properties).append(
|
|
7680
|
-
}
|
|
7681
|
-
async load() {
|
|
7682
|
-
this.texture = void 0;
|
|
7683
|
-
if (this.src) {
|
|
7684
|
-
this.texture = await assets.texture.load(this.src);
|
|
7685
|
-
}
|
|
7390
|
+
this.setProperties(properties).append(nodes);
|
|
7686
7391
|
}
|
|
7687
7392
|
_updateProperty(key, value, oldValue, declaration) {
|
|
7688
7393
|
super._updateProperty(key, value, oldValue, declaration);
|
|
7689
7394
|
switch (key) {
|
|
7690
|
-
case "
|
|
7691
|
-
this.
|
|
7395
|
+
case "modulate":
|
|
7396
|
+
this._modulate.value = value;
|
|
7397
|
+
this.requestRepaint();
|
|
7692
7398
|
break;
|
|
7693
|
-
case "
|
|
7694
|
-
|
|
7399
|
+
case "blendMode":
|
|
7400
|
+
this.requestRepaint();
|
|
7401
|
+
break;
|
|
7402
|
+
case "opacity":
|
|
7403
|
+
this._updateGlobalOpacity();
|
|
7404
|
+
break;
|
|
7405
|
+
case "visible":
|
|
7406
|
+
case "insideTimeRange":
|
|
7407
|
+
this._updateGlobalVisible();
|
|
7695
7408
|
break;
|
|
7696
7409
|
}
|
|
7697
7410
|
}
|
|
7698
|
-
|
|
7699
|
-
|
|
7700
|
-
|
|
7701
|
-
|
|
7702
|
-
|
|
7703
|
-
|
|
7704
|
-
|
|
7705
|
-
|
|
7706
|
-
|
|
7707
|
-
|
|
7708
|
-
|
|
7709
|
-
|
|
7411
|
+
show() {
|
|
7412
|
+
this.visible = true;
|
|
7413
|
+
}
|
|
7414
|
+
hide() {
|
|
7415
|
+
this.visible = false;
|
|
7416
|
+
}
|
|
7417
|
+
isVisibleInTree() {
|
|
7418
|
+
return this.globalOpacity > 0 && this.globalVisible;
|
|
7419
|
+
}
|
|
7420
|
+
canRender() {
|
|
7421
|
+
return super.canRender() && this.isVisibleInTree();
|
|
7422
|
+
}
|
|
7423
|
+
requestRedraw() {
|
|
7424
|
+
this._redrawing = true;
|
|
7425
|
+
this.requestUpdate();
|
|
7426
|
+
}
|
|
7427
|
+
requestRelayout() {
|
|
7428
|
+
this._relayouting = true;
|
|
7429
|
+
this.requestUpdate();
|
|
7430
|
+
}
|
|
7431
|
+
requestRepaint() {
|
|
7432
|
+
this._repainting = true;
|
|
7433
|
+
this.requestUpdate();
|
|
7434
|
+
}
|
|
7435
|
+
_updateGlobalVisible() {
|
|
7436
|
+
this._parentGlobalVisible = this.getParent()?.globalVisible;
|
|
7437
|
+
this._globalVisible = (this._parentGlobalVisible ?? true) && this.visible && this.insideTimeRange;
|
|
7438
|
+
}
|
|
7439
|
+
_updateGlobalOpacity() {
|
|
7440
|
+
this._parentGlobalOpacity = this.getParent()?.opacity;
|
|
7441
|
+
const globalOpacity = clamp(0, this.opacity, 1) * (this._parentGlobalOpacity ?? 1);
|
|
7442
|
+
if (this._globalOpacity !== globalOpacity) {
|
|
7443
|
+
this._globalOpacity = globalOpacity;
|
|
7444
|
+
this.requestRepaint();
|
|
7710
7445
|
}
|
|
7711
7446
|
}
|
|
7712
|
-
|
|
7713
|
-
|
|
7714
|
-
vert: `precision mediump float;
|
|
7715
|
-
attribute vec2 position;
|
|
7716
|
-
attribute vec2 uv;
|
|
7717
|
-
varying vec2 vUv;
|
|
7718
|
-
void main() {
|
|
7719
|
-
gl_Position = vec4(position, 0.0, 1.0);
|
|
7720
|
-
vUv = uv;
|
|
7721
|
-
}`,
|
|
7722
|
-
frag: `varying vec2 vUv;
|
|
7723
|
-
uniform sampler2D sampler;
|
|
7724
|
-
uniform sampler2D mask;
|
|
7725
|
-
uniform float area[4];
|
|
7726
|
-
uniform float rotation;
|
|
7727
|
-
|
|
7728
|
-
vec2 rotateUV(vec2 uv, float angle) {
|
|
7729
|
-
uv -= 0.5;
|
|
7730
|
-
float cosAngle = cos(angle);
|
|
7731
|
-
float sinAngle = sin(angle);
|
|
7732
|
-
mat2 rotationMatrix = mat2(
|
|
7733
|
-
cosAngle, -sinAngle,
|
|
7734
|
-
sinAngle, cosAngle
|
|
7735
|
-
);
|
|
7736
|
-
uv = rotationMatrix * uv;
|
|
7737
|
-
uv += 0.5;
|
|
7738
|
-
return uv;
|
|
7739
|
-
}
|
|
7740
|
-
|
|
7741
|
-
void main(void) {
|
|
7742
|
-
if (
|
|
7743
|
-
vUv.x > area[0]
|
|
7744
|
-
&& vUv.x < (area[0] + area[2])
|
|
7745
|
-
&& (1.0 - vUv.y) > area[1]
|
|
7746
|
-
&& (1.0 - vUv.y) < (area[1] + area[3])
|
|
7747
|
-
) {
|
|
7748
|
-
vec4 color = texture2D(sampler, vUv);
|
|
7749
|
-
vec2 uv = vec2(
|
|
7750
|
-
(vUv.x - area[0]) / area[2],
|
|
7751
|
-
((1.0 - vUv.y) - area[1]) / area[3]
|
|
7752
|
-
);
|
|
7753
|
-
vec4 maskColor = texture2D(mask, rotateUV(uv, rotation));
|
|
7754
|
-
gl_FragColor = mix(vec4(0.), color, maskColor.a);
|
|
7755
|
-
} else {
|
|
7756
|
-
gl_FragColor = vec4(0.);
|
|
7447
|
+
_draw() {
|
|
7448
|
+
this.emit("draw");
|
|
7757
7449
|
}
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
], exports.MaskEffect.prototype, "texture", 2);
|
|
7763
|
-
__decorateClass$v([
|
|
7764
|
-
property({ default: "" })
|
|
7765
|
-
], exports.MaskEffect.prototype, "src", 2);
|
|
7766
|
-
exports.MaskEffect = __decorateClass$v([
|
|
7767
|
-
customNode("MaskEffect")
|
|
7768
|
-
], exports.MaskEffect);
|
|
7769
|
-
|
|
7770
|
-
var __defProp$m = Object.defineProperty;
|
|
7771
|
-
var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
|
|
7772
|
-
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7773
|
-
var __decorateClass$u = (decorators, target, key, kind) => {
|
|
7774
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
|
|
7775
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7776
|
-
if (decorator = decorators[i])
|
|
7777
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7778
|
-
if (kind && result) __defProp$m(target, key, result);
|
|
7779
|
-
return result;
|
|
7780
|
-
};
|
|
7781
|
-
var __publicField$7 = (obj, key, value) => __defNormalProp$7(obj, key + "" , value);
|
|
7782
|
-
exports.PixelateEffect = class PixelateEffect extends exports.Effect {
|
|
7783
|
-
size;
|
|
7784
|
-
constructor(size = 10) {
|
|
7785
|
-
super();
|
|
7786
|
-
this.size = size;
|
|
7450
|
+
_redraw() {
|
|
7451
|
+
this._tree?.log(this.name, "redrawing");
|
|
7452
|
+
this._draw();
|
|
7453
|
+
return this.context.toBatchables();
|
|
7787
7454
|
}
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
sampler: 0,
|
|
7792
|
-
size: [this.size, this.size],
|
|
7793
|
-
filterArea: [source.width, source.height, 0, 0]
|
|
7794
|
-
});
|
|
7795
|
-
});
|
|
7455
|
+
_relayout(batchables) {
|
|
7456
|
+
this._tree?.log(this.name, "relayouting");
|
|
7457
|
+
return batchables;
|
|
7796
7458
|
}
|
|
7797
|
-
|
|
7798
|
-
|
|
7799
|
-
|
|
7459
|
+
_repaint(batchables) {
|
|
7460
|
+
this._tree?.log(this.name, "repainting");
|
|
7461
|
+
return batchables.map((batchable) => {
|
|
7462
|
+
return {
|
|
7463
|
+
...batchable,
|
|
7464
|
+
modulate: this._modulate.toArgb(this.globalOpacity, true),
|
|
7465
|
+
blendMode: this.blendMode
|
|
7466
|
+
};
|
|
7467
|
+
});
|
|
7468
|
+
}
|
|
7469
|
+
_process(delta) {
|
|
7470
|
+
super._process(delta);
|
|
7471
|
+
const parent = this.getParent();
|
|
7472
|
+
if (this._parentGlobalVisible !== parent?.globalVisible) {
|
|
7473
|
+
this.requestUpdate();
|
|
7474
|
+
}
|
|
7475
|
+
if (this._parentGlobalOpacity !== parent?.globalOpacity) {
|
|
7476
|
+
this.requestUpdate();
|
|
7477
|
+
}
|
|
7478
|
+
}
|
|
7479
|
+
_update() {
|
|
7480
|
+
const parent = this.getParent();
|
|
7481
|
+
if (this._parentGlobalVisible !== parent?.globalVisible) {
|
|
7482
|
+
this._updateGlobalVisible();
|
|
7483
|
+
}
|
|
7484
|
+
if (this._parentGlobalOpacity !== parent?.globalOpacity) {
|
|
7485
|
+
this._updateGlobalOpacity();
|
|
7486
|
+
}
|
|
7487
|
+
const redrawing = this._redrawing;
|
|
7488
|
+
let relayouting = this._relayouting;
|
|
7489
|
+
let repainting = this._repainting;
|
|
7490
|
+
let batchables;
|
|
7491
|
+
if (redrawing) {
|
|
7492
|
+
this._originalBatchables = this._redraw();
|
|
7493
|
+
relayouting = true;
|
|
7494
|
+
}
|
|
7495
|
+
if (relayouting) {
|
|
7496
|
+
this._layoutedBatchables = this._relayout(this._originalBatchables);
|
|
7497
|
+
repainting = true;
|
|
7498
|
+
}
|
|
7499
|
+
if (repainting) {
|
|
7500
|
+
batchables = this._repaint(this._layoutedBatchables);
|
|
7501
|
+
}
|
|
7502
|
+
if (redrawing) {
|
|
7503
|
+
if (this._resetContext) {
|
|
7504
|
+
this.context.reset();
|
|
7505
|
+
}
|
|
7506
|
+
}
|
|
7507
|
+
if (batchables) {
|
|
7508
|
+
this._batchables = batchables;
|
|
7509
|
+
this._redrawing = false;
|
|
7510
|
+
this._relayouting = false;
|
|
7511
|
+
this._repainting = false;
|
|
7512
|
+
}
|
|
7513
|
+
}
|
|
7514
|
+
_render(renderer) {
|
|
7515
|
+
this._batchables.forEach((batchable) => {
|
|
7516
|
+
batchable.texture?.upload(renderer);
|
|
7517
|
+
renderer.batch2D.render({
|
|
7518
|
+
...batchable,
|
|
7519
|
+
texture: batchable.texture?._glTexture(renderer)
|
|
7520
|
+
});
|
|
7521
|
+
});
|
|
7522
|
+
super._render(renderer);
|
|
7523
|
+
}
|
|
7524
|
+
};
|
|
7525
|
+
__decorateClass$A([
|
|
7526
|
+
property()
|
|
7527
|
+
], exports.CanvasItem.prototype, "modulate", 2);
|
|
7528
|
+
__decorateClass$A([
|
|
7529
|
+
property()
|
|
7530
|
+
], exports.CanvasItem.prototype, "blendMode", 2);
|
|
7531
|
+
__decorateClass$A([
|
|
7532
|
+
protectedProperty({ default: true })
|
|
7533
|
+
], exports.CanvasItem.prototype, "visible", 2);
|
|
7534
|
+
__decorateClass$A([
|
|
7535
|
+
protectedProperty({ default: 1 })
|
|
7536
|
+
], exports.CanvasItem.prototype, "opacity", 2);
|
|
7537
|
+
exports.CanvasItem = __decorateClass$A([
|
|
7538
|
+
customNode("CanvasItem")
|
|
7539
|
+
], exports.CanvasItem);
|
|
7540
|
+
|
|
7541
|
+
class RenderStack {
|
|
7542
|
+
currentCall;
|
|
7543
|
+
calls = [];
|
|
7544
|
+
createCall(renderable) {
|
|
7545
|
+
return {
|
|
7546
|
+
renderable,
|
|
7547
|
+
parentCall: this.currentCall,
|
|
7548
|
+
fn: renderable.render.bind(renderable),
|
|
7549
|
+
calls: []
|
|
7550
|
+
};
|
|
7551
|
+
}
|
|
7552
|
+
push(renderable) {
|
|
7553
|
+
const call = this.createCall(renderable);
|
|
7554
|
+
(this.currentCall?.calls ?? this.calls).push(call);
|
|
7555
|
+
return call;
|
|
7556
|
+
}
|
|
7557
|
+
render(renderer) {
|
|
7558
|
+
this.calls.forEach(function render(call) {
|
|
7559
|
+
call.fn(renderer, () => {
|
|
7560
|
+
call.calls.forEach(render);
|
|
7561
|
+
});
|
|
7562
|
+
});
|
|
7563
|
+
this.calls = [];
|
|
7564
|
+
}
|
|
7565
|
+
}
|
|
7566
|
+
|
|
7567
|
+
var __defProp$r = Object.defineProperty;
|
|
7568
|
+
var __getOwnPropDesc$x = Object.getOwnPropertyDescriptor;
|
|
7569
|
+
var __decorateClass$z = (decorators, target, key, kind) => {
|
|
7570
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$x(target, key) : target;
|
|
7571
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7572
|
+
if (decorator = decorators[i])
|
|
7573
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7574
|
+
if (kind && result) __defProp$r(target, key, result);
|
|
7575
|
+
return result;
|
|
7576
|
+
};
|
|
7577
|
+
exports.Timeline = class Timeline extends exports.Node {
|
|
7578
|
+
static from(range, loop = false) {
|
|
7579
|
+
const [startTime, endTime] = range ? Array.isArray(range) ? range : [0, range] : [];
|
|
7580
|
+
return new exports.Timeline({
|
|
7581
|
+
startTime,
|
|
7582
|
+
endTime,
|
|
7583
|
+
loop
|
|
7584
|
+
});
|
|
7585
|
+
}
|
|
7586
|
+
constructor(properties) {
|
|
7587
|
+
super();
|
|
7588
|
+
this.setProperties(properties);
|
|
7589
|
+
}
|
|
7590
|
+
_updateProperty(key, value, oldValue) {
|
|
7591
|
+
super._updateProperty(key, value, oldValue);
|
|
7592
|
+
switch (key) {
|
|
7593
|
+
case "startTime":
|
|
7594
|
+
this.startTime = Math.min(value, this.endTime);
|
|
7595
|
+
break;
|
|
7596
|
+
case "endTime":
|
|
7597
|
+
this.endTime = value || Number.MAX_SAFE_INTEGER;
|
|
7598
|
+
break;
|
|
7599
|
+
}
|
|
7600
|
+
}
|
|
7601
|
+
addTime(delta) {
|
|
7602
|
+
const start = this.startTime;
|
|
7603
|
+
const end = this.endTime;
|
|
7604
|
+
let current = this.currentTime;
|
|
7605
|
+
current = current + delta;
|
|
7606
|
+
if (this.loop && current > end) {
|
|
7607
|
+
current = start + current % end;
|
|
7608
|
+
}
|
|
7609
|
+
current = clamp(start, current, end);
|
|
7610
|
+
this.currentTime = current;
|
|
7611
|
+
this.emit("updateCurrentTime", current, delta);
|
|
7612
|
+
return this;
|
|
7613
|
+
}
|
|
7614
|
+
_process(delta) {
|
|
7615
|
+
super._process(delta);
|
|
7616
|
+
this.addTime(delta);
|
|
7617
|
+
}
|
|
7618
|
+
};
|
|
7619
|
+
__decorateClass$z([
|
|
7620
|
+
property({ default: 0 })
|
|
7621
|
+
], exports.Timeline.prototype, "startTime", 2);
|
|
7622
|
+
__decorateClass$z([
|
|
7623
|
+
property({ default: 0 })
|
|
7624
|
+
], exports.Timeline.prototype, "currentTime", 2);
|
|
7625
|
+
__decorateClass$z([
|
|
7626
|
+
property({ default: Number.MAX_SAFE_INTEGER })
|
|
7627
|
+
], exports.Timeline.prototype, "endTime", 2);
|
|
7628
|
+
__decorateClass$z([
|
|
7629
|
+
property({ default: false })
|
|
7630
|
+
], exports.Timeline.prototype, "loop", 2);
|
|
7631
|
+
exports.Timeline = __decorateClass$z([
|
|
7632
|
+
customNode("Timeline")
|
|
7633
|
+
], exports.Timeline);
|
|
7634
|
+
|
|
7635
|
+
var __defProp$q = Object.defineProperty;
|
|
7636
|
+
var __decorateClass$y = (decorators, target, key, kind) => {
|
|
7637
|
+
var result = void 0 ;
|
|
7638
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7639
|
+
if (decorator = decorators[i])
|
|
7640
|
+
result = (decorator(target, key, result) ) || result;
|
|
7641
|
+
if (result) __defProp$q(target, key, result);
|
|
7642
|
+
return result;
|
|
7643
|
+
};
|
|
7644
|
+
class SceneTree extends MainLoop {
|
|
7645
|
+
input = new Input();
|
|
7646
|
+
renderStack = new RenderStack();
|
|
7647
|
+
root = new exports.Viewport(true).setTree(this);
|
|
7648
|
+
timeline;
|
|
7649
|
+
_backgroundColor = new Color();
|
|
7650
|
+
_currentViewport;
|
|
7651
|
+
getCurrentViewport() {
|
|
7652
|
+
return this._currentViewport;
|
|
7653
|
+
}
|
|
7654
|
+
setCurrentViewport(viewport) {
|
|
7655
|
+
this._currentViewport = viewport;
|
|
7656
|
+
}
|
|
7657
|
+
constructor(timeline = new exports.Timeline()) {
|
|
7658
|
+
super();
|
|
7659
|
+
this.timeline = timeline.setTree(this);
|
|
7660
|
+
}
|
|
7661
|
+
_updateProperty(key, value, oldValue, declaration) {
|
|
7662
|
+
super._updateProperty(key, value, oldValue, declaration);
|
|
7663
|
+
switch (key) {
|
|
7664
|
+
case "backgroundColor":
|
|
7665
|
+
this._backgroundColor.value = value;
|
|
7666
|
+
break;
|
|
7667
|
+
}
|
|
7668
|
+
}
|
|
7669
|
+
log(...args) {
|
|
7670
|
+
if (this.debug) {
|
|
7671
|
+
console.log(`[modern-canvas]`, ...args);
|
|
7672
|
+
}
|
|
7673
|
+
}
|
|
7674
|
+
_process(delta = 0) {
|
|
7675
|
+
this.timeline.emit("process", delta);
|
|
7676
|
+
this.emit("processing");
|
|
7677
|
+
this.root.emit("process", delta);
|
|
7678
|
+
this.emit("processed");
|
|
7679
|
+
}
|
|
7680
|
+
_render(renderer) {
|
|
7681
|
+
this.emit("rendering");
|
|
7682
|
+
renderer.program.uniforms.projectionMatrix = this.root.toProjectionArray(true);
|
|
7683
|
+
this.renderStack.render(renderer);
|
|
7684
|
+
this._renderScreen(renderer);
|
|
7685
|
+
this.emit("rendered");
|
|
7686
|
+
}
|
|
7687
|
+
_renderScreen(renderer) {
|
|
7688
|
+
renderer.state.reset();
|
|
7689
|
+
renderer.framebuffer.bind(null);
|
|
7690
|
+
renderer.viewport.bind({
|
|
7691
|
+
x: 0,
|
|
7692
|
+
y: 0,
|
|
7693
|
+
width: this.root.width * renderer.pixelRatio,
|
|
7694
|
+
height: this.root.height * renderer.pixelRatio
|
|
7695
|
+
});
|
|
7696
|
+
if (this.backgroundColor) {
|
|
7697
|
+
renderer.gl.clearColor(...this._backgroundColor.toArray());
|
|
7698
|
+
}
|
|
7699
|
+
renderer.clear();
|
|
7700
|
+
if (this.backgroundColor) {
|
|
7701
|
+
renderer.gl.clearColor(0, 0, 0, 0);
|
|
7702
|
+
}
|
|
7703
|
+
const texture = this.root.texture;
|
|
7704
|
+
texture.activate(renderer, 0);
|
|
7705
|
+
QuadUvGeometry.draw(renderer);
|
|
7706
|
+
renderer.texture.unbind(texture);
|
|
7707
|
+
}
|
|
7708
|
+
free() {
|
|
7709
|
+
super.free();
|
|
7710
|
+
this.root.getChildren(true).forEach((node) => this.root.removeChild(node));
|
|
7711
|
+
this.input.removeEventListeners();
|
|
7712
|
+
}
|
|
7713
|
+
}
|
|
7714
|
+
__decorateClass$y([
|
|
7715
|
+
property({ default: false })
|
|
7716
|
+
], SceneTree.prototype, "processPaused");
|
|
7717
|
+
__decorateClass$y([
|
|
7718
|
+
property()
|
|
7719
|
+
], SceneTree.prototype, "backgroundColor");
|
|
7720
|
+
__decorateClass$y([
|
|
7721
|
+
protectedProperty({ default: false })
|
|
7722
|
+
], SceneTree.prototype, "debug");
|
|
7723
|
+
|
|
7724
|
+
var __getOwnPropDesc$w = Object.getOwnPropertyDescriptor;
|
|
7725
|
+
var __decorateClass$x = (decorators, target, key, kind) => {
|
|
7726
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$w(target, key) : target;
|
|
7727
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7728
|
+
if (decorator = decorators[i])
|
|
7729
|
+
result = (decorator(result)) || result;
|
|
7730
|
+
return result;
|
|
7731
|
+
};
|
|
7732
|
+
exports.Transition = class Transition extends exports.Effect {
|
|
7733
|
+
constructor(properties, children = []) {
|
|
7734
|
+
super();
|
|
7735
|
+
this.setProperties(properties).append(children);
|
|
7736
|
+
}
|
|
7737
|
+
};
|
|
7738
|
+
exports.Transition = __decorateClass$x([
|
|
7739
|
+
customNode("Transition", {
|
|
7740
|
+
effectMode: "transition",
|
|
7741
|
+
processMode: "pausable",
|
|
7742
|
+
duration: 2e3
|
|
7743
|
+
})
|
|
7744
|
+
], exports.Transition);
|
|
7745
|
+
|
|
7746
|
+
var __defProp$p = Object.defineProperty;
|
|
7747
|
+
var __getOwnPropDesc$v = Object.getOwnPropertyDescriptor;
|
|
7748
|
+
var __decorateClass$w = (decorators, target, key, kind) => {
|
|
7749
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$v(target, key) : target;
|
|
7750
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7751
|
+
if (decorator = decorators[i])
|
|
7752
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7753
|
+
if (kind && result) __defProp$p(target, key, result);
|
|
7754
|
+
return result;
|
|
7755
|
+
};
|
|
7756
|
+
const frag$1 = `varying vec2 vUv;
|
|
7757
|
+
uniform sampler2D sampler;
|
|
7758
|
+
uniform vec2 uOffset;
|
|
7759
|
+
|
|
7760
|
+
void main(void) {
|
|
7761
|
+
vec4 color = vec4(0.0);
|
|
7762
|
+
color += texture2D(sampler, vec2(vUv.x - uOffset.x, vUv.y + uOffset.y));
|
|
7763
|
+
color += texture2D(sampler, vec2(vUv.x + uOffset.x, vUv.y + uOffset.y));
|
|
7764
|
+
color += texture2D(sampler, vec2(vUv.x + uOffset.x, vUv.y - uOffset.y));
|
|
7765
|
+
color += texture2D(sampler, vec2(vUv.x - uOffset.x, vUv.y - uOffset.y));
|
|
7766
|
+
color *= 0.25;
|
|
7767
|
+
gl_FragColor = color;
|
|
7768
|
+
}`;
|
|
7769
|
+
const clampFrag = `precision highp float;
|
|
7770
|
+
varying vec2 vUv;
|
|
7771
|
+
uniform sampler2D sampler;
|
|
7772
|
+
uniform vec2 uOffset;
|
|
7773
|
+
uniform vec4 uInputClamp;
|
|
7774
|
+
void main(void) {
|
|
7775
|
+
vec4 color = vec4(0.0);
|
|
7776
|
+
color += texture2D(sampler, clamp(vec2(vUv.x - uOffset.x, vUv.y + uOffset.y), uInputClamp.xy, uInputClamp.zw));
|
|
7777
|
+
color += texture2D(sampler, clamp(vec2(vUv.x + uOffset.x, vUv.y + uOffset.y), uInputClamp.xy, uInputClamp.zw));
|
|
7778
|
+
color += texture2D(sampler, clamp(vec2(vUv.x + uOffset.x, vUv.y - uOffset.y), uInputClamp.xy, uInputClamp.zw));
|
|
7779
|
+
color += texture2D(sampler, clamp(vec2(vUv.x - uOffset.x, vUv.y - uOffset.y), uInputClamp.xy, uInputClamp.zw));
|
|
7780
|
+
color *= 0.25;
|
|
7781
|
+
gl_FragColor = color;
|
|
7782
|
+
}`;
|
|
7783
|
+
exports.KawaseBlurEffect = class KawaseBlurEffect extends exports.Effect {
|
|
7784
|
+
material;
|
|
7785
|
+
_kernels = [0];
|
|
7786
|
+
constructor(properties, children = []) {
|
|
7787
|
+
super();
|
|
7788
|
+
this.material = new Material({
|
|
7789
|
+
vert: `precision mediump float;
|
|
7790
|
+
attribute vec2 position;
|
|
7791
|
+
attribute vec2 uv;
|
|
7792
|
+
varying vec2 vUv;
|
|
7793
|
+
void main() {
|
|
7794
|
+
gl_Position = vec4(position, 0.0, 1.0);
|
|
7795
|
+
vUv = uv;
|
|
7796
|
+
}`,
|
|
7797
|
+
frag: properties?.clamp ? clampFrag : frag$1
|
|
7798
|
+
});
|
|
7799
|
+
this.setProperties(properties).append(children);
|
|
7800
|
+
this._generateKernels();
|
|
7801
|
+
}
|
|
7802
|
+
_updateProperty(key, value, oldValue, declaration) {
|
|
7803
|
+
super._updateProperty(key, value, oldValue, declaration);
|
|
7804
|
+
switch (key) {
|
|
7805
|
+
case "quality":
|
|
7806
|
+
case "strength":
|
|
7807
|
+
this._generateKernels();
|
|
7808
|
+
break;
|
|
7809
|
+
}
|
|
7810
|
+
}
|
|
7811
|
+
/** Auto generate kernels by blur & quality */
|
|
7812
|
+
_generateKernels() {
|
|
7813
|
+
const blur = Math.max(1, Math.round(this.strength));
|
|
7814
|
+
const quality = Math.max(1, Math.round(this.quality));
|
|
7815
|
+
const kernels = [blur];
|
|
7816
|
+
if (blur > 0) {
|
|
7817
|
+
let k = blur;
|
|
7818
|
+
const step = blur / quality;
|
|
7819
|
+
for (let i = 1; i < quality; i++) {
|
|
7820
|
+
k -= step;
|
|
7821
|
+
kernels.push(k);
|
|
7822
|
+
}
|
|
7823
|
+
}
|
|
7824
|
+
this._kernels = kernels;
|
|
7825
|
+
}
|
|
7826
|
+
apply(renderer, source) {
|
|
7827
|
+
const uvX = this.pixelSize[0] / source.width;
|
|
7828
|
+
const uvY = this.pixelSize[1] / source.height;
|
|
7829
|
+
let offset;
|
|
7830
|
+
if (this.quality === 1 || this.strength === 0) {
|
|
7831
|
+
offset = this._kernels[0] + 0.5;
|
|
7832
|
+
source.redraw(renderer, () => {
|
|
7833
|
+
QuadUvGeometry.draw(renderer, this.material, {
|
|
7834
|
+
sampler: 0,
|
|
7835
|
+
uOffset: [
|
|
7836
|
+
offset * uvX,
|
|
7837
|
+
offset * uvY
|
|
7838
|
+
],
|
|
7839
|
+
uInputClamp: [0, 0, 1, 1]
|
|
7840
|
+
});
|
|
7841
|
+
});
|
|
7842
|
+
} else {
|
|
7843
|
+
const last = this.quality - 1;
|
|
7844
|
+
for (let i = 0; i < last; i++) {
|
|
7845
|
+
offset = this._kernels[i] + 0.5;
|
|
7846
|
+
source.redraw(renderer, () => {
|
|
7847
|
+
QuadUvGeometry.draw(renderer, this.material, {
|
|
7848
|
+
sampler: 0,
|
|
7849
|
+
uOffset: [
|
|
7850
|
+
offset * uvX,
|
|
7851
|
+
offset * uvY
|
|
7852
|
+
],
|
|
7853
|
+
uInputClamp: [0, 0, 1, 1]
|
|
7854
|
+
});
|
|
7855
|
+
});
|
|
7856
|
+
}
|
|
7857
|
+
offset = this._kernels[last] + 0.5;
|
|
7858
|
+
QuadUvGeometry.draw(renderer, this.material, {
|
|
7859
|
+
sampler: 0,
|
|
7860
|
+
uOffset: [
|
|
7861
|
+
offset * uvX,
|
|
7862
|
+
offset * uvY
|
|
7863
|
+
],
|
|
7864
|
+
uInputClamp: [0, 0, 1, 1]
|
|
7865
|
+
});
|
|
7866
|
+
}
|
|
7867
|
+
}
|
|
7868
|
+
};
|
|
7869
|
+
__decorateClass$w([
|
|
7870
|
+
property({ default: 4 })
|
|
7871
|
+
], exports.KawaseBlurEffect.prototype, "strength", 2);
|
|
7872
|
+
__decorateClass$w([
|
|
7873
|
+
property({ default: 3 })
|
|
7874
|
+
], exports.KawaseBlurEffect.prototype, "quality", 2);
|
|
7875
|
+
__decorateClass$w([
|
|
7876
|
+
property({ default: [1, 1] })
|
|
7877
|
+
], exports.KawaseBlurEffect.prototype, "pixelSize", 2);
|
|
7878
|
+
exports.KawaseBlurEffect = __decorateClass$w([
|
|
7879
|
+
customNode("KawaseBlurEffect")
|
|
7880
|
+
], exports.KawaseBlurEffect);
|
|
7881
|
+
|
|
7882
|
+
var __defProp$o = Object.defineProperty;
|
|
7883
|
+
var __getOwnPropDesc$u = Object.getOwnPropertyDescriptor;
|
|
7884
|
+
var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7885
|
+
var __decorateClass$v = (decorators, target, key, kind) => {
|
|
7886
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$u(target, key) : target;
|
|
7887
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7888
|
+
if (decorator = decorators[i])
|
|
7889
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7890
|
+
if (kind && result) __defProp$o(target, key, result);
|
|
7891
|
+
return result;
|
|
7892
|
+
};
|
|
7893
|
+
var __publicField$c = (obj, key, value) => __defNormalProp$c(obj, key + "" , value);
|
|
7894
|
+
exports.DropShadowEffect = class DropShadowEffect extends exports.Effect {
|
|
7895
|
+
kawaseBlurEffect = new exports.KawaseBlurEffect();
|
|
7896
|
+
viewport3 = new exports.Viewport();
|
|
7897
|
+
_color = new Color();
|
|
7898
|
+
constructor(properties, children = []) {
|
|
7899
|
+
super();
|
|
7900
|
+
this.setProperties(properties).append(children);
|
|
7901
|
+
}
|
|
7902
|
+
apply(renderer, source) {
|
|
7903
|
+
this.viewport3.activateWithCopy(renderer, source);
|
|
7904
|
+
this.viewport3.redraw(renderer, () => {
|
|
7905
|
+
this._color.value = this.color;
|
|
7906
|
+
QuadUvGeometry.draw(renderer, exports.DropShadowEffect.material, {
|
|
7907
|
+
sampler: 0,
|
|
7908
|
+
uAlpha: this.alpha,
|
|
7909
|
+
uColor: this._color.toArray().slice(0, 3),
|
|
7910
|
+
uOffset: [-this.offset[0], this.offset[1]],
|
|
7911
|
+
uInputSize: [source.width, source.height, 1 / source.width, 1 / source.height]
|
|
7912
|
+
});
|
|
7913
|
+
});
|
|
7914
|
+
this.kawaseBlurEffect.strength = this.blur;
|
|
7915
|
+
this.kawaseBlurEffect.quality = this.quality;
|
|
7916
|
+
this.kawaseBlurEffect.pixelSize = this.pixelSize;
|
|
7917
|
+
this.kawaseBlurEffect.apply(renderer, this.viewport3);
|
|
7918
|
+
source.redraw(renderer, () => {
|
|
7919
|
+
this.viewport3.texture.activate(renderer, 1);
|
|
7920
|
+
QuadUvGeometry.draw(renderer, UvMaterial.instance, {
|
|
7921
|
+
sampler: 1
|
|
7922
|
+
});
|
|
7923
|
+
if (!this.shadowOnly) {
|
|
7924
|
+
QuadUvGeometry.draw(renderer, UvMaterial.instance, {
|
|
7925
|
+
sampler: 0
|
|
7926
|
+
});
|
|
7927
|
+
}
|
|
7928
|
+
renderer.texture.unbind(1);
|
|
7929
|
+
});
|
|
7930
|
+
}
|
|
7931
|
+
};
|
|
7932
|
+
__publicField$c(exports.DropShadowEffect, "material", new Material({
|
|
7933
|
+
vert: `precision mediump float;
|
|
7800
7934
|
attribute vec2 position;
|
|
7801
7935
|
attribute vec2 uv;
|
|
7802
7936
|
varying vec2 vUv;
|
|
@@ -7804,593 +7938,751 @@ void main() {
|
|
|
7804
7938
|
gl_Position = vec4(position, 0.0, 1.0);
|
|
7805
7939
|
vUv = uv;
|
|
7806
7940
|
}`,
|
|
7807
|
-
frag: `
|
|
7808
|
-
|
|
7941
|
+
frag: `precision highp float;
|
|
7942
|
+
varying vec2 vUv;
|
|
7809
7943
|
uniform sampler2D sampler;
|
|
7810
|
-
uniform
|
|
7811
|
-
|
|
7812
|
-
|
|
7813
|
-
|
|
7814
|
-
coord += filterArea.zw;
|
|
7815
|
-
return coord;
|
|
7816
|
-
}
|
|
7817
|
-
|
|
7818
|
-
vec2 unmapCoord(vec2 coord) {
|
|
7819
|
-
coord -= filterArea.zw;
|
|
7820
|
-
coord /= filterArea.xy;
|
|
7821
|
-
return coord;
|
|
7822
|
-
}
|
|
7823
|
-
|
|
7824
|
-
vec2 pixelate(vec2 coord, vec2 size) {
|
|
7825
|
-
return floor(coord / size) * size;
|
|
7826
|
-
}
|
|
7944
|
+
uniform float uAlpha;
|
|
7945
|
+
uniform vec3 uColor;
|
|
7946
|
+
uniform vec2 uOffset;
|
|
7947
|
+
uniform vec4 uInputSize;
|
|
7827
7948
|
|
|
7828
7949
|
void main(void) {
|
|
7829
|
-
|
|
7830
|
-
|
|
7831
|
-
|
|
7832
|
-
gl_FragColor =
|
|
7950
|
+
vec4 sample = texture2D(sampler, vUv + uOffset * uInputSize.zw);
|
|
7951
|
+
sample.rgb = uColor.rgb * sample.a;
|
|
7952
|
+
sample *= uAlpha;
|
|
7953
|
+
gl_FragColor = sample;
|
|
7833
7954
|
}`
|
|
7834
7955
|
}));
|
|
7835
|
-
__decorateClass$
|
|
7836
|
-
property()
|
|
7837
|
-
], exports.
|
|
7838
|
-
|
|
7839
|
-
|
|
7840
|
-
], exports.
|
|
7956
|
+
__decorateClass$v([
|
|
7957
|
+
property({ default: [4, 4] })
|
|
7958
|
+
], exports.DropShadowEffect.prototype, "offset", 2);
|
|
7959
|
+
__decorateClass$v([
|
|
7960
|
+
property({ default: 0 })
|
|
7961
|
+
], exports.DropShadowEffect.prototype, "color", 2);
|
|
7962
|
+
__decorateClass$v([
|
|
7963
|
+
property({ default: 1 })
|
|
7964
|
+
], exports.DropShadowEffect.prototype, "alpha", 2);
|
|
7965
|
+
__decorateClass$v([
|
|
7966
|
+
property({ default: false })
|
|
7967
|
+
], exports.DropShadowEffect.prototype, "shadowOnly", 2);
|
|
7968
|
+
__decorateClass$v([
|
|
7969
|
+
property({ default: 2 })
|
|
7970
|
+
], exports.DropShadowEffect.prototype, "blur", 2);
|
|
7971
|
+
__decorateClass$v([
|
|
7972
|
+
property({ default: 4 })
|
|
7973
|
+
], exports.DropShadowEffect.prototype, "quality", 2);
|
|
7974
|
+
__decorateClass$v([
|
|
7975
|
+
property({ default: [1, 1] })
|
|
7976
|
+
], exports.DropShadowEffect.prototype, "pixelSize", 2);
|
|
7977
|
+
exports.DropShadowEffect = __decorateClass$v([
|
|
7978
|
+
customNode("DropShadowEffect")
|
|
7979
|
+
], exports.DropShadowEffect);
|
|
7841
7980
|
|
|
7842
|
-
|
|
7843
|
-
|
|
7844
|
-
|
|
7845
|
-
|
|
7846
|
-
|
|
7847
|
-
|
|
7848
|
-
|
|
7849
|
-
|
|
7850
|
-
|
|
7851
|
-
|
|
7852
|
-
|
|
7853
|
-
|
|
7854
|
-
|
|
7855
|
-
|
|
7856
|
-
|
|
7857
|
-
|
|
7858
|
-
texture = new ColorTexture(this.strokeStyle);
|
|
7859
|
-
}
|
|
7860
|
-
}
|
|
7861
|
-
if (this.curves.length) {
|
|
7862
|
-
this._draws.push({
|
|
7863
|
-
type: "stroke",
|
|
7864
|
-
path: new modernPath2d.Path2D(this),
|
|
7865
|
-
texture,
|
|
7866
|
-
textureTransform: this.textureTransform,
|
|
7867
|
-
style: {
|
|
7868
|
-
alignment: 0.5,
|
|
7869
|
-
cap: this.lineCap ?? "butt",
|
|
7870
|
-
join: this.lineJoin ?? "miter",
|
|
7871
|
-
width: this.lineWidth ?? 1,
|
|
7872
|
-
miterLimit: this.miterLimit ?? 10
|
|
7873
|
-
}
|
|
7874
|
-
});
|
|
7875
|
-
super.reset();
|
|
7876
|
-
}
|
|
7877
|
-
}
|
|
7878
|
-
fillRect(x, y, width, height) {
|
|
7879
|
-
this.rect(x, y, width, height).fill();
|
|
7880
|
-
}
|
|
7881
|
-
strokeRect(x, y, width, height) {
|
|
7882
|
-
this.rect(x, y, width, height).stroke();
|
|
7883
|
-
}
|
|
7884
|
-
fill() {
|
|
7885
|
-
let texture = this._defaultStyle;
|
|
7886
|
-
if (this.fillStyle) {
|
|
7887
|
-
if (this.fillStyle instanceof Texture2D) {
|
|
7888
|
-
texture = this.fillStyle;
|
|
7889
|
-
} else {
|
|
7890
|
-
texture = new ColorTexture(this.fillStyle);
|
|
7891
|
-
}
|
|
7892
|
-
}
|
|
7893
|
-
this._draws.push({
|
|
7894
|
-
type: "fill",
|
|
7895
|
-
path: new modernPath2d.Path2D(this),
|
|
7896
|
-
texture,
|
|
7897
|
-
textureTransform: this.textureTransform
|
|
7898
|
-
});
|
|
7899
|
-
super.reset();
|
|
7900
|
-
}
|
|
7901
|
-
copy(source) {
|
|
7902
|
-
super.copy(source);
|
|
7903
|
-
this.strokeStyle = source.strokeStyle;
|
|
7904
|
-
this.fillStyle = source.fillStyle;
|
|
7905
|
-
this.textureTransform = source.textureTransform;
|
|
7906
|
-
this.lineCap = source.lineCap;
|
|
7907
|
-
this.lineJoin = source.lineJoin;
|
|
7908
|
-
this.lineWidth = source.lineWidth;
|
|
7909
|
-
this.miterLimit = source.miterLimit;
|
|
7910
|
-
this._draws = source._draws.slice();
|
|
7911
|
-
return this;
|
|
7912
|
-
}
|
|
7913
|
-
reset() {
|
|
7914
|
-
super.reset();
|
|
7915
|
-
this.strokeStyle = void 0;
|
|
7916
|
-
this.fillStyle = void 0;
|
|
7917
|
-
this.textureTransform = void 0;
|
|
7918
|
-
this.lineCap = void 0;
|
|
7919
|
-
this.lineJoin = void 0;
|
|
7920
|
-
this.lineWidth = void 0;
|
|
7921
|
-
this.miterLimit = void 0;
|
|
7922
|
-
this._draws.length = 0;
|
|
7923
|
-
return this;
|
|
7924
|
-
}
|
|
7925
|
-
buildUvs(start, vertices, uvs, texture, textureTransform) {
|
|
7926
|
-
if (texture) {
|
|
7927
|
-
const w = texture.width;
|
|
7928
|
-
const h = texture.height;
|
|
7929
|
-
for (let len = vertices.length, i = start; i < len; i += 2) {
|
|
7930
|
-
const x = vertices[i];
|
|
7931
|
-
const y = vertices[i + 1];
|
|
7932
|
-
let uvX;
|
|
7933
|
-
let uvY;
|
|
7934
|
-
if (textureTransform) {
|
|
7935
|
-
[uvX, uvY] = textureTransform?.applyToPoint(x, y);
|
|
7936
|
-
} else {
|
|
7937
|
-
[uvX, uvY] = [x / w, y / h];
|
|
7938
|
-
}
|
|
7939
|
-
uvs.push(uvX, uvY);
|
|
7940
|
-
}
|
|
7941
|
-
} else {
|
|
7942
|
-
for (let len = vertices.length, i = start; i < len; i += 2) {
|
|
7943
|
-
uvs.push(0, 0);
|
|
7944
|
-
}
|
|
7945
|
-
}
|
|
7981
|
+
var __defProp$n = Object.defineProperty;
|
|
7982
|
+
var __getOwnPropDesc$t = Object.getOwnPropertyDescriptor;
|
|
7983
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7984
|
+
var __decorateClass$u = (decorators, target, key, kind) => {
|
|
7985
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$t(target, key) : target;
|
|
7986
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7987
|
+
if (decorator = decorators[i])
|
|
7988
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7989
|
+
if (kind && result) __defProp$n(target, key, result);
|
|
7990
|
+
return result;
|
|
7991
|
+
};
|
|
7992
|
+
var __publicField$b = (obj, key, value) => __defNormalProp$b(obj, key + "" , value);
|
|
7993
|
+
exports.EmbossEffect = class EmbossEffect extends exports.Effect {
|
|
7994
|
+
constructor(properties, children = []) {
|
|
7995
|
+
super();
|
|
7996
|
+
this.setProperties(properties).append(children);
|
|
7946
7997
|
}
|
|
7947
|
-
|
|
7948
|
-
|
|
7949
|
-
|
|
7950
|
-
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
-
const push = (type) => {
|
|
7954
|
-
batchables.push({
|
|
7955
|
-
type,
|
|
7956
|
-
vertices,
|
|
7957
|
-
indices,
|
|
7958
|
-
uvs,
|
|
7959
|
-
texture
|
|
7998
|
+
apply(renderer, source) {
|
|
7999
|
+
source.redraw(renderer, () => {
|
|
8000
|
+
QuadUvGeometry.draw(renderer, exports.EmbossEffect.material, {
|
|
8001
|
+
sampler: 0,
|
|
8002
|
+
strength: this.strength,
|
|
8003
|
+
inputSize: [source.width, source.height, 1 / source.width, 1 / source.height]
|
|
7960
8004
|
});
|
|
7961
|
-
|
|
7962
|
-
indices = [];
|
|
7963
|
-
uvs = [];
|
|
7964
|
-
texture = void 0;
|
|
7965
|
-
};
|
|
7966
|
-
for (let len = this._draws.length, i = 0; i < len; i++) {
|
|
7967
|
-
const draw = this._draws[i];
|
|
7968
|
-
const prev = this._draws[i - 1];
|
|
7969
|
-
if (vertices.length && prev && prev?.type !== draw.type) {
|
|
7970
|
-
push(prev.type);
|
|
7971
|
-
}
|
|
7972
|
-
const oldTexture = texture;
|
|
7973
|
-
if (!oldTexture) {
|
|
7974
|
-
texture = draw.texture;
|
|
7975
|
-
}
|
|
7976
|
-
if (vertices.length && oldTexture !== draw.texture && !oldTexture?.is(draw.texture)) {
|
|
7977
|
-
push(draw.type);
|
|
7978
|
-
}
|
|
7979
|
-
const start = vertices.length;
|
|
7980
|
-
if (draw.type === "fill") {
|
|
7981
|
-
draw.path.fillTriangulate({
|
|
7982
|
-
vertices,
|
|
7983
|
-
indices
|
|
7984
|
-
});
|
|
7985
|
-
this.buildUvs(start, vertices, uvs, draw.texture, draw.textureTransform);
|
|
7986
|
-
} else {
|
|
7987
|
-
draw.path.strokeTriangulate({
|
|
7988
|
-
vertices,
|
|
7989
|
-
indices,
|
|
7990
|
-
lineStyle: draw.style,
|
|
7991
|
-
flipAlignment: false,
|
|
7992
|
-
closed: true
|
|
7993
|
-
});
|
|
7994
|
-
this.buildUvs(start, vertices, uvs, draw.texture, draw.textureTransform);
|
|
7995
|
-
}
|
|
7996
|
-
}
|
|
7997
|
-
const last = this._draws[this._draws.length - 1];
|
|
7998
|
-
if (last && vertices.length) {
|
|
7999
|
-
push(last.type);
|
|
8000
|
-
}
|
|
8001
|
-
return batchables;
|
|
8005
|
+
});
|
|
8002
8006
|
}
|
|
8003
|
-
}
|
|
8007
|
+
};
|
|
8008
|
+
__publicField$b(exports.EmbossEffect, "material", new Material({
|
|
8009
|
+
vert: `precision mediump float;
|
|
8010
|
+
attribute vec2 position;
|
|
8011
|
+
attribute vec2 uv;
|
|
8012
|
+
varying vec2 vUv;
|
|
8013
|
+
void main() {
|
|
8014
|
+
gl_Position = vec4(position, 0.0, 1.0);
|
|
8015
|
+
vUv = uv;
|
|
8016
|
+
}`,
|
|
8017
|
+
frag: `precision mediump float;
|
|
8018
|
+
uniform sampler2D sampler;
|
|
8019
|
+
uniform vec4 inputSize;
|
|
8020
|
+
uniform float strength;
|
|
8021
|
+
varying vec2 vUv;
|
|
8004
8022
|
|
|
8005
|
-
|
|
8006
|
-
|
|
8023
|
+
void main(void) {
|
|
8024
|
+
vec2 onePixel = inputSize.zw;
|
|
8025
|
+
vec4 color;
|
|
8026
|
+
color.rgb = vec3(0.5);
|
|
8027
|
+
color -= texture2D(sampler, vUv - onePixel) * strength;
|
|
8028
|
+
color += texture2D(sampler, vUv + onePixel) * strength;
|
|
8029
|
+
color.rgb = vec3((color.r + color.g + color.b) / 3.0);
|
|
8030
|
+
float alpha = texture2D(sampler, vUv).a;
|
|
8031
|
+
gl_FragColor = vec4(color.rgb * alpha, alpha);
|
|
8032
|
+
}`
|
|
8033
|
+
}));
|
|
8034
|
+
__decorateClass$u([
|
|
8035
|
+
property({ default: 5 })
|
|
8036
|
+
], exports.EmbossEffect.prototype, "strength", 2);
|
|
8037
|
+
exports.EmbossEffect = __decorateClass$u([
|
|
8038
|
+
customNode("EmbossEffect")
|
|
8039
|
+
], exports.EmbossEffect);
|
|
8040
|
+
|
|
8041
|
+
var __defProp$m = Object.defineProperty;
|
|
8042
|
+
var __getOwnPropDesc$s = Object.getOwnPropertyDescriptor;
|
|
8043
|
+
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8007
8044
|
var __decorateClass$t = (decorators, target, key, kind) => {
|
|
8008
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
8045
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$s(target, key) : target;
|
|
8009
8046
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
8010
8047
|
if (decorator = decorators[i])
|
|
8011
8048
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8012
|
-
if (kind && result) __defProp$
|
|
8049
|
+
if (kind && result) __defProp$m(target, key, result);
|
|
8013
8050
|
return result;
|
|
8014
8051
|
};
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
|
|
8019
|
-
|
|
8020
|
-
|
|
8021
|
-
|
|
8022
|
-
|
|
8023
|
-
get globalOpacity() {
|
|
8024
|
-
return this._globalOpacity ?? 1;
|
|
8025
|
-
}
|
|
8026
|
-
_modulate = new Color(4294967295);
|
|
8027
|
-
_backgroundImage;
|
|
8028
|
-
// Batch render
|
|
8029
|
-
context = new CanvasContext();
|
|
8030
|
-
_resetContext = true;
|
|
8031
|
-
_redrawing = false;
|
|
8032
|
-
_relayouting = false;
|
|
8033
|
-
_repainting = false;
|
|
8034
|
-
_originalBatchables = [];
|
|
8035
|
-
_layoutedBatchables = [];
|
|
8036
|
-
_batchables = [];
|
|
8037
|
-
constructor(properties, nodes = []) {
|
|
8052
|
+
var __publicField$a = (obj, key, value) => __defNormalProp$a(obj, key + "" , value);
|
|
8053
|
+
exports.GlitchEffect = class GlitchEffect extends exports.Effect {
|
|
8054
|
+
_canvas;
|
|
8055
|
+
_texture;
|
|
8056
|
+
_sizes;
|
|
8057
|
+
_offsets;
|
|
8058
|
+
_needsRedraw = false;
|
|
8059
|
+
constructor(properties, children = []) {
|
|
8038
8060
|
super();
|
|
8039
|
-
this.setProperties(properties).append(
|
|
8061
|
+
this.setProperties(properties).append(children);
|
|
8062
|
+
this._canvas = document.createElement("canvas");
|
|
8063
|
+
this._canvas.width = 4;
|
|
8064
|
+
this._canvas.height = this.sampleSize;
|
|
8065
|
+
this._texture = new Texture2D(this._canvas);
|
|
8066
|
+
this._sizes = new Float32Array(this.slices);
|
|
8067
|
+
this._offsets = new Float32Array(this.slices);
|
|
8040
8068
|
}
|
|
8041
|
-
|
|
8042
|
-
|
|
8043
|
-
|
|
8044
|
-
|
|
8045
|
-
|
|
8046
|
-
|
|
8047
|
-
|
|
8048
|
-
|
|
8049
|
-
|
|
8050
|
-
|
|
8051
|
-
|
|
8052
|
-
|
|
8053
|
-
|
|
8054
|
-
|
|
8055
|
-
|
|
8056
|
-
this._updateGlobalVisible();
|
|
8057
|
-
break;
|
|
8069
|
+
redraw() {
|
|
8070
|
+
const size = this.sampleSize;
|
|
8071
|
+
const texture = this._texture;
|
|
8072
|
+
const ctx = this._canvas.getContext("2d");
|
|
8073
|
+
ctx.clearRect(0, 0, 8, size);
|
|
8074
|
+
let offset;
|
|
8075
|
+
let y = 0;
|
|
8076
|
+
for (let i = 0; i < this.slices; i++) {
|
|
8077
|
+
offset = Math.floor(this._offsets[i] * 256);
|
|
8078
|
+
const height = this._sizes[i] * size;
|
|
8079
|
+
const red = offset > 0 ? offset : 0;
|
|
8080
|
+
const green = offset < 0 ? -offset : 0;
|
|
8081
|
+
ctx.fillStyle = `rgba(${red}, ${green}, 0, 1)`;
|
|
8082
|
+
ctx.fillRect(0, y >> 0, size, height + 1 >> 0);
|
|
8083
|
+
y += height;
|
|
8058
8084
|
}
|
|
8085
|
+
texture.requestUpload();
|
|
8059
8086
|
}
|
|
8060
|
-
|
|
8061
|
-
this.
|
|
8062
|
-
|
|
8063
|
-
|
|
8064
|
-
this.visible = false;
|
|
8065
|
-
}
|
|
8066
|
-
isVisibleInTree() {
|
|
8067
|
-
return this.globalOpacity > 0 && this.globalVisible;
|
|
8068
|
-
}
|
|
8069
|
-
canRender() {
|
|
8070
|
-
return super.canRender() && this.isVisibleInTree();
|
|
8071
|
-
}
|
|
8072
|
-
requestRedraw() {
|
|
8073
|
-
this._redrawing = true;
|
|
8074
|
-
this.requestUpdate();
|
|
8075
|
-
}
|
|
8076
|
-
requestRelayout() {
|
|
8077
|
-
this._relayouting = true;
|
|
8078
|
-
this.requestUpdate();
|
|
8079
|
-
}
|
|
8080
|
-
requestRepaint() {
|
|
8081
|
-
this._repainting = true;
|
|
8082
|
-
this.requestUpdate();
|
|
8083
|
-
}
|
|
8084
|
-
_updateGlobalVisible() {
|
|
8085
|
-
this._parentGlobalVisible = this.getParent()?.globalVisible;
|
|
8086
|
-
this._globalVisible = (this._parentGlobalVisible ?? true) && this.visible && this.insideTimeRange;
|
|
8087
|
-
}
|
|
8088
|
-
_updateGlobalOpacity() {
|
|
8089
|
-
this._parentGlobalOpacity = this.getParent()?.opacity;
|
|
8090
|
-
const globalOpacity = clamp(0, this.opacity, 1) * (this._parentGlobalOpacity ?? 1);
|
|
8091
|
-
if (this._globalOpacity !== globalOpacity) {
|
|
8092
|
-
this._globalOpacity = globalOpacity;
|
|
8093
|
-
this.requestRepaint();
|
|
8087
|
+
apply(renderer, source) {
|
|
8088
|
+
if (!this._needsRedraw) {
|
|
8089
|
+
this._needsRedraw = true;
|
|
8090
|
+
this.redraw();
|
|
8094
8091
|
}
|
|
8095
|
-
|
|
8096
|
-
|
|
8097
|
-
this.
|
|
8098
|
-
|
|
8099
|
-
|
|
8100
|
-
|
|
8101
|
-
|
|
8102
|
-
|
|
8103
|
-
|
|
8104
|
-
|
|
8105
|
-
|
|
8106
|
-
|
|
8107
|
-
|
|
8108
|
-
|
|
8109
|
-
|
|
8110
|
-
|
|
8111
|
-
|
|
8112
|
-
|
|
8113
|
-
|
|
8114
|
-
|
|
8115
|
-
|
|
8092
|
+
const width = source.width;
|
|
8093
|
+
const height = source.height;
|
|
8094
|
+
const radians = this.direction * (Math.PI / 180);
|
|
8095
|
+
const sinDir = Math.sin(radians);
|
|
8096
|
+
const cosDir = Math.cos(radians);
|
|
8097
|
+
source.redraw(renderer, () => {
|
|
8098
|
+
this._texture.activate(renderer, 1);
|
|
8099
|
+
QuadUvGeometry.draw(renderer, exports.GlitchEffect.material, {
|
|
8100
|
+
sampler: 0,
|
|
8101
|
+
filterClamp: [0, 0, 1, 1],
|
|
8102
|
+
filterArea: [width, height, 0, 0],
|
|
8103
|
+
dimensions: [width, height],
|
|
8104
|
+
aspect: height / width,
|
|
8105
|
+
displacementMap: 1,
|
|
8106
|
+
offset: this.offset,
|
|
8107
|
+
sinDir,
|
|
8108
|
+
cosDir,
|
|
8109
|
+
fillMode: this.fillMode,
|
|
8110
|
+
seed: this.seed,
|
|
8111
|
+
red: this.red,
|
|
8112
|
+
green: this.green,
|
|
8113
|
+
blue: this.blue
|
|
8114
|
+
});
|
|
8116
8115
|
});
|
|
8117
8116
|
}
|
|
8118
|
-
|
|
8119
|
-
|
|
8120
|
-
|
|
8121
|
-
|
|
8122
|
-
|
|
8123
|
-
|
|
8124
|
-
|
|
8125
|
-
|
|
8126
|
-
|
|
8127
|
-
|
|
8128
|
-
|
|
8129
|
-
|
|
8130
|
-
|
|
8131
|
-
|
|
8132
|
-
|
|
8133
|
-
|
|
8134
|
-
|
|
8135
|
-
|
|
8136
|
-
|
|
8137
|
-
|
|
8138
|
-
|
|
8139
|
-
|
|
8140
|
-
|
|
8141
|
-
|
|
8142
|
-
|
|
8143
|
-
|
|
8144
|
-
|
|
8145
|
-
|
|
8146
|
-
|
|
8147
|
-
|
|
8148
|
-
|
|
8149
|
-
|
|
8150
|
-
|
|
8151
|
-
|
|
8152
|
-
|
|
8153
|
-
|
|
8117
|
+
};
|
|
8118
|
+
__publicField$a(exports.GlitchEffect, "material", new Material({
|
|
8119
|
+
vert: `precision mediump float;
|
|
8120
|
+
attribute vec2 position;
|
|
8121
|
+
attribute vec2 uv;
|
|
8122
|
+
varying vec2 vUv;
|
|
8123
|
+
void main() {
|
|
8124
|
+
gl_Position = vec4(position, 0.0, 1.0);
|
|
8125
|
+
vUv = uv;
|
|
8126
|
+
}`,
|
|
8127
|
+
frag: `precision mediump float;
|
|
8128
|
+
|
|
8129
|
+
varying vec2 vUv;
|
|
8130
|
+
uniform sampler2D sampler;
|
|
8131
|
+
|
|
8132
|
+
uniform vec4 filterArea;
|
|
8133
|
+
uniform vec4 filterClamp;
|
|
8134
|
+
uniform vec2 dimensions;
|
|
8135
|
+
uniform float aspect;
|
|
8136
|
+
|
|
8137
|
+
uniform sampler2D displacementMap;
|
|
8138
|
+
uniform float offset;
|
|
8139
|
+
uniform float sinDir;
|
|
8140
|
+
uniform float cosDir;
|
|
8141
|
+
uniform int fillMode;
|
|
8142
|
+
|
|
8143
|
+
uniform float seed;
|
|
8144
|
+
uniform vec2 red;
|
|
8145
|
+
uniform vec2 green;
|
|
8146
|
+
uniform vec2 blue;
|
|
8147
|
+
|
|
8148
|
+
const int TRANSPARENT = 0;
|
|
8149
|
+
const int ORIGINAL = 1;
|
|
8150
|
+
const int LOOP = 2;
|
|
8151
|
+
const int CLAMP = 3;
|
|
8152
|
+
const int MIRROR = 4;
|
|
8153
|
+
|
|
8154
|
+
void main(void) {
|
|
8155
|
+
vec2 coord = (vUv * filterArea.xy) / dimensions;
|
|
8156
|
+
|
|
8157
|
+
if (coord.x > 1.0 || coord.y > 1.0) {
|
|
8158
|
+
return;
|
|
8159
|
+
}
|
|
8160
|
+
|
|
8161
|
+
float cx = coord.x - 0.5;
|
|
8162
|
+
float cy = (coord.y - 0.5) * aspect;
|
|
8163
|
+
float ny = (-sinDir * cx + cosDir * cy) / aspect + 0.5;
|
|
8164
|
+
|
|
8165
|
+
// displacementMap: repeat
|
|
8166
|
+
// ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny);
|
|
8167
|
+
|
|
8168
|
+
// displacementMap: mirror
|
|
8169
|
+
ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny);
|
|
8170
|
+
|
|
8171
|
+
vec4 dc = texture2D(displacementMap, vec2(0.5, ny));
|
|
8172
|
+
|
|
8173
|
+
float displacement = (dc.r - dc.g) * (offset / filterArea.x);
|
|
8174
|
+
|
|
8175
|
+
coord = vUv + vec2(cosDir * displacement, sinDir * displacement * aspect);
|
|
8176
|
+
|
|
8177
|
+
if (fillMode == CLAMP) {
|
|
8178
|
+
coord = clamp(coord, filterClamp.xy, filterClamp.zw);
|
|
8179
|
+
} else {
|
|
8180
|
+
if (coord.x > filterClamp.z) {
|
|
8181
|
+
if (fillMode == TRANSPARENT) {
|
|
8182
|
+
discard;
|
|
8183
|
+
} else if (fillMode == LOOP) {
|
|
8184
|
+
coord.x -= filterClamp.z;
|
|
8185
|
+
} else if (fillMode == MIRROR) {
|
|
8186
|
+
coord.x = filterClamp.z * 2.0 - coord.x;
|
|
8187
|
+
}
|
|
8188
|
+
} else if (coord.x < filterClamp.x) {
|
|
8189
|
+
if (fillMode == TRANSPARENT) {
|
|
8190
|
+
discard;
|
|
8191
|
+
} else if (fillMode == LOOP) {
|
|
8192
|
+
coord.x += filterClamp.z;
|
|
8193
|
+
} else if (fillMode == MIRROR) {
|
|
8194
|
+
coord.x *= -filterClamp.z;
|
|
8154
8195
|
}
|
|
8155
8196
|
}
|
|
8156
|
-
|
|
8157
|
-
|
|
8158
|
-
|
|
8159
|
-
|
|
8160
|
-
|
|
8197
|
+
|
|
8198
|
+
if (coord.y > filterClamp.w) {
|
|
8199
|
+
if (fillMode == TRANSPARENT) {
|
|
8200
|
+
discard;
|
|
8201
|
+
} else if (fillMode == LOOP) {
|
|
8202
|
+
coord.y -= filterClamp.w;
|
|
8203
|
+
} else if (fillMode == MIRROR) {
|
|
8204
|
+
coord.y = filterClamp.w * 2.0 - coord.y;
|
|
8205
|
+
}
|
|
8206
|
+
} else if (coord.y < filterClamp.y) {
|
|
8207
|
+
if (fillMode == TRANSPARENT) {
|
|
8208
|
+
discard;
|
|
8209
|
+
} else if (fillMode == LOOP) {
|
|
8210
|
+
coord.y += filterClamp.w;
|
|
8211
|
+
} else if (fillMode == MIRROR) {
|
|
8212
|
+
coord.y *= -filterClamp.w;
|
|
8213
|
+
}
|
|
8161
8214
|
}
|
|
8162
8215
|
}
|
|
8163
|
-
|
|
8164
|
-
|
|
8165
|
-
|
|
8166
|
-
|
|
8167
|
-
|
|
8168
|
-
|
|
8169
|
-
|
|
8170
|
-
});
|
|
8171
|
-
super._render(renderer);
|
|
8172
|
-
}
|
|
8173
|
-
};
|
|
8216
|
+
|
|
8217
|
+
gl_FragColor.r = texture2D(sampler, coord + red * (1.0 - seed * 0.4) / filterArea.xy).r;
|
|
8218
|
+
gl_FragColor.g = texture2D(sampler, coord + green * (1.0 - seed * 0.3) / filterArea.xy).g;
|
|
8219
|
+
gl_FragColor.b = texture2D(sampler, coord + blue * (1.0 - seed * 0.2) / filterArea.xy).b;
|
|
8220
|
+
gl_FragColor.a = texture2D(sampler, coord).a;
|
|
8221
|
+
}`
|
|
8222
|
+
}));
|
|
8174
8223
|
__decorateClass$t([
|
|
8175
|
-
property()
|
|
8176
|
-
], exports.
|
|
8224
|
+
property({ default: 10 })
|
|
8225
|
+
], exports.GlitchEffect.prototype, "slices", 2);
|
|
8177
8226
|
__decorateClass$t([
|
|
8178
|
-
property()
|
|
8179
|
-
], exports.
|
|
8227
|
+
property({ default: 512 })
|
|
8228
|
+
], exports.GlitchEffect.prototype, "sampleSize", 2);
|
|
8180
8229
|
__decorateClass$t([
|
|
8181
|
-
|
|
8182
|
-
], exports.
|
|
8230
|
+
property({ default: 100 })
|
|
8231
|
+
], exports.GlitchEffect.prototype, "offset", 2);
|
|
8183
8232
|
__decorateClass$t([
|
|
8184
|
-
|
|
8185
|
-
], exports.
|
|
8186
|
-
|
|
8187
|
-
|
|
8188
|
-
], exports.
|
|
8189
|
-
|
|
8190
|
-
|
|
8191
|
-
|
|
8192
|
-
|
|
8193
|
-
|
|
8194
|
-
|
|
8195
|
-
|
|
8196
|
-
|
|
8197
|
-
|
|
8198
|
-
|
|
8199
|
-
|
|
8200
|
-
|
|
8201
|
-
|
|
8202
|
-
|
|
8203
|
-
|
|
8204
|
-
return call;
|
|
8205
|
-
}
|
|
8206
|
-
render(renderer) {
|
|
8207
|
-
this.calls.forEach(function render(call) {
|
|
8208
|
-
call.fn(renderer, () => {
|
|
8209
|
-
call.calls.forEach(render);
|
|
8210
|
-
});
|
|
8211
|
-
});
|
|
8212
|
-
this.calls = [];
|
|
8213
|
-
}
|
|
8214
|
-
}
|
|
8233
|
+
property({ default: 0 })
|
|
8234
|
+
], exports.GlitchEffect.prototype, "direction", 2);
|
|
8235
|
+
__decorateClass$t([
|
|
8236
|
+
property({ default: 2 })
|
|
8237
|
+
], exports.GlitchEffect.prototype, "fillMode", 2);
|
|
8238
|
+
__decorateClass$t([
|
|
8239
|
+
property({ default: 0 })
|
|
8240
|
+
], exports.GlitchEffect.prototype, "seed", 2);
|
|
8241
|
+
__decorateClass$t([
|
|
8242
|
+
property({ default: [2, 2] })
|
|
8243
|
+
], exports.GlitchEffect.prototype, "red", 2);
|
|
8244
|
+
__decorateClass$t([
|
|
8245
|
+
property({ default: [-10, 4] })
|
|
8246
|
+
], exports.GlitchEffect.prototype, "green", 2);
|
|
8247
|
+
__decorateClass$t([
|
|
8248
|
+
property({ default: [10, -4] })
|
|
8249
|
+
], exports.GlitchEffect.prototype, "blue", 2);
|
|
8250
|
+
exports.GlitchEffect = __decorateClass$t([
|
|
8251
|
+
customNode("GlitchEffect")
|
|
8252
|
+
], exports.GlitchEffect);
|
|
8215
8253
|
|
|
8216
|
-
var __defProp$
|
|
8217
|
-
var __getOwnPropDesc$
|
|
8254
|
+
var __defProp$l = Object.defineProperty;
|
|
8255
|
+
var __getOwnPropDesc$r = Object.getOwnPropertyDescriptor;
|
|
8256
|
+
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8218
8257
|
var __decorateClass$s = (decorators, target, key, kind) => {
|
|
8219
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
8258
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target;
|
|
8220
8259
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
8221
8260
|
if (decorator = decorators[i])
|
|
8222
8261
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8223
|
-
if (kind && result) __defProp$
|
|
8262
|
+
if (kind && result) __defProp$l(target, key, result);
|
|
8224
8263
|
return result;
|
|
8225
8264
|
};
|
|
8226
|
-
|
|
8227
|
-
|
|
8228
|
-
|
|
8229
|
-
return
|
|
8230
|
-
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
|
|
8265
|
+
var __publicField$9 = (obj, key, value) => __defNormalProp$9(obj, key + "" , value);
|
|
8266
|
+
const perlin = `vec3 mod289(vec3 x)
|
|
8267
|
+
{
|
|
8268
|
+
return x - floor(x * (1.0 / 289.0)) * 289.0;
|
|
8269
|
+
}
|
|
8270
|
+
vec4 mod289(vec4 x)
|
|
8271
|
+
{
|
|
8272
|
+
return x - floor(x * (1.0 / 289.0)) * 289.0;
|
|
8273
|
+
}
|
|
8274
|
+
vec4 permute(vec4 x)
|
|
8275
|
+
{
|
|
8276
|
+
return mod289(((x * 34.0) + 1.0) * x);
|
|
8277
|
+
}
|
|
8278
|
+
vec4 taylorInvSqrt(vec4 r)
|
|
8279
|
+
{
|
|
8280
|
+
return 1.79284291400159 - 0.85373472095314 * r;
|
|
8281
|
+
}
|
|
8282
|
+
vec3 fade(vec3 t)
|
|
8283
|
+
{
|
|
8284
|
+
return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);
|
|
8285
|
+
}
|
|
8286
|
+
// Classic Perlin noise, periodic variant
|
|
8287
|
+
float pnoise(vec3 P, vec3 rep)
|
|
8288
|
+
{
|
|
8289
|
+
vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period
|
|
8290
|
+
vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period
|
|
8291
|
+
Pi0 = mod289(Pi0);
|
|
8292
|
+
Pi1 = mod289(Pi1);
|
|
8293
|
+
vec3 Pf0 = fract(P); // Fractional part for interpolation
|
|
8294
|
+
vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
|
|
8295
|
+
vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
|
|
8296
|
+
vec4 iy = vec4(Pi0.yy, Pi1.yy);
|
|
8297
|
+
vec4 iz0 = Pi0.zzzz;
|
|
8298
|
+
vec4 iz1 = Pi1.zzzz;
|
|
8299
|
+
vec4 ixy = permute(permute(ix) + iy);
|
|
8300
|
+
vec4 ixy0 = permute(ixy + iz0);
|
|
8301
|
+
vec4 ixy1 = permute(ixy + iz1);
|
|
8302
|
+
vec4 gx0 = ixy0 * (1.0 / 7.0);
|
|
8303
|
+
vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;
|
|
8304
|
+
gx0 = fract(gx0);
|
|
8305
|
+
vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
|
|
8306
|
+
vec4 sz0 = step(gz0, vec4(0.0));
|
|
8307
|
+
gx0 -= sz0 * (step(0.0, gx0) - 0.5);
|
|
8308
|
+
gy0 -= sz0 * (step(0.0, gy0) - 0.5);
|
|
8309
|
+
vec4 gx1 = ixy1 * (1.0 / 7.0);
|
|
8310
|
+
vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;
|
|
8311
|
+
gx1 = fract(gx1);
|
|
8312
|
+
vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
|
|
8313
|
+
vec4 sz1 = step(gz1, vec4(0.0));
|
|
8314
|
+
gx1 -= sz1 * (step(0.0, gx1) - 0.5);
|
|
8315
|
+
gy1 -= sz1 * (step(0.0, gy1) - 0.5);
|
|
8316
|
+
vec3 g000 = vec3(gx0.x, gy0.x, gz0.x);
|
|
8317
|
+
vec3 g100 = vec3(gx0.y, gy0.y, gz0.y);
|
|
8318
|
+
vec3 g010 = vec3(gx0.z, gy0.z, gz0.z);
|
|
8319
|
+
vec3 g110 = vec3(gx0.w, gy0.w, gz0.w);
|
|
8320
|
+
vec3 g001 = vec3(gx1.x, gy1.x, gz1.x);
|
|
8321
|
+
vec3 g101 = vec3(gx1.y, gy1.y, gz1.y);
|
|
8322
|
+
vec3 g011 = vec3(gx1.z, gy1.z, gz1.z);
|
|
8323
|
+
vec3 g111 = vec3(gx1.w, gy1.w, gz1.w);
|
|
8324
|
+
vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
|
|
8325
|
+
g000 *= norm0.x;
|
|
8326
|
+
g010 *= norm0.y;
|
|
8327
|
+
g100 *= norm0.z;
|
|
8328
|
+
g110 *= norm0.w;
|
|
8329
|
+
vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
|
|
8330
|
+
g001 *= norm1.x;
|
|
8331
|
+
g011 *= norm1.y;
|
|
8332
|
+
g101 *= norm1.z;
|
|
8333
|
+
g111 *= norm1.w;
|
|
8334
|
+
float n000 = dot(g000, Pf0);
|
|
8335
|
+
float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
|
|
8336
|
+
float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
|
|
8337
|
+
float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
|
|
8338
|
+
float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
|
|
8339
|
+
float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
|
|
8340
|
+
float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
|
|
8341
|
+
float n111 = dot(g111, Pf1);
|
|
8342
|
+
vec3 fade_xyz = fade(Pf0);
|
|
8343
|
+
vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
|
|
8344
|
+
vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
|
|
8345
|
+
float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);
|
|
8346
|
+
return 2.2 * n_xyz;
|
|
8347
|
+
}
|
|
8348
|
+
float turb(vec3 P, vec3 rep, float lacunarity, float gain)
|
|
8349
|
+
{
|
|
8350
|
+
float sum = 0.0;
|
|
8351
|
+
float sc = 1.0;
|
|
8352
|
+
float totalgain = 1.0;
|
|
8353
|
+
for (float i = 0.0; i < 6.0; i++)
|
|
8354
|
+
{
|
|
8355
|
+
sum += totalgain * pnoise(P * sc, rep);
|
|
8356
|
+
sc *= lacunarity;
|
|
8357
|
+
totalgain *= gain;
|
|
8358
|
+
}
|
|
8359
|
+
return abs(sum);
|
|
8360
|
+
}`;
|
|
8361
|
+
exports.GodrayEffect = class GodrayEffect extends exports.Effect {
|
|
8362
|
+
constructor(properties, children = []) {
|
|
8236
8363
|
super();
|
|
8237
|
-
this.setProperties(properties);
|
|
8238
|
-
}
|
|
8239
|
-
_updateProperty(key, value, oldValue) {
|
|
8240
|
-
super._updateProperty(key, value, oldValue);
|
|
8241
|
-
switch (key) {
|
|
8242
|
-
case "startTime":
|
|
8243
|
-
this.startTime = Math.min(value, this.endTime);
|
|
8244
|
-
break;
|
|
8245
|
-
case "endTime":
|
|
8246
|
-
this.endTime = value || Number.MAX_SAFE_INTEGER;
|
|
8247
|
-
break;
|
|
8248
|
-
}
|
|
8249
|
-
}
|
|
8250
|
-
addTime(delta) {
|
|
8251
|
-
const start = this.startTime;
|
|
8252
|
-
const end = this.endTime;
|
|
8253
|
-
let current = this.currentTime;
|
|
8254
|
-
current = current + delta;
|
|
8255
|
-
if (this.loop && current > end) {
|
|
8256
|
-
current = start + current % end;
|
|
8257
|
-
}
|
|
8258
|
-
current = clamp(start, current, end);
|
|
8259
|
-
this.currentTime = current;
|
|
8260
|
-
this.emit("updateCurrentTime", current, delta);
|
|
8261
|
-
return this;
|
|
8364
|
+
this.setProperties(properties).append(children);
|
|
8262
8365
|
}
|
|
8263
|
-
|
|
8264
|
-
|
|
8265
|
-
this.
|
|
8366
|
+
apply(renderer, source) {
|
|
8367
|
+
const radians = this.angle * (Math.PI / 180);
|
|
8368
|
+
const uLight = this.parallel ? [Math.cos(radians), Math.sin(radians)] : this.center;
|
|
8369
|
+
source.redraw(renderer, () => {
|
|
8370
|
+
QuadUvGeometry.draw(renderer, exports.GodrayEffect.material, {
|
|
8371
|
+
sampler: 0,
|
|
8372
|
+
uDimensions: [source.width, source.height],
|
|
8373
|
+
uParallel: this.parallel ? 1 : 0,
|
|
8374
|
+
uLight,
|
|
8375
|
+
uAspect: source.height / source.width,
|
|
8376
|
+
uTime: this.time,
|
|
8377
|
+
uRay: [
|
|
8378
|
+
this.gain,
|
|
8379
|
+
this.lacunarity,
|
|
8380
|
+
this.alpha
|
|
8381
|
+
],
|
|
8382
|
+
uInputSize: [source.width, source.height, 0, 0]
|
|
8383
|
+
});
|
|
8384
|
+
});
|
|
8266
8385
|
}
|
|
8267
8386
|
};
|
|
8387
|
+
__publicField$9(exports.GodrayEffect, "material", new Material({
|
|
8388
|
+
vert: `precision mediump float;
|
|
8389
|
+
attribute vec2 position;
|
|
8390
|
+
attribute vec2 uv;
|
|
8391
|
+
varying vec2 vUv;
|
|
8392
|
+
void main() {
|
|
8393
|
+
gl_Position = vec4(position, 0.0, 1.0);
|
|
8394
|
+
vUv = uv;
|
|
8395
|
+
}`,
|
|
8396
|
+
frag: `precision highp float;
|
|
8397
|
+
varying vec2 vUv;
|
|
8398
|
+
uniform sampler2D sampler;
|
|
8399
|
+
uniform vec2 uDimensions;
|
|
8400
|
+
uniform float uParallel;
|
|
8401
|
+
uniform vec2 uLight;
|
|
8402
|
+
uniform float uAspect;
|
|
8403
|
+
uniform float uTime;
|
|
8404
|
+
uniform vec3 uRay;
|
|
8405
|
+
uniform vec4 uInputSize;
|
|
8406
|
+
|
|
8407
|
+
${perlin}
|
|
8408
|
+
|
|
8409
|
+
void main(void) {
|
|
8410
|
+
bool uParallel = uParallel > 0.5;
|
|
8411
|
+
vec2 coord = vUv * uInputSize.xy / uDimensions;
|
|
8412
|
+
|
|
8413
|
+
float d;
|
|
8414
|
+
if (uParallel) {
|
|
8415
|
+
float _cos = uLight.x;
|
|
8416
|
+
float _sin = uLight.y;
|
|
8417
|
+
d = (_cos * coord.x) + (_sin * coord.y * uAspect);
|
|
8418
|
+
} else {
|
|
8419
|
+
float dx = coord.x - uLight.x / uInputSize.x;
|
|
8420
|
+
float dy = (coord.y - uLight.y / uInputSize.y) * uAspect;
|
|
8421
|
+
float dis = sqrt(dx * dx + dy * dy) + 0.00001;
|
|
8422
|
+
d = dy / dis;
|
|
8423
|
+
}
|
|
8424
|
+
|
|
8425
|
+
float gain = uRay[0];
|
|
8426
|
+
float lacunarity = uRay[1];
|
|
8427
|
+
float alpha = uRay[2];
|
|
8428
|
+
|
|
8429
|
+
vec3 dir = vec3(d, d, 0.0);
|
|
8430
|
+
float noise = turb(dir + vec3(uTime, 0.0, 62.1 + uTime) * 0.05, vec3(480.0, 320.0, 480.0), lacunarity, gain);
|
|
8431
|
+
noise = mix(noise, 0.0, 0.3);
|
|
8432
|
+
vec4 mist = vec4(vec3(noise), 1.0) * (1.0 - coord.y);
|
|
8433
|
+
mist.a = 1.0;
|
|
8434
|
+
mist *= alpha;
|
|
8435
|
+
|
|
8436
|
+
vec4 color = texture2D(sampler, vUv);
|
|
8437
|
+
gl_FragColor = vec4(color.rgb + mist.rgb, color.a);
|
|
8438
|
+
}`
|
|
8439
|
+
}));
|
|
8268
8440
|
__decorateClass$s([
|
|
8269
8441
|
property({ default: 0 })
|
|
8270
|
-
], exports.
|
|
8442
|
+
], exports.GodrayEffect.prototype, "time", 2);
|
|
8271
8443
|
__decorateClass$s([
|
|
8272
|
-
property({ default:
|
|
8273
|
-
], exports.
|
|
8444
|
+
property({ default: 30 })
|
|
8445
|
+
], exports.GodrayEffect.prototype, "angle", 2);
|
|
8274
8446
|
__decorateClass$s([
|
|
8275
|
-
property({ default:
|
|
8276
|
-
], exports.
|
|
8447
|
+
property({ default: 0.5 })
|
|
8448
|
+
], exports.GodrayEffect.prototype, "gain", 2);
|
|
8277
8449
|
__decorateClass$s([
|
|
8278
|
-
property({ default:
|
|
8279
|
-
], exports.
|
|
8280
|
-
|
|
8281
|
-
|
|
8282
|
-
], exports.
|
|
8450
|
+
property({ default: 2.5 })
|
|
8451
|
+
], exports.GodrayEffect.prototype, "lacunarity", 2);
|
|
8452
|
+
__decorateClass$s([
|
|
8453
|
+
property({ default: true })
|
|
8454
|
+
], exports.GodrayEffect.prototype, "parallel", 2);
|
|
8455
|
+
__decorateClass$s([
|
|
8456
|
+
property({ default: [0, 0] })
|
|
8457
|
+
], exports.GodrayEffect.prototype, "center", 2);
|
|
8458
|
+
__decorateClass$s([
|
|
8459
|
+
property({ default: 1 })
|
|
8460
|
+
], exports.GodrayEffect.prototype, "alpha", 2);
|
|
8461
|
+
exports.GodrayEffect = __decorateClass$s([
|
|
8462
|
+
customNode("GodrayEffect")
|
|
8463
|
+
], exports.GodrayEffect);
|
|
8283
8464
|
|
|
8284
|
-
var __defProp$
|
|
8465
|
+
var __defProp$k = Object.defineProperty;
|
|
8466
|
+
var __getOwnPropDesc$q = Object.getOwnPropertyDescriptor;
|
|
8467
|
+
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8285
8468
|
var __decorateClass$r = (decorators, target, key, kind) => {
|
|
8286
|
-
var result = void 0 ;
|
|
8469
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$q(target, key) : target;
|
|
8287
8470
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
8288
8471
|
if (decorator = decorators[i])
|
|
8289
|
-
result = (decorator(target, key, result) ) || result;
|
|
8290
|
-
if (result) __defProp$
|
|
8472
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8473
|
+
if (kind && result) __defProp$k(target, key, result);
|
|
8291
8474
|
return result;
|
|
8292
8475
|
};
|
|
8293
|
-
|
|
8294
|
-
|
|
8295
|
-
|
|
8296
|
-
|
|
8297
|
-
timeline;
|
|
8298
|
-
_backgroundColor = new Color();
|
|
8299
|
-
_currentViewport;
|
|
8300
|
-
getCurrentViewport() {
|
|
8301
|
-
return this._currentViewport;
|
|
8302
|
-
}
|
|
8303
|
-
setCurrentViewport(viewport) {
|
|
8304
|
-
this._currentViewport = viewport;
|
|
8305
|
-
}
|
|
8306
|
-
constructor(timeline = new exports.Timeline()) {
|
|
8476
|
+
var __publicField$8 = (obj, key, value) => __defNormalProp$8(obj, key + "" , value);
|
|
8477
|
+
exports.MaskEffect = class MaskEffect extends exports.Effect {
|
|
8478
|
+
texture;
|
|
8479
|
+
constructor(properties, children = []) {
|
|
8307
8480
|
super();
|
|
8308
|
-
this.
|
|
8481
|
+
this.setProperties(properties).append(children);
|
|
8482
|
+
}
|
|
8483
|
+
async load() {
|
|
8484
|
+
this.texture = void 0;
|
|
8485
|
+
if (this.src) {
|
|
8486
|
+
this.texture = await assets.texture.load(this.src);
|
|
8487
|
+
}
|
|
8309
8488
|
}
|
|
8310
8489
|
_updateProperty(key, value, oldValue, declaration) {
|
|
8311
8490
|
super._updateProperty(key, value, oldValue, declaration);
|
|
8312
8491
|
switch (key) {
|
|
8313
|
-
case "
|
|
8314
|
-
this.
|
|
8492
|
+
case "src":
|
|
8493
|
+
this.load();
|
|
8494
|
+
break;
|
|
8495
|
+
case "texture":
|
|
8496
|
+
oldValue?.free?.();
|
|
8315
8497
|
break;
|
|
8316
8498
|
}
|
|
8317
8499
|
}
|
|
8318
|
-
|
|
8319
|
-
if (this.
|
|
8320
|
-
|
|
8321
|
-
|
|
8322
|
-
|
|
8323
|
-
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
|
|
8330
|
-
this.emit("rendering");
|
|
8331
|
-
renderer.program.uniforms.projectionMatrix = this.root.toProjectionArray(true);
|
|
8332
|
-
this.renderStack.render(renderer);
|
|
8333
|
-
this._renderScreen(renderer);
|
|
8334
|
-
this.emit("rendered");
|
|
8335
|
-
}
|
|
8336
|
-
_renderScreen(renderer) {
|
|
8337
|
-
renderer.state.reset();
|
|
8338
|
-
renderer.framebuffer.bind(null);
|
|
8339
|
-
renderer.viewport.bind({
|
|
8340
|
-
x: 0,
|
|
8341
|
-
y: 0,
|
|
8342
|
-
width: this.root.width * renderer.pixelRatio,
|
|
8343
|
-
height: this.root.height * renderer.pixelRatio
|
|
8344
|
-
});
|
|
8345
|
-
if (this.backgroundColor) {
|
|
8346
|
-
renderer.gl.clearColor(...this._backgroundColor.toArray());
|
|
8347
|
-
}
|
|
8348
|
-
renderer.clear();
|
|
8349
|
-
if (this.backgroundColor) {
|
|
8350
|
-
renderer.gl.clearColor(0, 0, 0, 0);
|
|
8500
|
+
apply(renderer, source, context) {
|
|
8501
|
+
if (this.texture && context.targetArea) {
|
|
8502
|
+
source.redraw(renderer, () => {
|
|
8503
|
+
this.texture.activate(renderer, 1);
|
|
8504
|
+
QuadUvGeometry.draw(renderer, exports.MaskEffect.material, {
|
|
8505
|
+
sampler: 0,
|
|
8506
|
+
mask: 1,
|
|
8507
|
+
area: context.targetArea,
|
|
8508
|
+
rotation: context.target?.globalRotation ?? 0
|
|
8509
|
+
});
|
|
8510
|
+
renderer.texture.unbind(1);
|
|
8511
|
+
});
|
|
8351
8512
|
}
|
|
8352
|
-
const texture = this.root.texture;
|
|
8353
|
-
texture.activate(renderer, 0);
|
|
8354
|
-
QuadUvGeometry.draw(renderer);
|
|
8355
|
-
renderer.texture.unbind(texture);
|
|
8356
|
-
}
|
|
8357
|
-
free() {
|
|
8358
|
-
super.free();
|
|
8359
|
-
this.root.getChildren(true).forEach((node) => this.root.removeChild(node));
|
|
8360
|
-
this.input.removeEventListeners();
|
|
8361
8513
|
}
|
|
8514
|
+
};
|
|
8515
|
+
__publicField$8(exports.MaskEffect, "material", new Material({
|
|
8516
|
+
vert: `precision mediump float;
|
|
8517
|
+
attribute vec2 position;
|
|
8518
|
+
attribute vec2 uv;
|
|
8519
|
+
varying vec2 vUv;
|
|
8520
|
+
void main() {
|
|
8521
|
+
gl_Position = vec4(position, 0.0, 1.0);
|
|
8522
|
+
vUv = uv;
|
|
8523
|
+
}`,
|
|
8524
|
+
frag: `varying vec2 vUv;
|
|
8525
|
+
uniform sampler2D sampler;
|
|
8526
|
+
uniform sampler2D mask;
|
|
8527
|
+
uniform float area[4];
|
|
8528
|
+
uniform float rotation;
|
|
8529
|
+
|
|
8530
|
+
vec2 rotateUV(vec2 uv, float angle) {
|
|
8531
|
+
uv -= 0.5;
|
|
8532
|
+
float cosAngle = cos(angle);
|
|
8533
|
+
float sinAngle = sin(angle);
|
|
8534
|
+
mat2 rotationMatrix = mat2(
|
|
8535
|
+
cosAngle, -sinAngle,
|
|
8536
|
+
sinAngle, cosAngle
|
|
8537
|
+
);
|
|
8538
|
+
uv = rotationMatrix * uv;
|
|
8539
|
+
uv += 0.5;
|
|
8540
|
+
return uv;
|
|
8362
8541
|
}
|
|
8542
|
+
|
|
8543
|
+
void main(void) {
|
|
8544
|
+
if (
|
|
8545
|
+
vUv.x > area[0]
|
|
8546
|
+
&& vUv.x < (area[0] + area[2])
|
|
8547
|
+
&& (1.0 - vUv.y) > area[1]
|
|
8548
|
+
&& (1.0 - vUv.y) < (area[1] + area[3])
|
|
8549
|
+
) {
|
|
8550
|
+
vec4 color = texture2D(sampler, vUv);
|
|
8551
|
+
vec2 uv = vec2(
|
|
8552
|
+
(vUv.x - area[0]) / area[2],
|
|
8553
|
+
((1.0 - vUv.y) - area[1]) / area[3]
|
|
8554
|
+
);
|
|
8555
|
+
vec4 maskColor = texture2D(mask, rotateUV(uv, rotation));
|
|
8556
|
+
gl_FragColor = mix(vec4(0.), color, maskColor.a);
|
|
8557
|
+
} else {
|
|
8558
|
+
gl_FragColor = vec4(0.);
|
|
8559
|
+
}
|
|
8560
|
+
}`
|
|
8561
|
+
}));
|
|
8363
8562
|
__decorateClass$r([
|
|
8364
|
-
|
|
8365
|
-
],
|
|
8366
|
-
__decorateClass$r([
|
|
8367
|
-
property()
|
|
8368
|
-
], SceneTree.prototype, "backgroundColor");
|
|
8563
|
+
protectedProperty()
|
|
8564
|
+
], exports.MaskEffect.prototype, "texture", 2);
|
|
8369
8565
|
__decorateClass$r([
|
|
8370
|
-
|
|
8371
|
-
],
|
|
8566
|
+
property({ default: "" })
|
|
8567
|
+
], exports.MaskEffect.prototype, "src", 2);
|
|
8568
|
+
exports.MaskEffect = __decorateClass$r([
|
|
8569
|
+
customNode("MaskEffect")
|
|
8570
|
+
], exports.MaskEffect);
|
|
8372
8571
|
|
|
8572
|
+
var __defProp$j = Object.defineProperty;
|
|
8373
8573
|
var __getOwnPropDesc$p = Object.getOwnPropertyDescriptor;
|
|
8574
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8374
8575
|
var __decorateClass$q = (decorators, target, key, kind) => {
|
|
8375
8576
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$p(target, key) : target;
|
|
8376
8577
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
8377
8578
|
if (decorator = decorators[i])
|
|
8378
|
-
result = (decorator(result)) || result;
|
|
8579
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8580
|
+
if (kind && result) __defProp$j(target, key, result);
|
|
8379
8581
|
return result;
|
|
8380
8582
|
};
|
|
8381
|
-
|
|
8583
|
+
var __publicField$7 = (obj, key, value) => __defNormalProp$7(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8584
|
+
const frag = `precision highp float;
|
|
8585
|
+
varying vec2 vUv;
|
|
8586
|
+
uniform sampler2D sampler;
|
|
8587
|
+
uniform vec2 uThickness;
|
|
8588
|
+
uniform vec3 uColor;
|
|
8589
|
+
uniform float uAlpha;
|
|
8590
|
+
uniform float uKnockout;
|
|
8591
|
+
uniform vec4 uInputClamp;
|
|
8592
|
+
|
|
8593
|
+
const float DOUBLE_PI = 2. * 3.14159265358979323846264;
|
|
8594
|
+
const float ANGLE_STEP = {ANGLE_STEP};
|
|
8595
|
+
|
|
8596
|
+
float outlineMaxAlphaAtPos(vec2 pos) {
|
|
8597
|
+
if (uThickness.x == 0. || uThickness.y == 0.) {
|
|
8598
|
+
return 0.;
|
|
8599
|
+
}
|
|
8600
|
+
vec4 displacedColor;
|
|
8601
|
+
vec2 displacedPos;
|
|
8602
|
+
float maxAlpha = 0.;
|
|
8603
|
+
for (float angle = 0.; angle <= DOUBLE_PI; angle += ANGLE_STEP) {
|
|
8604
|
+
displacedPos.x = vUv.x + uThickness.x * cos(angle);
|
|
8605
|
+
displacedPos.y = vUv.y + uThickness.y * sin(angle);
|
|
8606
|
+
displacedColor = texture2D(sampler, clamp(displacedPos, uInputClamp.xy, uInputClamp.zw));
|
|
8607
|
+
maxAlpha = max(maxAlpha, displacedColor.a);
|
|
8608
|
+
}
|
|
8609
|
+
return maxAlpha;
|
|
8610
|
+
}
|
|
8611
|
+
|
|
8612
|
+
void main(void) {
|
|
8613
|
+
vec4 sourceColor = texture2D(sampler, vUv);
|
|
8614
|
+
vec4 contentColor = sourceColor * float(uKnockout < 0.5);
|
|
8615
|
+
float outlineAlpha = uAlpha * outlineMaxAlphaAtPos(vUv.xy) * (1.-sourceColor.a);
|
|
8616
|
+
vec4 outlineColor = vec4(vec3(uColor) * outlineAlpha, outlineAlpha);
|
|
8617
|
+
gl_FragColor = contentColor + outlineColor;
|
|
8618
|
+
}`;
|
|
8619
|
+
exports.OutlineEffect = class OutlineEffect extends exports.Effect {
|
|
8620
|
+
material;
|
|
8621
|
+
static getAngleStep(quality) {
|
|
8622
|
+
return Number.parseFloat(
|
|
8623
|
+
(Math.PI * 2 / Math.max(
|
|
8624
|
+
quality * exports.OutlineEffect.MAX_SAMPLES,
|
|
8625
|
+
exports.OutlineEffect.MIN_SAMPLES
|
|
8626
|
+
)).toFixed(7)
|
|
8627
|
+
);
|
|
8628
|
+
}
|
|
8629
|
+
_color = new Color();
|
|
8382
8630
|
constructor(properties, children = []) {
|
|
8383
8631
|
super();
|
|
8384
8632
|
this.setProperties(properties).append(children);
|
|
8633
|
+
this.material = new Material({
|
|
8634
|
+
vert: `precision mediump float;
|
|
8635
|
+
attribute vec2 position;
|
|
8636
|
+
attribute vec2 uv;
|
|
8637
|
+
varying vec2 vUv;
|
|
8638
|
+
void main() {
|
|
8639
|
+
gl_Position = vec4(position, 0.0, 1.0);
|
|
8640
|
+
vUv = uv;
|
|
8641
|
+
}`,
|
|
8642
|
+
frag: frag.replace(
|
|
8643
|
+
/\{ANGLE_STEP\}/,
|
|
8644
|
+
exports.OutlineEffect.getAngleStep(this.quality).toFixed(7)
|
|
8645
|
+
)
|
|
8646
|
+
});
|
|
8647
|
+
}
|
|
8648
|
+
apply(renderer, source) {
|
|
8649
|
+
source.redraw(renderer, () => {
|
|
8650
|
+
this._color.value = this.color;
|
|
8651
|
+
QuadUvGeometry.draw(renderer, this.material, {
|
|
8652
|
+
sampler: 0,
|
|
8653
|
+
uThickness: [
|
|
8654
|
+
this.thickness / source.width,
|
|
8655
|
+
this.thickness / source.height
|
|
8656
|
+
],
|
|
8657
|
+
uColor: this._color.toArray().slice(0, 3),
|
|
8658
|
+
uAlpha: this.alpha,
|
|
8659
|
+
uAngleStep: exports.OutlineEffect.getAngleStep(this.quality),
|
|
8660
|
+
uKnockout: this.knockout ? 1 : 0,
|
|
8661
|
+
uInputClamp: [0, 0, 1, 1]
|
|
8662
|
+
});
|
|
8663
|
+
});
|
|
8385
8664
|
}
|
|
8386
8665
|
};
|
|
8387
|
-
exports.
|
|
8388
|
-
|
|
8389
|
-
|
|
8390
|
-
|
|
8391
|
-
|
|
8392
|
-
|
|
8393
|
-
|
|
8666
|
+
__publicField$7(exports.OutlineEffect, "MIN_SAMPLES", 1);
|
|
8667
|
+
__publicField$7(exports.OutlineEffect, "MAX_SAMPLES", 100);
|
|
8668
|
+
__decorateClass$q([
|
|
8669
|
+
property({ default: 1 })
|
|
8670
|
+
], exports.OutlineEffect.prototype, "thickness", 2);
|
|
8671
|
+
__decorateClass$q([
|
|
8672
|
+
property({ default: 0 })
|
|
8673
|
+
], exports.OutlineEffect.prototype, "color", 2);
|
|
8674
|
+
__decorateClass$q([
|
|
8675
|
+
property({ default: 1 })
|
|
8676
|
+
], exports.OutlineEffect.prototype, "alpha", 2);
|
|
8677
|
+
__decorateClass$q([
|
|
8678
|
+
property({ default: 0.1 })
|
|
8679
|
+
], exports.OutlineEffect.prototype, "quality", 2);
|
|
8680
|
+
__decorateClass$q([
|
|
8681
|
+
property({ default: false })
|
|
8682
|
+
], exports.OutlineEffect.prototype, "knockout", 2);
|
|
8683
|
+
exports.OutlineEffect = __decorateClass$q([
|
|
8684
|
+
customNode("OutlineEffect")
|
|
8685
|
+
], exports.OutlineEffect);
|
|
8394
8686
|
|
|
8395
8687
|
var __defProp$i = Object.defineProperty;
|
|
8396
8688
|
var __getOwnPropDesc$o = Object.getOwnPropertyDescriptor;
|
|
@@ -8399,37 +8691,27 @@ var __decorateClass$p = (decorators, target, key, kind) => {
|
|
|
8399
8691
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$o(target, key) : target;
|
|
8400
8692
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
8401
8693
|
if (decorator = decorators[i])
|
|
8402
|
-
result = (decorator(result)) || result;
|
|
8694
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8695
|
+
if (kind && result) __defProp$i(target, key, result);
|
|
8403
8696
|
return result;
|
|
8404
8697
|
};
|
|
8405
8698
|
var __publicField$6 = (obj, key, value) => __defNormalProp$6(obj, key + "" , value);
|
|
8406
|
-
exports.
|
|
8407
|
-
|
|
8408
|
-
|
|
8699
|
+
exports.PixelateEffect = class PixelateEffect extends exports.Effect {
|
|
8700
|
+
constructor(properties, children = []) {
|
|
8701
|
+
super();
|
|
8702
|
+
this.setProperties(properties).append(children);
|
|
8703
|
+
}
|
|
8409
8704
|
apply(renderer, source) {
|
|
8410
|
-
this.viewport3.activateWithCopy(renderer, source);
|
|
8411
|
-
this.viewport3.redraw(renderer, () => {
|
|
8412
|
-
QuadUvGeometry.draw(renderer, exports.ShadowEffect.material, {
|
|
8413
|
-
sampler: 0,
|
|
8414
|
-
offset: [1e-3, 1e-3],
|
|
8415
|
-
color: [0, 0, 0],
|
|
8416
|
-
alpha: 0.5
|
|
8417
|
-
});
|
|
8418
|
-
});
|
|
8419
|
-
this.blur.apply(renderer, this.viewport3);
|
|
8420
8705
|
source.redraw(renderer, () => {
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
QuadUvGeometry.draw(renderer, UvMaterial.instance, {
|
|
8426
|
-
sampler: 0
|
|
8706
|
+
QuadUvGeometry.draw(renderer, exports.PixelateEffect.material, {
|
|
8707
|
+
sampler: 0,
|
|
8708
|
+
uSize: [this.strength, this.strength],
|
|
8709
|
+
uInputSize: [source.width, source.height, 1 / source.width, 1 / source.height]
|
|
8427
8710
|
});
|
|
8428
|
-
renderer.texture.unbind(1);
|
|
8429
8711
|
});
|
|
8430
8712
|
}
|
|
8431
8713
|
};
|
|
8432
|
-
__publicField$6(exports.
|
|
8714
|
+
__publicField$6(exports.PixelateEffect, "material", new Material({
|
|
8433
8715
|
vert: `precision mediump float;
|
|
8434
8716
|
attribute vec2 position;
|
|
8435
8717
|
attribute vec2 uv;
|
|
@@ -8438,23 +8720,40 @@ void main() {
|
|
|
8438
8720
|
gl_Position = vec4(position, 0.0, 1.0);
|
|
8439
8721
|
vUv = uv;
|
|
8440
8722
|
}`,
|
|
8441
|
-
frag: `
|
|
8442
|
-
varying vec2 vUv;
|
|
8723
|
+
frag: `varying vec2 vUv;
|
|
8443
8724
|
uniform sampler2D sampler;
|
|
8444
|
-
uniform
|
|
8445
|
-
uniform
|
|
8446
|
-
|
|
8725
|
+
uniform vec2 uSize;
|
|
8726
|
+
uniform vec4 uInputSize;
|
|
8727
|
+
|
|
8728
|
+
vec2 mapCoord(vec2 coord) {
|
|
8729
|
+
coord *= uInputSize.xy;
|
|
8730
|
+
coord += uInputSize.zw;
|
|
8731
|
+
return coord;
|
|
8732
|
+
}
|
|
8733
|
+
|
|
8734
|
+
vec2 unmapCoord(vec2 coord) {
|
|
8735
|
+
coord -= uInputSize.zw;
|
|
8736
|
+
coord /= uInputSize.xy;
|
|
8737
|
+
return coord;
|
|
8738
|
+
}
|
|
8739
|
+
|
|
8740
|
+
vec2 pixelate(vec2 coord, vec2 size) {
|
|
8741
|
+
return floor(coord / size) * size;
|
|
8742
|
+
}
|
|
8447
8743
|
|
|
8448
8744
|
void main(void) {
|
|
8449
|
-
|
|
8450
|
-
|
|
8451
|
-
|
|
8452
|
-
gl_FragColor =
|
|
8745
|
+
vec2 coord = mapCoord(vUv);
|
|
8746
|
+
coord = pixelate(coord, uSize);
|
|
8747
|
+
coord = unmapCoord(coord);
|
|
8748
|
+
gl_FragColor = texture2D(sampler, coord);
|
|
8453
8749
|
}`
|
|
8454
8750
|
}));
|
|
8455
|
-
|
|
8456
|
-
|
|
8457
|
-
], exports.
|
|
8751
|
+
__decorateClass$p([
|
|
8752
|
+
property({ default: 10 })
|
|
8753
|
+
], exports.PixelateEffect.prototype, "strength", 2);
|
|
8754
|
+
exports.PixelateEffect = __decorateClass$p([
|
|
8755
|
+
customNode("PixelateEffect")
|
|
8756
|
+
], exports.PixelateEffect);
|
|
8458
8757
|
|
|
8459
8758
|
var __defProp$h = Object.defineProperty;
|
|
8460
8759
|
var __getOwnPropDesc$n = Object.getOwnPropertyDescriptor;
|
|
@@ -8469,19 +8768,19 @@ var __decorateClass$o = (decorators, target, key, kind) => {
|
|
|
8469
8768
|
};
|
|
8470
8769
|
var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, key + "" , value);
|
|
8471
8770
|
exports.ZoomBlurEffect = class ZoomBlurEffect extends exports.Effect {
|
|
8472
|
-
|
|
8473
|
-
|
|
8474
|
-
|
|
8475
|
-
|
|
8771
|
+
constructor(properties, children = []) {
|
|
8772
|
+
super();
|
|
8773
|
+
this.setProperties(properties).append(children);
|
|
8774
|
+
}
|
|
8476
8775
|
apply(renderer, source) {
|
|
8477
8776
|
source.redraw(renderer, () => {
|
|
8478
8777
|
QuadUvGeometry.draw(renderer, exports.ZoomBlurEffect.material, {
|
|
8479
8778
|
sampler: 0,
|
|
8480
|
-
|
|
8481
|
-
|
|
8482
|
-
|
|
8483
|
-
|
|
8484
|
-
|
|
8779
|
+
uCenter: this.center ?? [source.width / 2, source.height / 2],
|
|
8780
|
+
uInnerRadius: this.innerRadius,
|
|
8781
|
+
uRadius: this.radius,
|
|
8782
|
+
uStrength: this.strength,
|
|
8783
|
+
uInputSize: [source.width, source.height, 1 / source.width, 1 / source.height]
|
|
8485
8784
|
});
|
|
8486
8785
|
});
|
|
8487
8786
|
}
|
|
@@ -8496,12 +8795,12 @@ void main() {
|
|
|
8496
8795
|
}`,
|
|
8497
8796
|
frag: `varying vec2 vUv;
|
|
8498
8797
|
uniform sampler2D sampler;
|
|
8499
|
-
uniform vec4
|
|
8798
|
+
uniform vec4 uInputSize;
|
|
8500
8799
|
|
|
8501
|
-
uniform vec2
|
|
8502
|
-
uniform float
|
|
8503
|
-
uniform float
|
|
8504
|
-
uniform float
|
|
8800
|
+
uniform vec2 uCenter;
|
|
8801
|
+
uniform float uStrength;
|
|
8802
|
+
uniform float uInnerRadius;
|
|
8803
|
+
uniform float uRadius;
|
|
8505
8804
|
|
|
8506
8805
|
const float MAX_KERNEL_SIZE = 32.0;
|
|
8507
8806
|
|
|
@@ -8512,18 +8811,18 @@ highp float rand(vec2 co, float seed) {
|
|
|
8512
8811
|
}
|
|
8513
8812
|
|
|
8514
8813
|
void main() {
|
|
8515
|
-
float minGradient =
|
|
8516
|
-
float innerRadius1 = (
|
|
8814
|
+
float minGradient = uInnerRadius * 0.3;
|
|
8815
|
+
float innerRadius1 = (uInnerRadius + minGradient * 0.5) / uInputSize.x;
|
|
8517
8816
|
|
|
8518
|
-
float gradient =
|
|
8519
|
-
float radius1 = (
|
|
8817
|
+
float gradient = uRadius * 0.3;
|
|
8818
|
+
float radius1 = (uRadius - gradient * 0.5) / uInputSize.x;
|
|
8520
8819
|
|
|
8521
8820
|
float countLimit = MAX_KERNEL_SIZE;
|
|
8522
8821
|
|
|
8523
|
-
vec2 dir = vec2(
|
|
8524
|
-
float dist = length(vec2(dir.x, dir.y *
|
|
8822
|
+
vec2 dir = vec2(uCenter.xy / uInputSize.xy - vUv);
|
|
8823
|
+
float dist = length(vec2(dir.x, dir.y * uInputSize.y / uInputSize.x));
|
|
8525
8824
|
|
|
8526
|
-
float strength1 =
|
|
8825
|
+
float strength1 = uStrength;
|
|
8527
8826
|
|
|
8528
8827
|
float delta = 0.0;
|
|
8529
8828
|
float gap;
|
|
@@ -8536,7 +8835,7 @@ void main() {
|
|
|
8536
8835
|
}
|
|
8537
8836
|
|
|
8538
8837
|
if (delta > 0.0) {
|
|
8539
|
-
float normalCount = gap /
|
|
8838
|
+
float normalCount = gap / uInputSize.x;
|
|
8540
8839
|
delta = (normalCount - delta) / normalCount;
|
|
8541
8840
|
countLimit *= delta;
|
|
8542
8841
|
strength1 *= delta;
|
|
@@ -8574,13 +8873,13 @@ __decorateClass$o([
|
|
|
8574
8873
|
property()
|
|
8575
8874
|
], exports.ZoomBlurEffect.prototype, "center", 2);
|
|
8576
8875
|
__decorateClass$o([
|
|
8577
|
-
property()
|
|
8876
|
+
property({ default: 20 })
|
|
8578
8877
|
], exports.ZoomBlurEffect.prototype, "innerRadius", 2);
|
|
8579
8878
|
__decorateClass$o([
|
|
8580
|
-
property()
|
|
8879
|
+
property({ default: -1 })
|
|
8581
8880
|
], exports.ZoomBlurEffect.prototype, "radius", 2);
|
|
8582
8881
|
__decorateClass$o([
|
|
8583
|
-
property()
|
|
8882
|
+
property({ default: 0.1 })
|
|
8584
8883
|
], exports.ZoomBlurEffect.prototype, "strength", 2);
|
|
8585
8884
|
exports.ZoomBlurEffect = __decorateClass$o([
|
|
8586
8885
|
customNode("ZoomBlurEffect")
|
|
@@ -8809,7 +9108,7 @@ exports.BaseElement2D = class BaseElement2D extends exports.Node2D {
|
|
|
8809
9108
|
if (this.style.boxShadow !== "none") {
|
|
8810
9109
|
const node = this.getNode(nodePath);
|
|
8811
9110
|
if (node) ; else {
|
|
8812
|
-
this.appendChild(new exports.
|
|
9111
|
+
this.appendChild(new exports.DropShadowEffect({ name: nodePath }), "back");
|
|
8813
9112
|
}
|
|
8814
9113
|
} else {
|
|
8815
9114
|
const node = this.getNode(nodePath);
|
|
@@ -13347,6 +13646,7 @@ exports.WebSound = WebSound;
|
|
|
13347
13646
|
exports.WheelInputEvent = WheelInputEvent;
|
|
13348
13647
|
exports.assets = assets;
|
|
13349
13648
|
exports.clamp = clamp;
|
|
13649
|
+
exports.clampFrag = clampFrag;
|
|
13350
13650
|
exports.createHTMLCanvas = createHTMLCanvas;
|
|
13351
13651
|
exports.createNode = createNode;
|
|
13352
13652
|
exports.crossOrigin = crossOrigin;
|
|
@@ -13361,6 +13661,7 @@ exports.ease = ease;
|
|
|
13361
13661
|
exports.easeIn = easeIn;
|
|
13362
13662
|
exports.easeInOut = easeInOut;
|
|
13363
13663
|
exports.easeOut = easeOut;
|
|
13664
|
+
exports.frag = frag$1;
|
|
13364
13665
|
exports.getDeclarations = getDeclarations;
|
|
13365
13666
|
exports.getDefaultCssPropertyValue = getDefaultCssPropertyValue;
|
|
13366
13667
|
exports.isCanvasElement = isCanvasElement;
|