@galacean/effects-core 2.3.0-beta.0 → 2.3.0-beta.2
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/asset-manager.d.ts +0 -1
- package/dist/asset-service.d.ts +17 -1
- package/dist/camera.d.ts +0 -1
- package/dist/index.js +124 -288
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +124 -288
- package/dist/index.mjs.map +1 -1
- package/dist/plugin-system.d.ts +3 -3
- package/dist/plugins/particle/particle-loader.d.ts +0 -4
- package/dist/plugins/plugin.d.ts +8 -1
- package/dist/plugins/sprite/sprite-loader.d.ts +0 -4
- package/dist/scene.d.ts +0 -6
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime core for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v2.3.0-beta.
|
|
6
|
+
* Version: v2.3.0-beta.2
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -33,6 +33,41 @@ function _async_to_generator(fn) {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
function _array_like_to_array(arr, len) {
|
|
37
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
38
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
39
|
+
return arr2;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
43
|
+
if (!o) return;
|
|
44
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
45
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
46
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
47
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
48
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
52
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
53
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
54
|
+
// Fallback for engines without symbol support
|
|
55
|
+
if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
56
|
+
if (it) o = it;
|
|
57
|
+
var i = 0;
|
|
58
|
+
return function() {
|
|
59
|
+
if (i >= o.length) return {
|
|
60
|
+
done: true
|
|
61
|
+
};
|
|
62
|
+
return {
|
|
63
|
+
done: false,
|
|
64
|
+
value: o[i++]
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
69
|
+
}
|
|
70
|
+
|
|
36
71
|
function _instanceof1(left, right) {
|
|
37
72
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
38
73
|
return !!right[Symbol.hasInstance](left);
|
|
@@ -816,16 +851,13 @@ var pluginCtrlMap = {};
|
|
|
816
851
|
* @param pluginClass class of plugin
|
|
817
852
|
* @param itemClass class of item
|
|
818
853
|
* @param isDefault load
|
|
819
|
-
*/
|
|
820
|
-
function registerPlugin(name, pluginClass, itemClass, isDefault) {
|
|
854
|
+
*/ function registerPlugin(name, pluginClass, itemClass) {
|
|
821
855
|
if (pluginCtrlMap[name]) {
|
|
822
856
|
logger.error("Duplicate registration for plugin " + name + ".");
|
|
823
857
|
}
|
|
824
858
|
pluginCtrlMap[name] = itemClass;
|
|
825
859
|
pluginLoaderMap[name] = pluginClass;
|
|
826
|
-
|
|
827
|
-
addItem(defaultPlugins, name);
|
|
828
|
-
}
|
|
860
|
+
addItem(defaultPlugins, name);
|
|
829
861
|
}
|
|
830
862
|
function unregisterPlugin(name) {
|
|
831
863
|
delete pluginCtrlMap[name];
|
|
@@ -833,7 +865,7 @@ function unregisterPlugin(name) {
|
|
|
833
865
|
removeItem(defaultPlugins, name);
|
|
834
866
|
}
|
|
835
867
|
var PluginSystem = /*#__PURE__*/ function() {
|
|
836
|
-
function PluginSystem(
|
|
868
|
+
function PluginSystem() {
|
|
837
869
|
var loaders = {};
|
|
838
870
|
var loaded = [];
|
|
839
871
|
var addLoader = function(name) {
|
|
@@ -844,7 +876,6 @@ var PluginSystem = /*#__PURE__*/ function() {
|
|
|
844
876
|
}
|
|
845
877
|
};
|
|
846
878
|
defaultPlugins.forEach(addLoader);
|
|
847
|
-
pluginNames.forEach(addLoader);
|
|
848
879
|
this.plugins = Object.keys(loaders).map(function(name) {
|
|
849
880
|
var CTRL = pluginLoaderMap[name];
|
|
850
881
|
if (!CTRL) {
|
|
@@ -896,15 +927,10 @@ var PluginSystem = /*#__PURE__*/ function() {
|
|
|
896
927
|
})();
|
|
897
928
|
};
|
|
898
929
|
_proto.precompile = function precompile(compositions, renderer, options) {
|
|
899
|
-
var
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
2,
|
|
904
|
-
_this.callStatic("precompile", compositions, renderer, options)
|
|
905
|
-
];
|
|
906
|
-
});
|
|
907
|
-
})();
|
|
930
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.plugins), _step; !(_step = _iterator()).done;){
|
|
931
|
+
var plugin = _step.value;
|
|
932
|
+
plugin.precompile(compositions, renderer, options);
|
|
933
|
+
}
|
|
908
934
|
};
|
|
909
935
|
_proto.loadResources = function loadResources(scene, options) {
|
|
910
936
|
var _this = this;
|
|
@@ -974,6 +1000,11 @@ function getPluginUsageInfo(name) {
|
|
|
974
1000
|
this.name = "";
|
|
975
1001
|
}
|
|
976
1002
|
var _proto = AbstractPlugin.prototype;
|
|
1003
|
+
/**
|
|
1004
|
+
* 在加载到 JSON 后,就可以进行提前编译
|
|
1005
|
+
* @param json
|
|
1006
|
+
* @param player
|
|
1007
|
+
*/ _proto.precompile = function precompile(compositions, renderer, options) {};
|
|
977
1008
|
_proto.onCompositionConstructed = function onCompositionConstructed(composition, scene) {};
|
|
978
1009
|
_proto.onCompositionItemLifeBegin = function onCompositionItemLifeBegin(composition, item) {};
|
|
979
1010
|
_proto.onCompositionItemLifeEnd = function onCompositionItemLifeEnd(composition, item) {};
|
|
@@ -986,13 +1017,6 @@ function getPluginUsageInfo(name) {
|
|
|
986
1017
|
return false;
|
|
987
1018
|
};
|
|
988
1019
|
_proto.postProcessFrame = function postProcessFrame(composition, frame) {};
|
|
989
|
-
/**
|
|
990
|
-
* 在加载到 JSON 后,就可以进行提前编译
|
|
991
|
-
* @param json
|
|
992
|
-
* @param player
|
|
993
|
-
*/ AbstractPlugin.precompile = function precompile(compositions, renderer) {
|
|
994
|
-
return Promise.resolve();
|
|
995
|
-
};
|
|
996
1020
|
return AbstractPlugin;
|
|
997
1021
|
}();
|
|
998
1022
|
|
|
@@ -6667,41 +6691,6 @@ function setDefaultTextureFactory(factory) {
|
|
|
6667
6691
|
g = factory;
|
|
6668
6692
|
}
|
|
6669
6693
|
|
|
6670
|
-
function _array_like_to_array(arr, len) {
|
|
6671
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
6672
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
6673
|
-
return arr2;
|
|
6674
|
-
}
|
|
6675
|
-
|
|
6676
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
6677
|
-
if (!o) return;
|
|
6678
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
6679
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
6680
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
6681
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
6682
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
6683
|
-
}
|
|
6684
|
-
|
|
6685
|
-
function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
6686
|
-
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
6687
|
-
if (it) return (it = it.call(o)).next.bind(it);
|
|
6688
|
-
// Fallback for engines without symbol support
|
|
6689
|
-
if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
6690
|
-
if (it) o = it;
|
|
6691
|
-
var i = 0;
|
|
6692
|
-
return function() {
|
|
6693
|
-
if (i >= o.length) return {
|
|
6694
|
-
done: true
|
|
6695
|
-
};
|
|
6696
|
-
return {
|
|
6697
|
-
done: false,
|
|
6698
|
-
value: o[i++]
|
|
6699
|
-
};
|
|
6700
|
-
};
|
|
6701
|
-
}
|
|
6702
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
6703
|
-
}
|
|
6704
|
-
|
|
6705
6694
|
var ShaderCompileResultStatus;
|
|
6706
6695
|
(function(ShaderCompileResultStatus) {
|
|
6707
6696
|
ShaderCompileResultStatus[ShaderCompileResultStatus["noShader"] = 0] = "noShader";
|
|
@@ -16158,7 +16147,8 @@ vertices, _verticesStride, _verticesOffset, indices, _indicesOffset) {
|
|
|
16158
16147
|
var perpY = x0 - x1;
|
|
16159
16148
|
var perp1x = 0;
|
|
16160
16149
|
var perp1y = 0;
|
|
16161
|
-
|
|
16150
|
+
// 计算向量长度并添加极小值 NumberEpsilon 以避免除以零的情况。
|
|
16151
|
+
var dist = Math.sqrt(perpX * perpX + perpY * perpY) + NumberEpsilon;
|
|
16162
16152
|
perpX /= dist;
|
|
16163
16153
|
perpY /= dist;
|
|
16164
16154
|
perpX *= width;
|
|
@@ -16185,14 +16175,14 @@ vertices, _verticesStride, _verticesOffset, indices, _indicesOffset) {
|
|
|
16185
16175
|
y2 = points[(i + 1) * 2 + 1];
|
|
16186
16176
|
perpX = -(y0 - y1);
|
|
16187
16177
|
perpY = x0 - x1;
|
|
16188
|
-
dist = Math.sqrt(perpX * perpX + perpY * perpY);
|
|
16178
|
+
dist = Math.sqrt(perpX * perpX + perpY * perpY) + NumberEpsilon;
|
|
16189
16179
|
perpX /= dist;
|
|
16190
16180
|
perpY /= dist;
|
|
16191
16181
|
perpX *= width;
|
|
16192
16182
|
perpY *= width;
|
|
16193
16183
|
perp1x = -(y1 - y2);
|
|
16194
16184
|
perp1y = x1 - x2;
|
|
16195
|
-
dist = Math.sqrt(perp1x * perp1x + perp1y * perp1y);
|
|
16185
|
+
dist = Math.sqrt(perp1x * perp1x + perp1y * perp1y) + NumberEpsilon;
|
|
16196
16186
|
perp1x /= dist;
|
|
16197
16187
|
perp1y /= dist;
|
|
16198
16188
|
perp1x *= width;
|
|
@@ -16293,7 +16283,7 @@ vertices, _verticesStride, _verticesOffset, indices, _indicesOffset) {
|
|
|
16293
16283
|
y1 = points[(length - 1) * 2 + 1];
|
|
16294
16284
|
perpX = -(y0 - y1);
|
|
16295
16285
|
perpY = x0 - x1;
|
|
16296
|
-
dist = Math.sqrt(perpX * perpX + perpY * perpY);
|
|
16286
|
+
dist = Math.sqrt(perpX * perpX + perpY * perpY) + NumberEpsilon;
|
|
16297
16287
|
perpX /= dist;
|
|
16298
16288
|
perpY /= dist;
|
|
16299
16289
|
perpX *= width;
|
|
@@ -16456,7 +16446,7 @@ var ShapeComponent = /*#__PURE__*/ function(MeshComponent) {
|
|
|
16456
16446
|
indices.length;
|
|
16457
16447
|
var vertOffset1 = vertices.length / 2;
|
|
16458
16448
|
var lineStyle = this.strokeAttributes;
|
|
16459
|
-
var close =
|
|
16449
|
+
var close = true;
|
|
16460
16450
|
if (this.shapeAttribute.type === ShapePrimitiveType.Custom) {
|
|
16461
16451
|
close = shape1.closePath;
|
|
16462
16452
|
}
|
|
@@ -16838,7 +16828,10 @@ var CameraController = /*#__PURE__*/ function(Behaviour) {
|
|
|
16838
16828
|
camera.far = this.options.far;
|
|
16839
16829
|
camera.fov = this.options.fov;
|
|
16840
16830
|
camera.clipMode = this.options.clipMode;
|
|
16841
|
-
camera.
|
|
16831
|
+
camera.transform.parentTransform = this.transform.parentTransform;
|
|
16832
|
+
camera.position = this.transform.position;
|
|
16833
|
+
// TODO 修正 GE 四元数旋转共轭问题
|
|
16834
|
+
camera.setQuat(this.transform.getQuaternion().clone().conjugate());
|
|
16842
16835
|
}
|
|
16843
16836
|
};
|
|
16844
16837
|
_proto.fromData = function fromData(data) {
|
|
@@ -17577,61 +17570,6 @@ function shouldIgnoreBouncing(arg, mul) {
|
|
|
17577
17570
|
return MeshCollider;
|
|
17578
17571
|
}();
|
|
17579
17572
|
|
|
17580
|
-
var maxSpriteMeshItemCount = 8;
|
|
17581
|
-
function setSpriteMeshMaxItemCountByGPU(gpuCapability) {
|
|
17582
|
-
if (gpuCapability.maxVertexUniforms >= 256) {
|
|
17583
|
-
return maxSpriteMeshItemCount = 32;
|
|
17584
|
-
} else if (gpuCapability.maxVertexUniforms >= 128) {
|
|
17585
|
-
return maxSpriteMeshItemCount = 16;
|
|
17586
|
-
}
|
|
17587
|
-
}
|
|
17588
|
-
function spriteMeshShaderFromFilter(level, options) {
|
|
17589
|
-
var _ref = options != null ? options : {}, _ref_env = _ref.env, env = _ref_env === void 0 ? "" : _ref_env, wireframe = _ref.wireframe;
|
|
17590
|
-
var macros = [
|
|
17591
|
-
[
|
|
17592
|
-
"ENV_EDITOR",
|
|
17593
|
-
env === PLAYER_OPTIONS_ENV_EDITOR
|
|
17594
|
-
]
|
|
17595
|
-
];
|
|
17596
|
-
var fragment = wireframe ? itemFrameFrag : itemFrag;
|
|
17597
|
-
var vertex = itemVert;
|
|
17598
|
-
return {
|
|
17599
|
-
fragment: fragment,
|
|
17600
|
-
vertex: vertex,
|
|
17601
|
-
glslVersion: level === 1 ? GLSLVersion.GLSL1 : GLSLVersion.GLSL3,
|
|
17602
|
-
macros: macros,
|
|
17603
|
-
shared: true
|
|
17604
|
-
};
|
|
17605
|
-
}
|
|
17606
|
-
function spriteMeshShaderIdFromRenderInfo(renderInfo, count) {
|
|
17607
|
-
return renderInfo.cachePrefix + "_effects_sprite_" + count;
|
|
17608
|
-
}
|
|
17609
|
-
function spriteMeshShaderFromRenderInfo(renderInfo, count, level, env) {
|
|
17610
|
-
var wireframe = renderInfo.wireframe;
|
|
17611
|
-
var shader = spriteMeshShaderFromFilter(level, {
|
|
17612
|
-
wireframe: wireframe,
|
|
17613
|
-
env: env
|
|
17614
|
-
});
|
|
17615
|
-
shader.shared = true;
|
|
17616
|
-
// if (!wireframe) {
|
|
17617
|
-
// shader.cacheId = spriteMeshShaderIdFromRenderInfo(renderInfo, count);
|
|
17618
|
-
// }
|
|
17619
|
-
return shader;
|
|
17620
|
-
}
|
|
17621
|
-
// TODO: 只有单测用
|
|
17622
|
-
function setMaxSpriteMeshItemCount(count) {
|
|
17623
|
-
maxSpriteMeshItemCount = count;
|
|
17624
|
-
}
|
|
17625
|
-
|
|
17626
|
-
var defRenderInfo = {
|
|
17627
|
-
blending: 0,
|
|
17628
|
-
cacheId: "-",
|
|
17629
|
-
mask: 0,
|
|
17630
|
-
maskMode: 0,
|
|
17631
|
-
occlusion: false,
|
|
17632
|
-
side: 0,
|
|
17633
|
-
cachePrefix: "-"
|
|
17634
|
-
};
|
|
17635
17573
|
var SpriteLoader = /*#__PURE__*/ function(AbstractPlugin) {
|
|
17636
17574
|
_inherits(SpriteLoader, AbstractPlugin);
|
|
17637
17575
|
function SpriteLoader() {
|
|
@@ -17640,19 +17578,6 @@ var SpriteLoader = /*#__PURE__*/ function(AbstractPlugin) {
|
|
|
17640
17578
|
_this.name = "sprite";
|
|
17641
17579
|
return _this;
|
|
17642
17580
|
}
|
|
17643
|
-
SpriteLoader.precompile = function precompile(compositions, render, options) {
|
|
17644
|
-
var shaderLibrary = render.getShaderLibrary();
|
|
17645
|
-
var _render_engine_gpuCapability = render.engine.gpuCapability, level = _render_engine_gpuCapability.level, detail = _render_engine_gpuCapability.detail;
|
|
17646
|
-
var env = (options != null ? options : {}).env;
|
|
17647
|
-
if (!(shaderLibrary == null ? void 0 : shaderLibrary.shaderResults[spriteMeshShaderIdFromRenderInfo(defRenderInfo, 2)])) {
|
|
17648
|
-
shaderLibrary == null ? void 0 : shaderLibrary.addShader(spriteMeshShaderFromRenderInfo(defRenderInfo, 2, 1, env));
|
|
17649
|
-
shaderLibrary == null ? void 0 : shaderLibrary.addShader(spriteMeshShaderFromRenderInfo(defRenderInfo, maxSpriteMeshItemCount, 1, env));
|
|
17650
|
-
if (detail.writableFragDepth) {
|
|
17651
|
-
shaderLibrary == null ? void 0 : shaderLibrary.addShader(createCopyShader(level, true));
|
|
17652
|
-
}
|
|
17653
|
-
}
|
|
17654
|
-
return Promise.resolve();
|
|
17655
|
-
};
|
|
17656
17581
|
return SpriteLoader;
|
|
17657
17582
|
}(AbstractPlugin);
|
|
17658
17583
|
|
|
@@ -19854,66 +19779,6 @@ function calculateDirection(prePoint, point, nextPoint) {
|
|
|
19854
19779
|
}
|
|
19855
19780
|
return dir.normalize().toArray();
|
|
19856
19781
|
}
|
|
19857
|
-
function getTrailMeshShader(trails, particleMaxCount, name, gpuCapability, env) {
|
|
19858
|
-
if (env === void 0) env = "";
|
|
19859
|
-
var shaderCacheId = 0;
|
|
19860
|
-
var lookUpTexture = getConfig(RENDER_PREFER_LOOKUP_TEXTURE) ? 1 : 0;
|
|
19861
|
-
var enableVertexTexture = gpuCapability.detail.maxVertexTextures > 0;
|
|
19862
|
-
var macros = [
|
|
19863
|
-
[
|
|
19864
|
-
"ENABLE_VERTEX_TEXTURE",
|
|
19865
|
-
enableVertexTexture
|
|
19866
|
-
],
|
|
19867
|
-
[
|
|
19868
|
-
"LOOKUP_TEXTURE_CURVE",
|
|
19869
|
-
lookUpTexture
|
|
19870
|
-
],
|
|
19871
|
-
[
|
|
19872
|
-
"ENV_EDITOR",
|
|
19873
|
-
env === PLAYER_OPTIONS_ENV_EDITOR
|
|
19874
|
-
]
|
|
19875
|
-
];
|
|
19876
|
-
var keyFrameMeta = createKeyFrameMeta();
|
|
19877
|
-
if (trails.colorOverLifetime) {
|
|
19878
|
-
macros.push([
|
|
19879
|
-
"COLOR_OVER_LIFETIME",
|
|
19880
|
-
true
|
|
19881
|
-
]);
|
|
19882
|
-
shaderCacheId |= 1;
|
|
19883
|
-
}
|
|
19884
|
-
if (trails.colorOverTrail) {
|
|
19885
|
-
macros.push([
|
|
19886
|
-
"COLOR_OVER_TRAIL",
|
|
19887
|
-
true
|
|
19888
|
-
]);
|
|
19889
|
-
shaderCacheId |= 1 << 2;
|
|
19890
|
-
}
|
|
19891
|
-
var useAttributeTrailStart = particleMaxCount > 64;
|
|
19892
|
-
if (useAttributeTrailStart) {
|
|
19893
|
-
macros.push([
|
|
19894
|
-
"ATTR_TRAIL_START",
|
|
19895
|
-
1
|
|
19896
|
-
]);
|
|
19897
|
-
shaderCacheId |= 1 << 3;
|
|
19898
|
-
}
|
|
19899
|
-
getKeyFrameMetaByRawValue(keyFrameMeta, trails.opacityOverLifetime);
|
|
19900
|
-
getKeyFrameMetaByRawValue(keyFrameMeta, trails.widthOverTrail);
|
|
19901
|
-
macros.push([
|
|
19902
|
-
"VERT_CURVE_VALUE_COUNT",
|
|
19903
|
-
keyFrameMeta.index
|
|
19904
|
-
], [
|
|
19905
|
-
"VERT_MAX_KEY_FRAME_COUNT",
|
|
19906
|
-
keyFrameMeta.max
|
|
19907
|
-
]);
|
|
19908
|
-
return {
|
|
19909
|
-
vertex: trailVert,
|
|
19910
|
-
fragment: particleFrag,
|
|
19911
|
-
macros: macros,
|
|
19912
|
-
shared: true,
|
|
19913
|
-
name: "trail#" + name,
|
|
19914
|
-
cacheId: "-t:+" + shaderCacheId + "+" + keyFrameMeta.index + "+" + keyFrameMeta.max
|
|
19915
|
-
};
|
|
19916
|
-
}
|
|
19917
19782
|
|
|
19918
19783
|
/**
|
|
19919
19784
|
* @since 2.0.0
|
|
@@ -24937,59 +24802,57 @@ SpriteComponent = __decorate([
|
|
|
24937
24802
|
effectsClass(DataType.SpriteComponent)
|
|
24938
24803
|
], SpriteComponent);
|
|
24939
24804
|
|
|
24805
|
+
var maxSpriteMeshItemCount = 8;
|
|
24806
|
+
function setSpriteMeshMaxItemCountByGPU(gpuCapability) {
|
|
24807
|
+
if (gpuCapability.maxVertexUniforms >= 256) {
|
|
24808
|
+
return maxSpriteMeshItemCount = 32;
|
|
24809
|
+
} else if (gpuCapability.maxVertexUniforms >= 128) {
|
|
24810
|
+
return maxSpriteMeshItemCount = 16;
|
|
24811
|
+
}
|
|
24812
|
+
}
|
|
24813
|
+
function spriteMeshShaderFromFilter(level, options) {
|
|
24814
|
+
var _ref = options != null ? options : {}, _ref_env = _ref.env, env = _ref_env === void 0 ? "" : _ref_env, wireframe = _ref.wireframe;
|
|
24815
|
+
var macros = [
|
|
24816
|
+
[
|
|
24817
|
+
"ENV_EDITOR",
|
|
24818
|
+
env === PLAYER_OPTIONS_ENV_EDITOR
|
|
24819
|
+
]
|
|
24820
|
+
];
|
|
24821
|
+
var fragment = wireframe ? itemFrameFrag : itemFrag;
|
|
24822
|
+
var vertex = itemVert;
|
|
24823
|
+
return {
|
|
24824
|
+
fragment: fragment,
|
|
24825
|
+
vertex: vertex,
|
|
24826
|
+
glslVersion: level === 1 ? GLSLVersion.GLSL1 : GLSLVersion.GLSL3,
|
|
24827
|
+
macros: macros,
|
|
24828
|
+
shared: true
|
|
24829
|
+
};
|
|
24830
|
+
}
|
|
24831
|
+
function spriteMeshShaderIdFromRenderInfo(renderInfo, count) {
|
|
24832
|
+
return renderInfo.cachePrefix + "_effects_sprite_" + count;
|
|
24833
|
+
}
|
|
24834
|
+
function spriteMeshShaderFromRenderInfo(renderInfo, count, level, env) {
|
|
24835
|
+
var wireframe = renderInfo.wireframe;
|
|
24836
|
+
var shader = spriteMeshShaderFromFilter(level, {
|
|
24837
|
+
wireframe: wireframe,
|
|
24838
|
+
env: env
|
|
24839
|
+
});
|
|
24840
|
+
shader.shared = true;
|
|
24841
|
+
// if (!wireframe) {
|
|
24842
|
+
// shader.cacheId = spriteMeshShaderIdFromRenderInfo(renderInfo, count);
|
|
24843
|
+
// }
|
|
24844
|
+
return shader;
|
|
24845
|
+
}
|
|
24846
|
+
// TODO: 只有单测用
|
|
24847
|
+
function setMaxSpriteMeshItemCount(count) {
|
|
24848
|
+
maxSpriteMeshItemCount = count;
|
|
24849
|
+
}
|
|
24850
|
+
|
|
24940
24851
|
var ParticleLoader = /*#__PURE__*/ function(AbstractPlugin) {
|
|
24941
24852
|
_inherits(ParticleLoader, AbstractPlugin);
|
|
24942
24853
|
function ParticleLoader() {
|
|
24943
24854
|
return AbstractPlugin.apply(this, arguments);
|
|
24944
24855
|
}
|
|
24945
|
-
ParticleLoader.precompile = function precompile(compositions, renderer, options) {
|
|
24946
|
-
var gpuCapability = renderer.engine.gpuCapability;
|
|
24947
|
-
var level = gpuCapability.level;
|
|
24948
|
-
var env = (options != null ? options : {}).env;
|
|
24949
|
-
var shaderLibrary = renderer.getShaderLibrary();
|
|
24950
|
-
var items = [];
|
|
24951
|
-
var shaders = [];
|
|
24952
|
-
var maxFragmentCount = 0;
|
|
24953
|
-
var maxVertexCount = 0;
|
|
24954
|
-
// 增加预合成中的粒子处理
|
|
24955
|
-
compositions.forEach(function(comp) {
|
|
24956
|
-
comp.items.forEach(function(item) {
|
|
24957
|
-
if (Item.isParticle(item)) {
|
|
24958
|
-
items.push(item);
|
|
24959
|
-
}
|
|
24960
|
-
});
|
|
24961
|
-
});
|
|
24962
|
-
items.forEach(function(item) {
|
|
24963
|
-
var _getParticleMeshShader = getParticleMeshShader(item, gpuCapability, env), shader = _getParticleMeshShader.shader, fragment = _getParticleMeshShader.fragment, vertex = _getParticleMeshShader.vertex;
|
|
24964
|
-
shaders.push(shader);
|
|
24965
|
-
maxFragmentCount = Math.max(maxFragmentCount, fragment);
|
|
24966
|
-
maxVertexCount = Math.max(maxVertexCount, vertex);
|
|
24967
|
-
// TODO 此处add是否有意义?shader变量似乎没有加到this.shaders数组。
|
|
24968
|
-
if (item.content.trails) {
|
|
24969
|
-
var shader1 = getTrailMeshShader(item.content.trails, item.content.options.maxCount, item.name, gpuCapability, env);
|
|
24970
|
-
shader1.glslVersion = level === 2 ? GLSLVersion.GLSL3 : GLSLVersion.GLSL1;
|
|
24971
|
-
shaderLibrary == null ? void 0 : shaderLibrary.addShader(shader1);
|
|
24972
|
-
}
|
|
24973
|
-
});
|
|
24974
|
-
shaders.forEach(function(shader) {
|
|
24975
|
-
if (level === 2) {
|
|
24976
|
-
modifyMaxKeyframeShader(shader, maxVertexCount, maxFragmentCount);
|
|
24977
|
-
shader.glslVersion = GLSLVersion.GLSL3;
|
|
24978
|
-
} else {
|
|
24979
|
-
shader.glslVersion = GLSLVersion.GLSL1;
|
|
24980
|
-
}
|
|
24981
|
-
shaderLibrary == null ? void 0 : shaderLibrary.addShader(shader);
|
|
24982
|
-
});
|
|
24983
|
-
if (level === 2) {
|
|
24984
|
-
items.forEach(function(item) {
|
|
24985
|
-
item.content.options.meshSlots = [
|
|
24986
|
-
maxVertexCount,
|
|
24987
|
-
maxFragmentCount
|
|
24988
|
-
];
|
|
24989
|
-
});
|
|
24990
|
-
}
|
|
24991
|
-
return Promise.resolve();
|
|
24992
|
-
};
|
|
24993
24856
|
return ParticleLoader;
|
|
24994
24857
|
}(AbstractPlugin);
|
|
24995
24858
|
|
|
@@ -28167,7 +28030,7 @@ var seed = 1;
|
|
|
28167
28030
|
});
|
|
28168
28031
|
});
|
|
28169
28032
|
loadResourcePromise = /*#__PURE__*/ _async_to_generator(function() {
|
|
28170
|
-
var scene, link, jsonScene, pluginSystem, loadedImages,
|
|
28033
|
+
var scene, link, jsonScene, pluginSystem, loadedImages, images, _ref, jsonScene1, pluginSystem1, _jsonScene_bins, bins, images1, fonts, _ref1, loadedBins, loadedImages1, loadedTextures, totalTime;
|
|
28171
28034
|
return __generator(this, function(_state) {
|
|
28172
28035
|
switch(_state.label){
|
|
28173
28036
|
case 0:
|
|
@@ -28203,16 +28066,13 @@ var seed = 1;
|
|
|
28203
28066
|
// 已经加载过的 可能需要更新数据模板
|
|
28204
28067
|
scene = _extends({}, rawJSON);
|
|
28205
28068
|
jsonScene = scene.jsonScene, pluginSystem = scene.pluginSystem, loadedImages = scene.images;
|
|
28206
|
-
|
|
28069
|
+
images = jsonScene.images;
|
|
28207
28070
|
_this.assignImagesToAssets(images, loadedImages);
|
|
28208
28071
|
return [
|
|
28209
28072
|
4,
|
|
28210
28073
|
Promise.all([
|
|
28211
28074
|
hookTimeInfo("plugin:processAssets", function() {
|
|
28212
28075
|
return _this.processPluginAssets(jsonScene, pluginSystem, options);
|
|
28213
|
-
}),
|
|
28214
|
-
hookTimeInfo("plugin:precompile", function() {
|
|
28215
|
-
return _this.precompile(compositions, pluginSystem, renderer, options);
|
|
28216
28076
|
})
|
|
28217
28077
|
])
|
|
28218
28078
|
];
|
|
@@ -28231,7 +28091,7 @@ var seed = 1;
|
|
|
28231
28091
|
];
|
|
28232
28092
|
case 6:
|
|
28233
28093
|
_ref = _state.sent(), jsonScene1 = _ref.jsonScene, pluginSystem1 = _ref.pluginSystem;
|
|
28234
|
-
_jsonScene_bins = jsonScene1.bins, bins = _jsonScene_bins === void 0 ? [] : _jsonScene_bins, images1 = jsonScene1.images,
|
|
28094
|
+
_jsonScene_bins = jsonScene1.bins, bins = _jsonScene_bins === void 0 ? [] : _jsonScene_bins, images1 = jsonScene1.images, fonts = jsonScene1.fonts;
|
|
28235
28095
|
return [
|
|
28236
28096
|
4,
|
|
28237
28097
|
Promise.all([
|
|
@@ -28244,9 +28104,6 @@ var seed = 1;
|
|
|
28244
28104
|
hookTimeInfo("plugin:processAssets", function() {
|
|
28245
28105
|
return _this.processPluginAssets(jsonScene1, pluginSystem1, options);
|
|
28246
28106
|
}),
|
|
28247
|
-
hookTimeInfo("plugin:precompile", function() {
|
|
28248
|
-
return _this.precompile(compositions1, pluginSystem1, renderer, options);
|
|
28249
|
-
}),
|
|
28250
28107
|
hookTimeInfo("processFontURL", function() {
|
|
28251
28108
|
return _this.processFontURL(fonts);
|
|
28252
28109
|
})
|
|
@@ -28312,39 +28169,15 @@ var seed = 1;
|
|
|
28312
28169
|
_proto.getAssets = function getAssets() {
|
|
28313
28170
|
return this.assets;
|
|
28314
28171
|
};
|
|
28315
|
-
_proto.precompile = function precompile(compositions, pluginSystem, renderer, options) {
|
|
28316
|
-
return _async_to_generator(function() {
|
|
28317
|
-
return __generator(this, function(_state) {
|
|
28318
|
-
switch(_state.label){
|
|
28319
|
-
case 0:
|
|
28320
|
-
if (!renderer || !renderer.getShaderLibrary()) {
|
|
28321
|
-
return [
|
|
28322
|
-
2
|
|
28323
|
-
];
|
|
28324
|
-
}
|
|
28325
|
-
return [
|
|
28326
|
-
4,
|
|
28327
|
-
pluginSystem.precompile(compositions, renderer, options)
|
|
28328
|
-
];
|
|
28329
|
-
case 1:
|
|
28330
|
-
_state.sent();
|
|
28331
|
-
return [
|
|
28332
|
-
2
|
|
28333
|
-
];
|
|
28334
|
-
}
|
|
28335
|
-
});
|
|
28336
|
-
})();
|
|
28337
|
-
};
|
|
28338
28172
|
_proto.processJSON = function processJSON(json) {
|
|
28339
28173
|
var _this = this;
|
|
28340
28174
|
return _async_to_generator(function() {
|
|
28341
|
-
var jsonScene,
|
|
28175
|
+
var jsonScene, pluginSystem;
|
|
28342
28176
|
return __generator(this, function(_state) {
|
|
28343
28177
|
switch(_state.label){
|
|
28344
28178
|
case 0:
|
|
28345
28179
|
jsonScene = getStandardJSON(json);
|
|
28346
|
-
|
|
28347
|
-
pluginSystem = new PluginSystem(plugins);
|
|
28180
|
+
pluginSystem = new PluginSystem();
|
|
28348
28181
|
return [
|
|
28349
28182
|
4,
|
|
28350
28183
|
pluginSystem.processRawJSON(jsonScene, _this.options)
|
|
@@ -28856,7 +28689,6 @@ function createTextureOptionsBySource(image, sourceFrom, id) {
|
|
|
28856
28689
|
}
|
|
28857
28690
|
var _proto = AssetService.prototype;
|
|
28858
28691
|
/**
|
|
28859
|
-
* @internal
|
|
28860
28692
|
* @param url
|
|
28861
28693
|
* @param options
|
|
28862
28694
|
* @returns
|
|
@@ -28881,7 +28713,6 @@ function createTextureOptionsBySource(image, sourceFrom, id) {
|
|
|
28881
28713
|
* 根据用户参数修改文本元素的原始数据
|
|
28882
28714
|
* @param scene
|
|
28883
28715
|
* @param options
|
|
28884
|
-
* @internal
|
|
28885
28716
|
*/ _proto.updateTextVariables = function updateTextVariables(scene, variables) {
|
|
28886
28717
|
var _this = this;
|
|
28887
28718
|
if (variables === void 0) variables = {};
|
|
@@ -28963,12 +28794,14 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
28963
28794
|
function Camera(name, options) {
|
|
28964
28795
|
if (options === void 0) options = {};
|
|
28965
28796
|
this.name = name;
|
|
28797
|
+
this./**
|
|
28798
|
+
* @internal
|
|
28799
|
+
*/ transform = new Transform();
|
|
28966
28800
|
this.viewportMatrix = Matrix4.fromIdentity();
|
|
28967
28801
|
this.viewMatrix = Matrix4.fromIdentity();
|
|
28968
28802
|
this.projectionMatrix = Matrix4.fromIdentity();
|
|
28969
28803
|
this.viewProjectionMatrix = Matrix4.fromIdentity();
|
|
28970
28804
|
this.inverseViewMatrix = Matrix4.fromIdentity();
|
|
28971
|
-
this.transform = new Transform();
|
|
28972
28805
|
this.dirty = true;
|
|
28973
28806
|
var _options_near = options.near, near = _options_near === void 0 ? 0.1 : _options_near, _options_far = options.far, far = _options_far === void 0 ? 20 : _options_far, _options_fov = options.fov, fov = _options_fov === void 0 ? 60 : _options_fov, _options_aspect = options.aspect, aspect = _options_aspect === void 0 ? 1 : _options_aspect, _options_clipMode = options.clipMode, clipMode = _options_clipMode === void 0 ? CameraClipMode.portrait : _options_clipMode, _options_position = options.position, position = _options_position === void 0 ? [
|
|
28974
28807
|
0,
|
|
@@ -29082,7 +28915,10 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
29082
28915
|
* 设置相机的旋转四元数
|
|
29083
28916
|
* @param value - 旋转四元数
|
|
29084
28917
|
*/ _proto.setQuat = function setQuat(value) {
|
|
29085
|
-
this.transform.
|
|
28918
|
+
if (!this.transform.getQuaternion().equals(value)) {
|
|
28919
|
+
this.transform.setQuaternion(value.x, value.y, value.z, value.w);
|
|
28920
|
+
this.dirty = true;
|
|
28921
|
+
}
|
|
29086
28922
|
};
|
|
29087
28923
|
/**
|
|
29088
28924
|
* 获取相机旋转对应的四元数
|
|
@@ -29120,7 +28956,7 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
29120
28956
|
var _this_options = this.options, fov = _this_options.fov, aspect = _this_options.aspect, near = _this_options.near, far = _this_options.far, clipMode = _this_options.clipMode;
|
|
29121
28957
|
this.projectionMatrix.perspective(fov * DEG2RAD, aspect, near, far, clipMode === CameraClipMode.portrait);
|
|
29122
28958
|
this.projectionMatrix.premultiply(this.viewportMatrix);
|
|
29123
|
-
this.inverseViewMatrix.compose(this.position, this.getQuat()
|
|
28959
|
+
this.inverseViewMatrix.compose(this.position, this.getQuat(), tmpScale);
|
|
29124
28960
|
var _this_transform_getParentMatrix;
|
|
29125
28961
|
this.inverseViewMatrix.premultiply((_this_transform_getParentMatrix = this.transform.getParentMatrix()) != null ? _this_transform_getParentMatrix : Matrix4.IDENTITY);
|
|
29126
28962
|
this.viewMatrix.copyFrom(this.inverseViewMatrix).invert();
|
|
@@ -32232,13 +32068,13 @@ var DEFAULT_FPS = 60;
|
|
|
32232
32068
|
return Ticker;
|
|
32233
32069
|
}();
|
|
32234
32070
|
|
|
32235
|
-
registerPlugin("camera", CameraVFXItemLoader, VFXItem
|
|
32236
|
-
registerPlugin("text", TextLoader, VFXItem
|
|
32237
|
-
registerPlugin("sprite", SpriteLoader, VFXItem
|
|
32238
|
-
registerPlugin("particle", ParticleLoader, VFXItem
|
|
32239
|
-
registerPlugin("cal", CalculateLoader, VFXItem
|
|
32240
|
-
registerPlugin("interact", InteractLoader, VFXItem
|
|
32241
|
-
var version = "2.3.0-beta.
|
|
32071
|
+
registerPlugin("camera", CameraVFXItemLoader, VFXItem);
|
|
32072
|
+
registerPlugin("text", TextLoader, VFXItem);
|
|
32073
|
+
registerPlugin("sprite", SpriteLoader, VFXItem);
|
|
32074
|
+
registerPlugin("particle", ParticleLoader, VFXItem);
|
|
32075
|
+
registerPlugin("cal", CalculateLoader, VFXItem);
|
|
32076
|
+
registerPlugin("interact", InteractLoader, VFXItem);
|
|
32077
|
+
var version = "2.3.0-beta.2";
|
|
32242
32078
|
logger.info("Core version: " + version + ".");
|
|
32243
32079
|
|
|
32244
32080
|
export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PluginSystem, PostProcessVolume, PropertyTrack, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderbuffer, Renderer, RendererComponent, RuntimeClip, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, Scene, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, ShapeComponent, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, Vector2Curve, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, decimalEqual, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, glType2VertexFormatType, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isCanvas, isFunction, isIOS, isIOSByUA, isMiniProgram, isObject, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrameFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, normalizeColor, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, passRenderLevel, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };
|