@galacean/engine-loader 1.2.0-alpha.0 → 1.2.0-alpha.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/main.js +450 -277
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +449 -277
- package/dist/module.js +439 -267
- package/dist/module.js.map +1 -1
- package/package.json +4 -5
- package/types/GLTFLoader.d.ts +7 -1
- package/types/PrimitiveMeshLoader.d.ts +1 -0
- package/types/gltf/GLTFSchema.d.ts +1 -1
- package/types/gltf/GLTFUtils.d.ts +1 -1
- package/types/gltf/extensions/EXT_meshopt_compression.d.ts +13 -0
- package/types/gltf/extensions/GLTFExtensionParser.d.ts +1 -1
- package/types/gltf/extensions/GLTFExtensionSchema.d.ts +10 -10
- package/types/gltf/extensions/MeshoptDecoder.d.ts +8 -0
- package/types/gltf/extensions/index.d.ts +1 -1
- package/types/gltf/index.d.ts +2 -1
- package/types/gltf/parser/GLTFBufferViewParser.d.ts +5 -0
- package/types/gltf/parser/GLTFParser.d.ts +1 -1
- package/types/gltf/parser/GLTFParserContext.d.ts +7 -6
- package/types/gltf/parser/index.d.ts +2 -1
- package/types/index.d.ts +3 -1
- package/types/ktx2/BinomialLLCTranscoder/BinomialLLCTranscoder.d.ts +13 -0
- package/types/ktx2/BinomialLLCTranscoder/TranscodeWorkerCode.d.ts +33 -0
- package/types/ktx2/KTX2Loader.d.ts +4 -3
- package/types/ktx2/KhronosTranscoder/KhronosTranscoder.d.ts +17 -0
- package/types/ktx2/KhronosTranscoder/TranscoderWorkerCode.d.ts +34 -0
- package/types/ktx2/TranscodeResult.d.ts +10 -0
- package/types/ktx2/constants.d.ts +7 -0
- package/types/ktx2/zstddec.d.ts +62 -0
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +2 -0
- package/types/gltf/parser/GLTFJSONParser.d.ts +0 -7
package/dist/module.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Utils, ModelMesh, BlendShape, Texture2D, Loader, Entity, Transform, Animator, DirectLight, Camera, MeshRenderer, ParticleRenderer, PointLight, SpotLight, Script, SpriteMask, SpriteRenderer, TextRenderer, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, Scene, resourceLoader, AssetPromise, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateMachine, AnimatorStateTransition, TextureCube, TextureFilterMode, TextureCubeFace, AmbientLight, DiffuseMode, Font, ReferResource, IndexFormat, VertexElementFormat, GLCapabilityType, Logger, TextureFormat, request, ContentRestorer, InterpolationType, SkinnedMeshRenderer, PBRMaterial, BlinnPhongMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Skin, TextureWrapMode as TextureWrapMode$1, Material, Shader, SpriteAtlas, Sprite, BackgroundMode, UnlitMaterial } from '@galacean/engine-core';
|
|
1
|
+
import { Utils, ModelMesh, BlendShape, Texture2D, Loader, Entity, Transform, Animator, DirectLight, Camera, MeshRenderer, ParticleRenderer, PointLight, SpotLight, Script, SpriteMask, SpriteRenderer, TextRenderer, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, Scene, resourceLoader, AssetPromise, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateMachine, AnimatorStateTransition, TextureCube, TextureFilterMode, TextureCubeFace, AmbientLight, DiffuseMode, Font, ReferResource, IndexFormat, VertexElementFormat, GLCapabilityType, Logger, TextureFormat, request, ContentRestorer, InterpolationType, SkinnedMeshRenderer, PBRMaterial, BlinnPhongMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Skin, TextureWrapMode as TextureWrapMode$1, SystemInfo, Material, Shader, PrimitiveMesh, SpriteAtlas, Sprite, BackgroundMode, UnlitMaterial } from '@galacean/engine-core';
|
|
2
2
|
import { Color, Vector4, Vector3, Vector2, Quaternion, SphericalHarmonics3, MathUtil, BoundingBox, Matrix, Rect } from '@galacean/engine-math';
|
|
3
3
|
import { GLCompressedTextureInternalFormat } from '@galacean/engine-rhi-webgl';
|
|
4
|
-
import { DRACODecoder } from '@galacean/engine-draco';
|
|
5
4
|
|
|
6
5
|
function _extends() {
|
|
7
6
|
_extends = Object.assign || function assign(target) {
|
|
@@ -534,6 +533,8 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
534
533
|
if (position) entity.transform.position.copyFrom(position);
|
|
535
534
|
if (rotation) entity.transform.rotation.copyFrom(rotation);
|
|
536
535
|
if (scale) entity.transform.scale.copyFrom(scale);
|
|
536
|
+
var _entityConfig_layer;
|
|
537
|
+
entity.layer = (_entityConfig_layer = entityConfig.layer) != null ? _entityConfig_layer : entity.layer;
|
|
537
538
|
return entity;
|
|
538
539
|
});
|
|
539
540
|
};
|
|
@@ -1702,7 +1703,7 @@ var TextureWrapMode;
|
|
|
1702
1703
|
var glTFItems = this.glTF[glTFSchemaMap[type]];
|
|
1703
1704
|
if (glTFItems && (index === undefined || glTFItems[index])) {
|
|
1704
1705
|
if (index === undefined) {
|
|
1705
|
-
resource = type ===
|
|
1706
|
+
resource = type === 8 ? glTFItems.map(function(_, index) {
|
|
1706
1707
|
return _this.get(type, index);
|
|
1707
1708
|
}) : Promise.all(glTFItems.map(function(_, index) {
|
|
1708
1709
|
return _this.get(type, index);
|
|
@@ -1724,11 +1725,11 @@ var TextureWrapMode;
|
|
|
1724
1725
|
_this.glTF = json;
|
|
1725
1726
|
return Promise.all([
|
|
1726
1727
|
_this.get(1),
|
|
1727
|
-
_this.get(4),
|
|
1728
1728
|
_this.get(5),
|
|
1729
1729
|
_this.get(6),
|
|
1730
|
-
_this.get(
|
|
1730
|
+
_this.get(7),
|
|
1731
1731
|
_this.get(9),
|
|
1732
|
+
_this.get(10),
|
|
1732
1733
|
_this.get(2)
|
|
1733
1734
|
]).then(function() {
|
|
1734
1735
|
var glTFResource = _this.glTFResource;
|
|
@@ -1778,7 +1779,7 @@ var TextureWrapMode;
|
|
|
1778
1779
|
var _this = this;
|
|
1779
1780
|
var glTFResourceKey = glTFResourceMap[type];
|
|
1780
1781
|
if (!glTFResourceKey) return;
|
|
1781
|
-
if (type ===
|
|
1782
|
+
if (type === 8) {
|
|
1782
1783
|
var _this_glTFResource, _glTFResourceKey;
|
|
1783
1784
|
((_this_glTFResource = this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = resource;
|
|
1784
1785
|
} else {
|
|
@@ -1786,7 +1787,7 @@ var TextureWrapMode;
|
|
|
1786
1787
|
resource.then(function(item) {
|
|
1787
1788
|
var _this_glTFResource, _glTFResourceKey;
|
|
1788
1789
|
((_this_glTFResource = _this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = item;
|
|
1789
|
-
if (type ===
|
|
1790
|
+
if (type === 7) {
|
|
1790
1791
|
for(var i = 0, length = item.length; i < length; i++){
|
|
1791
1792
|
var mesh = item[i];
|
|
1792
1793
|
// @ts-ignore
|
|
@@ -1826,17 +1827,18 @@ var GLTFParserType;
|
|
|
1826
1827
|
GLTFParserType[GLTFParserType["Validator"] = 1] = "Validator";
|
|
1827
1828
|
GLTFParserType[GLTFParserType["Scene"] = 2] = "Scene";
|
|
1828
1829
|
GLTFParserType[GLTFParserType["Buffer"] = 3] = "Buffer";
|
|
1829
|
-
GLTFParserType[GLTFParserType["
|
|
1830
|
-
GLTFParserType[GLTFParserType["
|
|
1831
|
-
GLTFParserType[GLTFParserType["
|
|
1832
|
-
GLTFParserType[GLTFParserType["
|
|
1833
|
-
GLTFParserType[GLTFParserType["
|
|
1834
|
-
GLTFParserType[GLTFParserType["
|
|
1830
|
+
GLTFParserType[GLTFParserType["BufferView"] = 4] = "BufferView";
|
|
1831
|
+
GLTFParserType[GLTFParserType["Texture"] = 5] = "Texture";
|
|
1832
|
+
GLTFParserType[GLTFParserType["Material"] = 6] = "Material";
|
|
1833
|
+
GLTFParserType[GLTFParserType["Mesh"] = 7] = "Mesh";
|
|
1834
|
+
GLTFParserType[GLTFParserType["Entity"] = 8] = "Entity";
|
|
1835
|
+
GLTFParserType[GLTFParserType["Skin"] = 9] = "Skin";
|
|
1836
|
+
GLTFParserType[GLTFParserType["Animation"] = 10] = "Animation";
|
|
1835
1837
|
})(GLTFParserType || (GLTFParserType = {}));
|
|
1836
1838
|
var _obj;
|
|
1837
|
-
var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[
|
|
1839
|
+
var glTFSchemaMap = (_obj = {}, _obj[2] = "scenes", _obj[3] = "buffers", _obj[5] = "textures", _obj[6] = "materials", _obj[7] = "meshes", _obj[8] = "nodes", _obj[9] = "skins", _obj[10] = "animations", _obj[4] = "bufferViews", _obj);
|
|
1838
1840
|
var _obj1;
|
|
1839
|
-
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "_sceneRoots", _obj1[
|
|
1841
|
+
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "_sceneRoots", _obj1[5] = "textures", _obj1[6] = "materials", _obj1[7] = "meshes", _obj1[8] = "entities", _obj1[9] = "skins", _obj1[10] = "animations", _obj1);
|
|
1840
1842
|
function registerGLTFParser(pipeline) {
|
|
1841
1843
|
return function(Parser) {
|
|
1842
1844
|
var parser = new Parser();
|
|
@@ -1942,11 +1944,10 @@ function registerGLTFParser(pipeline) {
|
|
|
1942
1944
|
GLTFUtils.getAccessorBuffer = function getAccessorBuffer(context, bufferViews, accessor) {
|
|
1943
1945
|
var componentType = accessor.componentType;
|
|
1944
1946
|
var bufferView = bufferViews[accessor.bufferView];
|
|
1945
|
-
return context.get(GLTFParserType.
|
|
1947
|
+
return context.get(GLTFParserType.BufferView, accessor.bufferView).then(function(bufferViewData) {
|
|
1946
1948
|
var bufferIndex = bufferView.buffer;
|
|
1947
|
-
var
|
|
1948
|
-
var
|
|
1949
|
-
var bufferByteOffset = (_bufferView_byteOffset = bufferView.byteOffset) != null ? _bufferView_byteOffset : 0;
|
|
1949
|
+
var _bufferViewData_byteOffset;
|
|
1950
|
+
var bufferByteOffset = (_bufferViewData_byteOffset = bufferViewData.byteOffset) != null ? _bufferViewData_byteOffset : 0;
|
|
1950
1951
|
var _accessor_byteOffset;
|
|
1951
1952
|
var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
|
|
1952
1953
|
var TypedArray = GLTFUtils.getComponentType(componentType);
|
|
@@ -1965,19 +1966,21 @@ function registerGLTFParser(pipeline) {
|
|
|
1965
1966
|
if (!bufferInfo) {
|
|
1966
1967
|
var offset = bufferByteOffset + bufferSlice * bufferStride;
|
|
1967
1968
|
var count = accessorCount * (bufferStride / dataElementBytes);
|
|
1968
|
-
var data = new TypedArray(buffer, offset, count);
|
|
1969
|
+
var data = new TypedArray(bufferViewData.buffer, offset, count);
|
|
1969
1970
|
accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
|
|
1970
1971
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
|
|
1971
1972
|
}
|
|
1972
1973
|
} else {
|
|
1973
1974
|
var offset1 = bufferByteOffset + byteOffset;
|
|
1974
1975
|
var count1 = accessorCount * dataElementSize;
|
|
1975
|
-
var data1 = new TypedArray(buffer, offset1, count1);
|
|
1976
|
+
var data1 = new TypedArray(bufferViewData.buffer, offset1, count1);
|
|
1976
1977
|
bufferInfo = new BufferInfo(data1, false, elementStride);
|
|
1977
1978
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
|
|
1978
1979
|
}
|
|
1979
1980
|
if (accessor.sparse) {
|
|
1980
|
-
GLTFUtils.processingSparseData(
|
|
1981
|
+
return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
|
|
1982
|
+
return bufferInfo;
|
|
1983
|
+
});
|
|
1981
1984
|
}
|
|
1982
1985
|
return bufferInfo;
|
|
1983
1986
|
});
|
|
@@ -2053,40 +2056,43 @@ function registerGLTFParser(pipeline) {
|
|
|
2053
2056
|
};
|
|
2054
2057
|
/**
|
|
2055
2058
|
* Get accessor data.
|
|
2056
|
-
*/ GLTFUtils.processingSparseData = function processingSparseData(
|
|
2059
|
+
*/ GLTFUtils.processingSparseData = function processingSparseData(context, accessor, bufferInfo) {
|
|
2057
2060
|
var restoreInfo = bufferInfo.restoreInfo;
|
|
2061
|
+
var bufferViews = context.glTF.bufferViews;
|
|
2058
2062
|
var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
2059
2063
|
var TypedArray = GLTFUtils.getComponentType(accessor.componentType);
|
|
2060
2064
|
var data = bufferInfo.data.slice();
|
|
2061
2065
|
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
2062
2066
|
var indicesBufferView = bufferViews[indices.bufferView];
|
|
2063
2067
|
var valuesBufferView = bufferViews[values.bufferView];
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
var
|
|
2085
|
-
|
|
2086
|
-
|
|
2068
|
+
return Promise.all([
|
|
2069
|
+
context.get(GLTFParserType.BufferView, indices.bufferView),
|
|
2070
|
+
context.get(GLTFParserType.BufferView, values.bufferView)
|
|
2071
|
+
]).then(function(param) {
|
|
2072
|
+
var indicesUint8Array = param[0], valuesUin8Array = param[1];
|
|
2073
|
+
var _indices_byteOffset, _indicesUint8Array_byteOffset;
|
|
2074
|
+
var indicesByteOffset = ((_indices_byteOffset = indices.byteOffset) != null ? _indices_byteOffset : 0) + ((_indicesUint8Array_byteOffset = indicesUint8Array.byteOffset) != null ? _indicesUint8Array_byteOffset : 0);
|
|
2075
|
+
var indicesByteLength = indicesUint8Array.byteLength;
|
|
2076
|
+
var _values_byteOffset, _valuesUin8Array_byteOffset;
|
|
2077
|
+
var valuesByteOffset = ((_values_byteOffset = values.byteOffset) != null ? _values_byteOffset : 0) + ((_valuesUin8Array_byteOffset = valuesUin8Array.byteOffset) != null ? _valuesUin8Array_byteOffset : 0);
|
|
2078
|
+
var valuesByteLength = valuesUin8Array.byteLength;
|
|
2079
|
+
restoreInfo.typeSize = accessorTypeSize;
|
|
2080
|
+
restoreInfo.sparseCount = count;
|
|
2081
|
+
var IndexTypeArray = GLTFUtils.getComponentType(indices.componentType);
|
|
2082
|
+
var indexLength = indicesByteLength / IndexTypeArray.BYTES_PER_ELEMENT;
|
|
2083
|
+
var indicesArray = new IndexTypeArray(indicesUint8Array.buffer, indicesByteOffset, indexLength);
|
|
2084
|
+
restoreInfo.sparseIndices = new RestoreDataAccessor(indicesBufferView.buffer, IndexTypeArray, indicesByteOffset, indexLength);
|
|
2085
|
+
var valueLength = valuesByteLength / TypedArray.BYTES_PER_ELEMENT;
|
|
2086
|
+
var valuesArray = new TypedArray(valuesUin8Array.buffer, valuesByteOffset, valueLength);
|
|
2087
|
+
restoreInfo.sparseValues = new RestoreDataAccessor(valuesBufferView.buffer, TypedArray, valuesByteOffset, valueLength);
|
|
2088
|
+
for(var i = 0; i < count; i++){
|
|
2089
|
+
var replaceIndex = indicesArray[i];
|
|
2090
|
+
for(var j = 0; j < accessorTypeSize; j++){
|
|
2091
|
+
data[replaceIndex * accessorTypeSize + j] = valuesArray[i * accessorTypeSize + j];
|
|
2092
|
+
}
|
|
2087
2093
|
}
|
|
2088
|
-
|
|
2089
|
-
|
|
2094
|
+
bufferInfo.data = data;
|
|
2095
|
+
});
|
|
2090
2096
|
};
|
|
2091
2097
|
GLTFUtils.getIndexFormat = function getIndexFormat(type) {
|
|
2092
2098
|
switch(type){
|
|
@@ -3108,8 +3114,9 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3108
3114
|
});
|
|
3109
3115
|
};
|
|
3110
3116
|
/**
|
|
3111
|
-
*
|
|
3112
|
-
|
|
3117
|
+
* Release ktx2 transcoder worker.
|
|
3118
|
+
* @remarks If use loader after releasing, we should release again.
|
|
3119
|
+
*/ KTX2Loader1.release = function release() {
|
|
3113
3120
|
if (this._binomialLLCTranscoder) this._binomialLLCTranscoder.destroy();
|
|
3114
3121
|
if (this._khronosTranscoder) this._khronosTranscoder.destroy();
|
|
3115
3122
|
this._binomialLLCTranscoder = null;
|
|
@@ -4639,12 +4646,256 @@ GLTFValidator = __decorate([
|
|
|
4639
4646
|
registerGLTFParser(GLTFParserType.Validator)
|
|
4640
4647
|
], GLTFValidator);
|
|
4641
4648
|
|
|
4649
|
+
var GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
4650
|
+
_inherits(GLTFBufferViewParser, GLTFParser1);
|
|
4651
|
+
function GLTFBufferViewParser() {
|
|
4652
|
+
return GLTFParser1.apply(this, arguments);
|
|
4653
|
+
}
|
|
4654
|
+
var _proto = GLTFBufferViewParser.prototype;
|
|
4655
|
+
_proto.parse = function parse(context, index) {
|
|
4656
|
+
var bufferView = context.glTF.bufferViews[index];
|
|
4657
|
+
var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
|
|
4658
|
+
return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
|
|
4659
|
+
return new Uint8Array(buffer, byteOffset, byteLength);
|
|
4660
|
+
});
|
|
4661
|
+
};
|
|
4662
|
+
return GLTFBufferViewParser;
|
|
4663
|
+
}(GLTFParser);
|
|
4664
|
+
GLTFBufferViewParser = __decorate([
|
|
4665
|
+
registerGLTFParser(GLTFParserType.BufferView)
|
|
4666
|
+
], GLTFBufferViewParser);
|
|
4667
|
+
|
|
4668
|
+
// Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
|
|
4669
|
+
var MeshoptDecoder = function() {
|
|
4670
|
+
var unpack = function unpack(data) {
|
|
4671
|
+
var result = new Uint8Array(data.length);
|
|
4672
|
+
for(var i = 0; i < data.length; ++i){
|
|
4673
|
+
var ch = data.charCodeAt(i);
|
|
4674
|
+
result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
|
|
4675
|
+
}
|
|
4676
|
+
var write = 0;
|
|
4677
|
+
for(var i1 = 0; i1 < data.length; ++i1){
|
|
4678
|
+
result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
|
|
4679
|
+
}
|
|
4680
|
+
return result.buffer.slice(0, write);
|
|
4681
|
+
};
|
|
4682
|
+
var decode = function decode(fun, target, count, size, source, filter) {
|
|
4683
|
+
var sbrk = instance.exports.sbrk;
|
|
4684
|
+
var count4 = count + 3 & ~3;
|
|
4685
|
+
var tp = sbrk(count4 * size);
|
|
4686
|
+
var sp = sbrk(source.length);
|
|
4687
|
+
var heap = new Uint8Array(instance.exports.memory.buffer);
|
|
4688
|
+
heap.set(source, sp);
|
|
4689
|
+
var res = fun(tp, count, size, sp, source.length);
|
|
4690
|
+
if (res == 0 && filter) {
|
|
4691
|
+
filter(tp, count4, size);
|
|
4692
|
+
}
|
|
4693
|
+
target.set(heap.subarray(tp, tp + count * size));
|
|
4694
|
+
sbrk(tp - sbrk(0));
|
|
4695
|
+
if (res != 0) {
|
|
4696
|
+
throw new Error("Malformed buffer data: " + res);
|
|
4697
|
+
}
|
|
4698
|
+
};
|
|
4699
|
+
var createWorker = function createWorker(url) {
|
|
4700
|
+
var worker = {
|
|
4701
|
+
object: new Worker(url),
|
|
4702
|
+
pending: 0,
|
|
4703
|
+
requests: {}
|
|
4704
|
+
};
|
|
4705
|
+
worker.object.onmessage = function(event) {
|
|
4706
|
+
var data = event.data;
|
|
4707
|
+
worker.pending -= data.count;
|
|
4708
|
+
worker.requests[data.id][data.action](data.value);
|
|
4709
|
+
delete worker.requests[data.id];
|
|
4710
|
+
};
|
|
4711
|
+
return worker;
|
|
4712
|
+
};
|
|
4713
|
+
var initWorkers = function initWorkers(count) {
|
|
4714
|
+
var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});" + "self.onmessage = workerProcess;" + decode.toString() + workerProcess.toString();
|
|
4715
|
+
var blob = new Blob([
|
|
4716
|
+
source
|
|
4717
|
+
], {
|
|
4718
|
+
type: "text/javascript"
|
|
4719
|
+
});
|
|
4720
|
+
var url = URL.createObjectURL(blob);
|
|
4721
|
+
for(var i = 0; i < count; ++i){
|
|
4722
|
+
workers[i] = createWorker(url);
|
|
4723
|
+
}
|
|
4724
|
+
URL.revokeObjectURL(url);
|
|
4725
|
+
};
|
|
4726
|
+
var decodeWorker = function decodeWorker(count, size, source, mode, filter) {
|
|
4727
|
+
var worker = workers[0];
|
|
4728
|
+
for(var i = 1; i < workers.length; ++i){
|
|
4729
|
+
if (workers[i].pending < worker.pending) {
|
|
4730
|
+
worker = workers[i];
|
|
4731
|
+
}
|
|
4732
|
+
}
|
|
4733
|
+
return new Promise(function(resolve, reject) {
|
|
4734
|
+
var data = new Uint8Array(source);
|
|
4735
|
+
var id = requestId++;
|
|
4736
|
+
worker.pending += count;
|
|
4737
|
+
worker.requests[id] = {
|
|
4738
|
+
resolve: resolve,
|
|
4739
|
+
reject: reject
|
|
4740
|
+
};
|
|
4741
|
+
worker.object.postMessage({
|
|
4742
|
+
id: id,
|
|
4743
|
+
count: count,
|
|
4744
|
+
size: size,
|
|
4745
|
+
source: data,
|
|
4746
|
+
mode: mode,
|
|
4747
|
+
filter: filter
|
|
4748
|
+
}, [
|
|
4749
|
+
data.buffer
|
|
4750
|
+
]);
|
|
4751
|
+
});
|
|
4752
|
+
};
|
|
4753
|
+
var workerProcess = function workerProcess(event) {
|
|
4754
|
+
ready.then(function() {
|
|
4755
|
+
var data = event.data;
|
|
4756
|
+
try {
|
|
4757
|
+
var target = new Uint8Array(data.count * data.size);
|
|
4758
|
+
decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);
|
|
4759
|
+
self.postMessage({
|
|
4760
|
+
id: data.id,
|
|
4761
|
+
count: data.count,
|
|
4762
|
+
action: "resolve",
|
|
4763
|
+
value: target
|
|
4764
|
+
}, [
|
|
4765
|
+
target.buffer
|
|
4766
|
+
]);
|
|
4767
|
+
} catch (error) {
|
|
4768
|
+
self.postMessage({
|
|
4769
|
+
id: data.id,
|
|
4770
|
+
count: data.count,
|
|
4771
|
+
action: "reject",
|
|
4772
|
+
value: error
|
|
4773
|
+
});
|
|
4774
|
+
}
|
|
4775
|
+
});
|
|
4776
|
+
};
|
|
4777
|
+
var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
|
|
4778
|
+
var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
|
|
4779
|
+
var wasmpack = new Uint8Array([
|
|
4780
|
+
32,
|
|
4781
|
+
0,
|
|
4782
|
+
65,
|
|
4783
|
+
2,
|
|
4784
|
+
1,
|
|
4785
|
+
106,
|
|
4786
|
+
34,
|
|
4787
|
+
33,
|
|
4788
|
+
3,
|
|
4789
|
+
128,
|
|
4790
|
+
11,
|
|
4791
|
+
4,
|
|
4792
|
+
13,
|
|
4793
|
+
64,
|
|
4794
|
+
6,
|
|
4795
|
+
253,
|
|
4796
|
+
10,
|
|
4797
|
+
7,
|
|
4798
|
+
15,
|
|
4799
|
+
116,
|
|
4800
|
+
127,
|
|
4801
|
+
5,
|
|
4802
|
+
8,
|
|
4803
|
+
12,
|
|
4804
|
+
40,
|
|
4805
|
+
16,
|
|
4806
|
+
19,
|
|
4807
|
+
54,
|
|
4808
|
+
20,
|
|
4809
|
+
9,
|
|
4810
|
+
27,
|
|
4811
|
+
255,
|
|
4812
|
+
113,
|
|
4813
|
+
17,
|
|
4814
|
+
42,
|
|
4815
|
+
67,
|
|
4816
|
+
24,
|
|
4817
|
+
23,
|
|
4818
|
+
146,
|
|
4819
|
+
148,
|
|
4820
|
+
18,
|
|
4821
|
+
14,
|
|
4822
|
+
22,
|
|
4823
|
+
45,
|
|
4824
|
+
70,
|
|
4825
|
+
69,
|
|
4826
|
+
56,
|
|
4827
|
+
114,
|
|
4828
|
+
101,
|
|
4829
|
+
21,
|
|
4830
|
+
25,
|
|
4831
|
+
63,
|
|
4832
|
+
75,
|
|
4833
|
+
136,
|
|
4834
|
+
108,
|
|
4835
|
+
28,
|
|
4836
|
+
118,
|
|
4837
|
+
29,
|
|
4838
|
+
73,
|
|
4839
|
+
115
|
|
4840
|
+
]);
|
|
4841
|
+
// @ts-ignore
|
|
4842
|
+
var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
|
|
4843
|
+
var instance;
|
|
4844
|
+
var ready = WebAssembly.instantiate(unpack(wasm), {}).then(function(result) {
|
|
4845
|
+
instance = result.instance;
|
|
4846
|
+
instance.exports.__wasm_call_ctors();
|
|
4847
|
+
});
|
|
4848
|
+
var filters = {
|
|
4849
|
+
NONE: "",
|
|
4850
|
+
OCTAHEDRAL: "meshopt_decodeFilterOct",
|
|
4851
|
+
QUATERNION: "meshopt_decodeFilterQuat",
|
|
4852
|
+
EXPONENTIAL: "meshopt_decodeFilterExp"
|
|
4853
|
+
};
|
|
4854
|
+
var decoders = {
|
|
4855
|
+
ATTRIBUTES: "meshopt_decodeVertexBuffer",
|
|
4856
|
+
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
4857
|
+
INDICES: "meshopt_decodeIndexSequence"
|
|
4858
|
+
};
|
|
4859
|
+
var workers = [];
|
|
4860
|
+
var requestId = 0;
|
|
4861
|
+
return {
|
|
4862
|
+
workerCount: 4,
|
|
4863
|
+
ready: ready,
|
|
4864
|
+
useWorkers: function useWorkers() {
|
|
4865
|
+
initWorkers(this.workerCount);
|
|
4866
|
+
},
|
|
4867
|
+
decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
|
|
4868
|
+
if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
|
|
4869
|
+
if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
|
|
4870
|
+
return ready.then(function() {
|
|
4871
|
+
var target = new Uint8Array(count * stride);
|
|
4872
|
+
decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
|
|
4873
|
+
return target;
|
|
4874
|
+
});
|
|
4875
|
+
},
|
|
4876
|
+
release: function release() {
|
|
4877
|
+
for(var i = 0; i < workers.length; i++){
|
|
4878
|
+
workers[i].object.terminate();
|
|
4879
|
+
}
|
|
4880
|
+
}
|
|
4881
|
+
};
|
|
4882
|
+
}();
|
|
4883
|
+
|
|
4642
4884
|
var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
4643
4885
|
_inherits(GLTFLoader, Loader1);
|
|
4644
4886
|
function GLTFLoader() {
|
|
4645
4887
|
return Loader1.apply(this, arguments);
|
|
4646
4888
|
}
|
|
4647
4889
|
var _proto = GLTFLoader.prototype;
|
|
4890
|
+
_proto.initialize = function initialize(_, configuration) {
|
|
4891
|
+
var _configuration_glTF;
|
|
4892
|
+
var meshOptOptions = (_configuration_glTF = configuration.glTF) == null ? void 0 : _configuration_glTF.meshOpt;
|
|
4893
|
+
if (meshOptOptions) {
|
|
4894
|
+
MeshoptDecoder.workerCount = meshOptOptions.workerCount;
|
|
4895
|
+
MeshoptDecoder.useWorkers();
|
|
4896
|
+
}
|
|
4897
|
+
return Promise.resolve();
|
|
4898
|
+
};
|
|
4648
4899
|
_proto.load = function load(item, resourceManager) {
|
|
4649
4900
|
var url = item.url;
|
|
4650
4901
|
var params = item.params;
|
|
@@ -4658,6 +4909,12 @@ var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
4658
4909
|
context.parse().then(resolve).catch(reject);
|
|
4659
4910
|
});
|
|
4660
4911
|
};
|
|
4912
|
+
/**
|
|
4913
|
+
* Release glTF loader memory(includes meshopt workers).
|
|
4914
|
+
* @remarks If use loader after releasing, we should release again.
|
|
4915
|
+
*/ GLTFLoader.release = function release() {
|
|
4916
|
+
MeshoptDecoder.release();
|
|
4917
|
+
};
|
|
4661
4918
|
return GLTFLoader;
|
|
4662
4919
|
}(Loader);
|
|
4663
4920
|
GLTFLoader = __decorate([
|
|
@@ -5367,6 +5624,86 @@ MeshLoader = __decorate([
|
|
|
5367
5624
|
])
|
|
5368
5625
|
], MeshLoader);
|
|
5369
5626
|
|
|
5627
|
+
var PrimitiveMeshLoader = /*#__PURE__*/ function(Loader1) {
|
|
5628
|
+
_inherits(PrimitiveMeshLoader, Loader1);
|
|
5629
|
+
function PrimitiveMeshLoader() {
|
|
5630
|
+
return Loader1.apply(this, arguments);
|
|
5631
|
+
}
|
|
5632
|
+
var _proto = PrimitiveMeshLoader.prototype;
|
|
5633
|
+
_proto.load = function load(item, param) {
|
|
5634
|
+
var engine = param.engine;
|
|
5635
|
+
return this.request(item.url, _extends({}, item, {
|
|
5636
|
+
type: "json"
|
|
5637
|
+
})).then(function(data) {
|
|
5638
|
+
switch(data.type){
|
|
5639
|
+
case "sphere":
|
|
5640
|
+
return PrimitiveMesh.createSubdivisionSurfaceSphere(engine, data.sphereRadius, data.sphereStep);
|
|
5641
|
+
case "capsule":
|
|
5642
|
+
return PrimitiveMesh.createCapsule(engine, data.capsuleRadius, data.capsuleHeight, data.capsuleRadialSegments, data.capsuleHeightSegments);
|
|
5643
|
+
case "cone":
|
|
5644
|
+
return PrimitiveMesh.createCone(engine, data.coneRadius, data.coneHeight, data.coneRadialSegment, data.coneHeightSegment);
|
|
5645
|
+
case "cuboid":
|
|
5646
|
+
return PrimitiveMesh.createCuboid(engine, data.cuboidWidth, data.cuboidHeight, data.cuboidDepth);
|
|
5647
|
+
case "cylinder":
|
|
5648
|
+
return PrimitiveMesh.createCylinder(engine, data.cylinderRadiusTop, data.cylinderRadiusBottom, data.cylinderHeight, data.cylinderRadialSegment, data.cylinderHeightSegment);
|
|
5649
|
+
case "plane":
|
|
5650
|
+
return PrimitiveMesh.createPlane(engine, data.planeWidth, data.planeHeight, data.planeHorizontalSegments, data.planeVerticalSegments);
|
|
5651
|
+
case "torus":
|
|
5652
|
+
return PrimitiveMesh.createTorus(engine, data.torusRadius, data.torusTubeRadius, data.torusRadialSegments, data.torusTubularSegments, data.torusArc);
|
|
5653
|
+
}
|
|
5654
|
+
});
|
|
5655
|
+
};
|
|
5656
|
+
return PrimitiveMeshLoader;
|
|
5657
|
+
}(Loader);
|
|
5658
|
+
PrimitiveMeshLoader = __decorate([
|
|
5659
|
+
resourceLoader(AssetType.PrimitiveMesh, [
|
|
5660
|
+
"mesh"
|
|
5661
|
+
], false)
|
|
5662
|
+
], PrimitiveMeshLoader);
|
|
5663
|
+
var /** @internal */ PrimitiveMeshType;
|
|
5664
|
+
(function(PrimitiveMeshType) {
|
|
5665
|
+
PrimitiveMeshType["Sphere"] = "sphere";
|
|
5666
|
+
PrimitiveMeshType["Cuboid"] = "cuboid";
|
|
5667
|
+
PrimitiveMeshType["Plane"] = "plane";
|
|
5668
|
+
PrimitiveMeshType["Cylinder"] = "cylinder";
|
|
5669
|
+
PrimitiveMeshType["Torus"] = "torus";
|
|
5670
|
+
PrimitiveMeshType["Cone"] = "cone";
|
|
5671
|
+
PrimitiveMeshType["Capsule"] = "capsule";
|
|
5672
|
+
})(PrimitiveMeshType || (PrimitiveMeshType = {}));
|
|
5673
|
+
|
|
5674
|
+
var ProjectLoader = /*#__PURE__*/ function(Loader1) {
|
|
5675
|
+
_inherits(ProjectLoader, Loader1);
|
|
5676
|
+
function ProjectLoader() {
|
|
5677
|
+
return Loader1.apply(this, arguments);
|
|
5678
|
+
}
|
|
5679
|
+
var _proto = ProjectLoader.prototype;
|
|
5680
|
+
_proto.load = function load(item, resourceManager) {
|
|
5681
|
+
var _this = this;
|
|
5682
|
+
var engine = resourceManager.engine;
|
|
5683
|
+
return new AssetPromise(function(resolve, reject) {
|
|
5684
|
+
_this.request(item.url, {
|
|
5685
|
+
type: "json"
|
|
5686
|
+
}).then(function(data) {
|
|
5687
|
+
// @ts-ignore
|
|
5688
|
+
engine.resourceManager.initVirtualResources(data.files);
|
|
5689
|
+
return resourceManager.load({
|
|
5690
|
+
type: AssetType.Scene,
|
|
5691
|
+
url: data.scene
|
|
5692
|
+
}).then(function(scene) {
|
|
5693
|
+
engine.sceneManager.activeScene = scene;
|
|
5694
|
+
resolve();
|
|
5695
|
+
});
|
|
5696
|
+
}).catch(reject);
|
|
5697
|
+
});
|
|
5698
|
+
};
|
|
5699
|
+
return ProjectLoader;
|
|
5700
|
+
}(Loader);
|
|
5701
|
+
ProjectLoader = __decorate([
|
|
5702
|
+
resourceLoader(AssetType.Project, [
|
|
5703
|
+
"proj"
|
|
5704
|
+
], false)
|
|
5705
|
+
], ProjectLoader);
|
|
5706
|
+
|
|
5370
5707
|
var SourceFontLoader = /*#__PURE__*/ function(Loader1) {
|
|
5371
5708
|
_inherits(SourceFontLoader, Loader1);
|
|
5372
5709
|
function SourceFontLoader() {
|
|
@@ -5487,7 +5824,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5487
5824
|
};
|
|
5488
5825
|
_proto._makeSprite = function _makeSprite(engine, config, texture) {
|
|
5489
5826
|
// Generate a SpriteAtlas object.
|
|
5490
|
-
var region = config.region, atlasRegionOffset = config.atlasRegionOffset, atlasRegion = config.atlasRegion, pivot = config.pivot, border = config.border;
|
|
5827
|
+
var region = config.region, atlasRegionOffset = config.atlasRegionOffset, atlasRegion = config.atlasRegion, pivot = config.pivot, border = config.border, width = config.width, height = config.height;
|
|
5491
5828
|
var sprite = new Sprite(engine, texture, region ? this._tempRect.set(region.x, region.y, region.w, region.h) : undefined, pivot ? this._tempVec2.set(pivot.x, pivot.y) : undefined, border ? this._tempVec4.set(border.x, border.y, border.z, border.w) : undefined, config.name);
|
|
5492
5829
|
if (texture) {
|
|
5493
5830
|
var invW = 1 / texture.width;
|
|
@@ -5499,6 +5836,8 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5499
5836
|
}
|
|
5500
5837
|
config.atlasRotated && (sprite.atlasRotated = true);
|
|
5501
5838
|
}
|
|
5839
|
+
isNaN(width) || (sprite.width = width);
|
|
5840
|
+
isNaN(height) || (sprite.height = height);
|
|
5502
5841
|
return sprite;
|
|
5503
5842
|
};
|
|
5504
5843
|
return SpriteAtlasLoader;
|
|
@@ -5517,26 +5856,39 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5517
5856
|
var _proto = SpriteLoader.prototype;
|
|
5518
5857
|
_proto.load = function load(item, resourceManager) {
|
|
5519
5858
|
var _this = this;
|
|
5520
|
-
return
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5525
|
-
|
|
5526
|
-
|
|
5527
|
-
|
|
5528
|
-
|
|
5529
|
-
|
|
5530
|
-
|
|
5531
|
-
.getResourceByRef(data.texture).then(function(texture) {
|
|
5532
|
-
resolve(new Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border));
|
|
5533
|
-
}).catch(reject);
|
|
5534
|
-
} else {
|
|
5535
|
-
resolve(new Sprite(resourceManager.engine, null, data.region, data.pivot, data.border));
|
|
5536
|
-
}
|
|
5537
|
-
}).catch(reject);
|
|
5859
|
+
return this.request(item.url, _extends({}, item, {
|
|
5860
|
+
type: "json"
|
|
5861
|
+
})).then(function(data) {
|
|
5862
|
+
return data.belongToAtlas ? _this._loadFromAtlas(resourceManager, data) : _this._loadFromTexture(resourceManager, data);
|
|
5863
|
+
});
|
|
5864
|
+
};
|
|
5865
|
+
_proto._loadFromAtlas = function _loadFromAtlas(resourceManager, data) {
|
|
5866
|
+
var _this = this;
|
|
5867
|
+
return resourceManager// @ts-ignore
|
|
5868
|
+
.getResourceByRef(data.belongToAtlas).then(function(atlas) {
|
|
5869
|
+
return atlas.getSprite(data.fullPath) || _this._loadFromTexture(resourceManager, data);
|
|
5538
5870
|
});
|
|
5539
5871
|
};
|
|
5872
|
+
_proto._loadFromTexture = function _loadFromTexture(resourceManager, data) {
|
|
5873
|
+
if (data.texture) {
|
|
5874
|
+
return resourceManager// @ts-ignore
|
|
5875
|
+
.getResourceByRef(data.texture).then(function(texture) {
|
|
5876
|
+
var sprite = new Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border);
|
|
5877
|
+
var width = data.width, height = data.height;
|
|
5878
|
+
isNaN(width) || (sprite.width = width);
|
|
5879
|
+
isNaN(height) || (sprite.height = height);
|
|
5880
|
+
return sprite;
|
|
5881
|
+
});
|
|
5882
|
+
} else {
|
|
5883
|
+
return new AssetPromise(function(resolve) {
|
|
5884
|
+
var sprite = new Sprite(resourceManager.engine, null, data.region, data.pivot, data.border);
|
|
5885
|
+
var width = data.width, height = data.height;
|
|
5886
|
+
isNaN(width) || (sprite.width = width);
|
|
5887
|
+
isNaN(height) || (sprite.height = height);
|
|
5888
|
+
resolve(sprite);
|
|
5889
|
+
});
|
|
5890
|
+
}
|
|
5891
|
+
};
|
|
5540
5892
|
return SpriteLoader;
|
|
5541
5893
|
}(Loader);
|
|
5542
5894
|
SpriteLoader = __decorate([
|
|
@@ -5687,39 +6039,6 @@ TextureCubeLoader = __decorate([
|
|
|
5687
6039
|
])
|
|
5688
6040
|
], TextureCubeLoader);
|
|
5689
6041
|
|
|
5690
|
-
var ProjectLoader = /*#__PURE__*/ function(Loader1) {
|
|
5691
|
-
_inherits(ProjectLoader, Loader1);
|
|
5692
|
-
function ProjectLoader() {
|
|
5693
|
-
return Loader1.apply(this, arguments);
|
|
5694
|
-
}
|
|
5695
|
-
var _proto = ProjectLoader.prototype;
|
|
5696
|
-
_proto.load = function load(item, resourceManager) {
|
|
5697
|
-
var _this = this;
|
|
5698
|
-
var engine = resourceManager.engine;
|
|
5699
|
-
return new AssetPromise(function(resolve, reject) {
|
|
5700
|
-
_this.request(item.url, {
|
|
5701
|
-
type: "json"
|
|
5702
|
-
}).then(function(data) {
|
|
5703
|
-
// @ts-ignore
|
|
5704
|
-
engine.resourceManager.initVirtualResources(data.files);
|
|
5705
|
-
return resourceManager.load({
|
|
5706
|
-
type: AssetType.Scene,
|
|
5707
|
-
url: data.scene
|
|
5708
|
-
}).then(function(scene) {
|
|
5709
|
-
engine.sceneManager.activeScene = scene;
|
|
5710
|
-
resolve();
|
|
5711
|
-
});
|
|
5712
|
-
}).catch(reject);
|
|
5713
|
-
});
|
|
5714
|
-
};
|
|
5715
|
-
return ProjectLoader;
|
|
5716
|
-
}(Loader);
|
|
5717
|
-
ProjectLoader = __decorate([
|
|
5718
|
-
resourceLoader(AssetType.Project, [
|
|
5719
|
-
"proj"
|
|
5720
|
-
], false)
|
|
5721
|
-
], ProjectLoader);
|
|
5722
|
-
|
|
5723
6042
|
var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
5724
6043
|
_inherits(SceneLoader, Loader1);
|
|
5725
6044
|
function SceneLoader() {
|
|
@@ -5839,170 +6158,6 @@ ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _asy
|
|
|
5839
6158
|
});
|
|
5840
6159
|
}));
|
|
5841
6160
|
|
|
5842
|
-
var _KHR_draco_mesh_compression;
|
|
5843
|
-
var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
5844
|
-
_inherits(KHR_draco_mesh_compression1, GLTFExtensionParser1);
|
|
5845
|
-
function KHR_draco_mesh_compression1() {
|
|
5846
|
-
return GLTFExtensionParser1.apply(this, arguments);
|
|
5847
|
-
}
|
|
5848
|
-
var _proto = KHR_draco_mesh_compression1.prototype;
|
|
5849
|
-
_proto.createAndParse = function createAndParse(context, schema, glTFPrimitive, glTFMesh) {
|
|
5850
|
-
var _this = this;
|
|
5851
|
-
this._initialize();
|
|
5852
|
-
var glTF = context.glTF, engine = context.glTFResource.engine;
|
|
5853
|
-
var bufferViews = glTF.bufferViews, accessors = glTF.accessors;
|
|
5854
|
-
var bufferViewIndex = schema.bufferView, gltfAttributeMap = schema.attributes;
|
|
5855
|
-
var attributeMap = {};
|
|
5856
|
-
var attributeTypeMap = {};
|
|
5857
|
-
for(var attributeName in gltfAttributeMap){
|
|
5858
|
-
attributeMap[attributeName] = gltfAttributeMap[attributeName];
|
|
5859
|
-
}
|
|
5860
|
-
for(var attributeName1 in glTFPrimitive.attributes){
|
|
5861
|
-
if (gltfAttributeMap[attributeName1] !== undefined) {
|
|
5862
|
-
var accessorDef = accessors[glTFPrimitive.attributes[attributeName1]];
|
|
5863
|
-
attributeTypeMap[attributeName1] = GLTFUtils.getComponentType(accessorDef.componentType).name;
|
|
5864
|
-
}
|
|
5865
|
-
}
|
|
5866
|
-
var indexAccessor = accessors[glTFPrimitive.indices];
|
|
5867
|
-
var indexType = GLTFUtils.getComponentType(indexAccessor.componentType).name;
|
|
5868
|
-
var taskConfig = {
|
|
5869
|
-
attributeIDs: attributeMap,
|
|
5870
|
-
attributeTypes: attributeTypeMap,
|
|
5871
|
-
useUniqueIDs: true,
|
|
5872
|
-
indexType: indexType
|
|
5873
|
-
};
|
|
5874
|
-
return context.get(GLTFParserType.Buffer).then(function(buffers) {
|
|
5875
|
-
var buffer = GLTFUtils.getBufferViewData(bufferViews[bufferViewIndex], buffers);
|
|
5876
|
-
return KHR_draco_mesh_compression._decoder.decode(buffer, taskConfig).then(function(decodedGeometry) {
|
|
5877
|
-
var mesh = new ModelMesh(engine, glTFMesh.name);
|
|
5878
|
-
return _this._parseMeshFromGLTFPrimitiveDraco(mesh, glTFMesh, glTFPrimitive, glTF, function(attributeSemantic) {
|
|
5879
|
-
for(var j = 0; j < decodedGeometry.attributes.length; j++){
|
|
5880
|
-
if (decodedGeometry.attributes[j].name === attributeSemantic) {
|
|
5881
|
-
return decodedGeometry.attributes[j].array;
|
|
5882
|
-
}
|
|
5883
|
-
}
|
|
5884
|
-
return null;
|
|
5885
|
-
}, function(attributeSemantic, shapeIndex) {
|
|
5886
|
-
throw "BlendShape animation is not supported when using draco.";
|
|
5887
|
-
}, function() {
|
|
5888
|
-
return decodedGeometry.index.array;
|
|
5889
|
-
}, context.params.keepMeshData);
|
|
5890
|
-
});
|
|
5891
|
-
});
|
|
5892
|
-
};
|
|
5893
|
-
_proto._initialize = function _initialize() {
|
|
5894
|
-
if (!KHR_draco_mesh_compression._decoder) {
|
|
5895
|
-
KHR_draco_mesh_compression._decoder = new DRACODecoder();
|
|
5896
|
-
}
|
|
5897
|
-
};
|
|
5898
|
-
_proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(mesh, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
|
|
5899
|
-
var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
|
|
5900
|
-
var vertexCount;
|
|
5901
|
-
var accessors = gltf.accessors;
|
|
5902
|
-
var accessor = accessors[attributes["POSITION"]];
|
|
5903
|
-
var positionBuffer = getVertexBufferData("POSITION");
|
|
5904
|
-
var positions = GLTFUtils.floatBufferToVector3Array(positionBuffer);
|
|
5905
|
-
mesh.setPositions(positions);
|
|
5906
|
-
var bounds = mesh.bounds;
|
|
5907
|
-
vertexCount = accessor.count;
|
|
5908
|
-
if (accessor.min && accessor.max) {
|
|
5909
|
-
bounds.min.copyFromArray(accessor.min);
|
|
5910
|
-
bounds.max.copyFromArray(accessor.max);
|
|
5911
|
-
} else {
|
|
5912
|
-
var position = KHR_draco_mesh_compression._tempVector3;
|
|
5913
|
-
var min = bounds.min, max = bounds.max;
|
|
5914
|
-
min.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
5915
|
-
max.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
5916
|
-
var stride = positionBuffer.length / vertexCount;
|
|
5917
|
-
for(var j = 0; j < vertexCount; j++){
|
|
5918
|
-
var offset = j * stride;
|
|
5919
|
-
position.copyFromArray(positionBuffer, offset);
|
|
5920
|
-
Vector3.min(min, position, min);
|
|
5921
|
-
Vector3.max(max, position, max);
|
|
5922
|
-
}
|
|
5923
|
-
}
|
|
5924
|
-
for(var attributeSemantic in attributes){
|
|
5925
|
-
if (attributeSemantic === "POSITION") {
|
|
5926
|
-
continue;
|
|
5927
|
-
}
|
|
5928
|
-
var bufferData = getVertexBufferData(attributeSemantic);
|
|
5929
|
-
switch(attributeSemantic){
|
|
5930
|
-
case "NORMAL":
|
|
5931
|
-
var normals = GLTFUtils.floatBufferToVector3Array(bufferData);
|
|
5932
|
-
mesh.setNormals(normals);
|
|
5933
|
-
break;
|
|
5934
|
-
case "TEXCOORD_0":
|
|
5935
|
-
var texturecoords = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5936
|
-
mesh.setUVs(texturecoords, 0);
|
|
5937
|
-
break;
|
|
5938
|
-
case "TEXCOORD_1":
|
|
5939
|
-
var texturecoords1 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5940
|
-
mesh.setUVs(texturecoords1, 1);
|
|
5941
|
-
break;
|
|
5942
|
-
case "TEXCOORD_2":
|
|
5943
|
-
var texturecoords2 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5944
|
-
mesh.setUVs(texturecoords2, 2);
|
|
5945
|
-
break;
|
|
5946
|
-
case "TEXCOORD_3":
|
|
5947
|
-
var texturecoords3 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5948
|
-
mesh.setUVs(texturecoords3, 3);
|
|
5949
|
-
break;
|
|
5950
|
-
case "TEXCOORD_4":
|
|
5951
|
-
var texturecoords4 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5952
|
-
mesh.setUVs(texturecoords4, 4);
|
|
5953
|
-
break;
|
|
5954
|
-
case "TEXCOORD_5":
|
|
5955
|
-
var texturecoords5 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5956
|
-
mesh.setUVs(texturecoords5, 5);
|
|
5957
|
-
break;
|
|
5958
|
-
case "TEXCOORD_6":
|
|
5959
|
-
var texturecoords6 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5960
|
-
mesh.setUVs(texturecoords6, 6);
|
|
5961
|
-
break;
|
|
5962
|
-
case "TEXCOORD_7":
|
|
5963
|
-
var texturecoords7 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5964
|
-
mesh.setUVs(texturecoords7, 7);
|
|
5965
|
-
break;
|
|
5966
|
-
case "COLOR_0":
|
|
5967
|
-
var colors = GLTFUtils.floatBufferToColorArray(bufferData, accessors[attributes["COLOR_0"]].type === AccessorType.VEC3);
|
|
5968
|
-
mesh.setColors(colors);
|
|
5969
|
-
break;
|
|
5970
|
-
case "TANGENT":
|
|
5971
|
-
var tangents = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5972
|
-
mesh.setTangents(tangents);
|
|
5973
|
-
break;
|
|
5974
|
-
case "JOINTS_0":
|
|
5975
|
-
var joints = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5976
|
-
mesh.setBoneIndices(joints);
|
|
5977
|
-
break;
|
|
5978
|
-
case "WEIGHTS_0":
|
|
5979
|
-
var weights = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5980
|
-
mesh.setBoneWeights(weights);
|
|
5981
|
-
break;
|
|
5982
|
-
}
|
|
5983
|
-
}
|
|
5984
|
-
// Indices
|
|
5985
|
-
if (indices !== undefined) {
|
|
5986
|
-
var indexAccessor = gltf.accessors[indices];
|
|
5987
|
-
var indexData = getIndexBufferData();
|
|
5988
|
-
mesh.setIndices(indexData);
|
|
5989
|
-
mesh.addSubMesh(0, indexAccessor.count, mode);
|
|
5990
|
-
} else {
|
|
5991
|
-
mesh.addSubMesh(0, vertexCount, mode);
|
|
5992
|
-
}
|
|
5993
|
-
// BlendShapes
|
|
5994
|
-
targets && GLTFMeshParser._createBlendShape(mesh, null, gltfMesh, accessors, targets, getBlendShapeData);
|
|
5995
|
-
mesh.uploadData(!keepMeshData);
|
|
5996
|
-
return Promise.resolve(mesh);
|
|
5997
|
-
};
|
|
5998
|
-
return KHR_draco_mesh_compression1;
|
|
5999
|
-
}(GLTFExtensionParser), function() {
|
|
6000
|
-
_KHR_draco_mesh_compression._tempVector3 = new Vector3();
|
|
6001
|
-
}(), _KHR_draco_mesh_compression);
|
|
6002
|
-
KHR_draco_mesh_compression = __decorate([
|
|
6003
|
-
registerGLTFExtension("KHR_draco_mesh_compression", GLTFExtensionMode.CreateAndParse)
|
|
6004
|
-
], KHR_draco_mesh_compression);
|
|
6005
|
-
|
|
6006
6161
|
var KHR_lights_punctual = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
6007
6162
|
_inherits(KHR_lights_punctual, GLTFExtensionParser1);
|
|
6008
6163
|
function KHR_lights_punctual() {
|
|
@@ -6335,6 +6490,23 @@ GALACEAN_animation_event = __decorate([
|
|
|
6335
6490
|
registerGLTFExtension("GALACEAN_animation_event", GLTFExtensionMode.AdditiveParse)
|
|
6336
6491
|
], GALACEAN_animation_event);
|
|
6337
6492
|
|
|
6493
|
+
var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
6494
|
+
_inherits(EXT_meshopt_compression, GLTFExtensionParser1);
|
|
6495
|
+
function EXT_meshopt_compression() {
|
|
6496
|
+
return GLTFExtensionParser1.apply(this, arguments);
|
|
6497
|
+
}
|
|
6498
|
+
var _proto = EXT_meshopt_compression.prototype;
|
|
6499
|
+
_proto.createAndParse = function createAndParse(context, schema) {
|
|
6500
|
+
return context.get(GLTFParserType.Buffer, schema.buffer).then(function(arrayBuffer) {
|
|
6501
|
+
return MeshoptDecoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
|
|
6502
|
+
});
|
|
6503
|
+
};
|
|
6504
|
+
return EXT_meshopt_compression;
|
|
6505
|
+
}(GLTFExtensionParser);
|
|
6506
|
+
EXT_meshopt_compression = __decorate([
|
|
6507
|
+
registerGLTFExtension("EXT_meshopt_compression", GLTFExtensionMode.CreateAndParse)
|
|
6508
|
+
], EXT_meshopt_compression);
|
|
6509
|
+
|
|
6338
6510
|
var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
6339
6511
|
_inherits(KHR_materials_anisotropy, GLTFExtensionParser1);
|
|
6340
6512
|
function KHR_materials_anisotropy() {
|
|
@@ -6358,5 +6530,5 @@ KHR_materials_anisotropy = __decorate([
|
|
|
6358
6530
|
registerGLTFExtension("KHR_materials_anisotropy", GLTFExtensionMode.AdditiveParse)
|
|
6359
6531
|
], KHR_materials_anisotropy);
|
|
6360
6532
|
|
|
6361
|
-
export { AnimationClipDecoder, ComponentMap, EditorTextureLoader, GLTFAnimationParser, GLTFBufferParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, InterpolableValueType, KTX2Loader, KTX2TargetFormat, KTX2Transcoder, MeshDecoder, MeshLoader$1 as MeshLoader, PrefabParser, ReflectionParser, SceneParser, SpecularMode, Texture2DDecoder, decode, parseSingleKTX, registerGLTFExtension, registerGLTFParser };
|
|
6533
|
+
export { AccessorType, AnimationClipDecoder, BufferInfo, ComponentMap, EditorTextureLoader, GLTFAnimationParser, GLTFBufferParser, GLTFBufferViewParser, GLTFEntityParser, GLTFExtensionMode, GLTFExtensionParser, GLTFLoader, GLTFMaterialParser, GLTFMeshParser, GLTFParser, GLTFParserContext, GLTFParserType, GLTFResource, GLTFSceneParser, GLTFSchemaParser, GLTFSkinParser, GLTFTextureParser, GLTFUtils, GLTFValidator, InterpolableValueType, KTX2Loader, KTX2TargetFormat, KTX2Transcoder, MeshDecoder, MeshLoader$1 as MeshLoader, PrefabParser, ReflectionParser, SceneParser, SpecularMode, Texture2DDecoder, decode, parseSingleKTX, registerGLTFExtension, registerGLTFParser };
|
|
6362
6534
|
//# sourceMappingURL=module.js.map
|