@galacean/engine-loader 1.1.0-beta.9 → 1.2.0-alpha.1
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 +863 -487
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +862 -487
- package/dist/module.js +852 -477
- package/dist/module.js.map +1 -1
- package/package.json +4 -5
- package/types/GLTFLoader.d.ts +8 -1
- package/types/Texture2DLoader.d.ts +9 -1
- package/types/gltf/GLTFResource.d.ts +50 -16
- 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 +18 -10
- package/types/gltf/extensions/KHR_materials_anisotropy.d.ts +1 -0
- package/types/gltf/extensions/MeshoptDecoder.d.ts +8 -0
- package/types/gltf/extensions/index.d.ts +2 -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 +24 -8
- package/types/gltf/parser/GLTFSceneParser.d.ts +0 -1
- package/types/gltf/parser/index.d.ts +2 -1
- package/types/index.d.ts +2 -1
- package/types/ktx2/KTX2Loader.d.ts +20 -8
- package/types/resource-deserialize/resources/parser/ReflectionParser.d.ts +1 -1
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +2 -0
- package/types/resource-deserialize/resources/schema/MaterialSchema.d.ts +1 -1
- package/types/resource-deserialize/resources/schema/SceneSchema.d.ts +3 -1
- package/types/resource-deserialize/utils/BufferReader.d.ts +1 -1
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,
|
|
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, 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) {
|
|
@@ -116,116 +115,116 @@ var BufferReader = /*#__PURE__*/ function() {
|
|
|
116
115
|
this.data = data;
|
|
117
116
|
this._dataView = new DataView(data.buffer, data.byteOffset + byteOffset, byteLength != null ? byteLength : data.byteLength - byteOffset);
|
|
118
117
|
this._littleEndian = littleEndian;
|
|
119
|
-
this.
|
|
118
|
+
this._position = 0;
|
|
120
119
|
this._baseOffset = byteOffset;
|
|
121
120
|
}
|
|
122
121
|
var _proto = BufferReader.prototype;
|
|
123
122
|
_proto.nextUint8 = function nextUint8() {
|
|
124
|
-
var value = this._dataView.getUint8(this.
|
|
125
|
-
this.
|
|
123
|
+
var value = this._dataView.getUint8(this._position);
|
|
124
|
+
this._position += 1;
|
|
126
125
|
return value;
|
|
127
126
|
};
|
|
128
127
|
_proto.nextUint16 = function nextUint16() {
|
|
129
|
-
var value = this._dataView.getUint16(this.
|
|
130
|
-
this.
|
|
128
|
+
var value = this._dataView.getUint16(this._position, this._littleEndian);
|
|
129
|
+
this._position += 2;
|
|
131
130
|
return value;
|
|
132
131
|
};
|
|
133
132
|
_proto.nextUint32 = function nextUint32() {
|
|
134
|
-
var value = this._dataView.getUint32(this.
|
|
135
|
-
this.
|
|
133
|
+
var value = this._dataView.getUint32(this._position, this._littleEndian);
|
|
134
|
+
this._position += 4;
|
|
136
135
|
return value;
|
|
137
136
|
};
|
|
138
137
|
_proto.nextInt32 = function nextInt32() {
|
|
139
|
-
var value = this._dataView.getInt32(this.
|
|
140
|
-
this.
|
|
138
|
+
var value = this._dataView.getInt32(this._position, this._littleEndian);
|
|
139
|
+
this._position += 4;
|
|
141
140
|
return value;
|
|
142
141
|
};
|
|
143
142
|
_proto.nextInt32Array = function nextInt32Array(len) {
|
|
144
|
-
var value = new Int32Array(this.data.buffer, this.
|
|
145
|
-
this.
|
|
143
|
+
var value = new Int32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
144
|
+
this._position += 4 * len;
|
|
146
145
|
return value;
|
|
147
146
|
};
|
|
148
147
|
_proto.nextFloat32 = function nextFloat32() {
|
|
149
|
-
var value = this._dataView.getFloat32(this.
|
|
150
|
-
this.
|
|
148
|
+
var value = this._dataView.getFloat32(this._position, this._littleEndian);
|
|
149
|
+
this._position += 4;
|
|
151
150
|
return value;
|
|
152
151
|
};
|
|
153
152
|
_proto.nextFloat32Array = function nextFloat32Array(len) {
|
|
154
|
-
var value = new Float32Array(this.data.buffer, this.
|
|
155
|
-
this.
|
|
153
|
+
var value = new Float32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
154
|
+
this._position += 4 * len;
|
|
156
155
|
return value;
|
|
157
156
|
};
|
|
158
157
|
_proto.nextUint32Array = function nextUint32Array(len) {
|
|
159
|
-
var value = new Uint32Array(this.data.buffer, this.
|
|
160
|
-
this.
|
|
158
|
+
var value = new Uint32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
159
|
+
this._position += 4 * len;
|
|
161
160
|
return value;
|
|
162
161
|
};
|
|
163
162
|
_proto.nextUint8Array = function nextUint8Array(len) {
|
|
164
|
-
var value = new Uint8Array(this.data.buffer, this.
|
|
165
|
-
this.
|
|
163
|
+
var value = new Uint8Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
164
|
+
this._position += len;
|
|
166
165
|
return value;
|
|
167
166
|
};
|
|
168
167
|
_proto.nextUint64 = function nextUint64() {
|
|
169
|
-
var left = this._dataView.getUint32(this.
|
|
170
|
-
var right = this._dataView.getUint32(this.
|
|
168
|
+
var left = this._dataView.getUint32(this._position, this._littleEndian);
|
|
169
|
+
var right = this._dataView.getUint32(this._position + 4, this._littleEndian);
|
|
171
170
|
var value = left + Math.pow(2, 32) * right;
|
|
172
|
-
this.
|
|
171
|
+
this._position += 8;
|
|
173
172
|
return value;
|
|
174
173
|
};
|
|
175
174
|
_proto.nextStr = function nextStr() {
|
|
176
175
|
var strByteLength = this.nextUint16();
|
|
177
|
-
var uint8Array = new Uint8Array(this.data.buffer, this.
|
|
178
|
-
this.
|
|
176
|
+
var uint8Array = new Uint8Array(this.data.buffer, this._position + this._dataView.byteOffset, strByteLength);
|
|
177
|
+
this._position += strByteLength;
|
|
179
178
|
return Utils.decodeText(uint8Array);
|
|
180
179
|
};
|
|
181
180
|
/**
|
|
182
181
|
* image data 放在最后
|
|
183
182
|
*/ _proto.nextImageData = function nextImageData(count) {
|
|
184
|
-
return new Uint8Array(this.data.buffer, this.data.byteOffset + this.
|
|
183
|
+
return new Uint8Array(this.data.buffer, this.data.byteOffset + this._position);
|
|
185
184
|
};
|
|
186
185
|
_proto.nextImagesData = function nextImagesData(count) {
|
|
187
186
|
var imagesLen = new Array(count);
|
|
188
187
|
// Start offset of Uint32Array should be a multiple of 4. ref: https://stackoverflow.com/questions/15417310/why-typed-array-constructors-require-offset-to-be-multiple-of-underlying-type-si
|
|
189
188
|
for(var i = 0; i < count; i++){
|
|
190
|
-
var len = this._dataView.getUint32(this.
|
|
189
|
+
var len = this._dataView.getUint32(this._position, this._littleEndian);
|
|
191
190
|
imagesLen[i] = len;
|
|
192
|
-
this.
|
|
191
|
+
this._position += 4;
|
|
193
192
|
}
|
|
194
193
|
var imagesData = [];
|
|
195
194
|
for(var i1 = 0; i1 < count; i1++){
|
|
196
195
|
var len1 = imagesLen[i1];
|
|
197
|
-
var buffer = new Uint8Array(this.data.buffer, this._dataView.byteOffset + this.
|
|
198
|
-
this.
|
|
196
|
+
var buffer = new Uint8Array(this.data.buffer, this._dataView.byteOffset + this._position, len1);
|
|
197
|
+
this._position += len1;
|
|
199
198
|
imagesData.push(buffer);
|
|
200
199
|
}
|
|
201
200
|
return imagesData;
|
|
202
201
|
};
|
|
203
202
|
_proto.skip = function skip(bytes) {
|
|
204
|
-
this.
|
|
203
|
+
this._position += bytes;
|
|
205
204
|
return this;
|
|
206
205
|
};
|
|
207
206
|
_proto.scan = function scan(maxByteLength, term) {
|
|
208
207
|
if (term === void 0) term = 0x00;
|
|
209
|
-
var byteOffset = this.
|
|
208
|
+
var byteOffset = this._position;
|
|
210
209
|
var byteLength = 0;
|
|
211
|
-
while(this._dataView.getUint8(this.
|
|
210
|
+
while(this._dataView.getUint8(this._position) !== term && byteLength < maxByteLength){
|
|
212
211
|
byteLength++;
|
|
213
|
-
this.
|
|
212
|
+
this._position++;
|
|
214
213
|
}
|
|
215
|
-
if (byteLength < maxByteLength) this.
|
|
214
|
+
if (byteLength < maxByteLength) this._position++;
|
|
216
215
|
return new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + byteOffset, byteLength);
|
|
217
216
|
};
|
|
218
217
|
_create_class(BufferReader, [
|
|
219
218
|
{
|
|
220
219
|
key: "position",
|
|
221
220
|
get: function get() {
|
|
222
|
-
return this.
|
|
221
|
+
return this._position;
|
|
223
222
|
}
|
|
224
223
|
},
|
|
225
224
|
{
|
|
226
225
|
key: "offset",
|
|
227
226
|
get: function get() {
|
|
228
|
-
return this.
|
|
227
|
+
return this._position + this._baseOffset;
|
|
229
228
|
}
|
|
230
229
|
}
|
|
231
230
|
]);
|
|
@@ -289,75 +288,74 @@ var MeshDecoder = /*#__PURE__*/ function() {
|
|
|
289
288
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
290
289
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
291
290
|
encodedMeshData.bounds && modelMesh.bounds.copyFrom(encodedMeshData.bounds);
|
|
292
|
-
var offset = Math.ceil(bufferReader.offset / 4) * 4;
|
|
291
|
+
var offset = Math.ceil(bufferReader.offset / 4) * 4 + bufferReader.data.byteOffset;
|
|
293
292
|
var buffer = bufferReader.data.buffer;
|
|
294
|
-
var
|
|
295
|
-
var float32Array = new Float32Array(buffer, encodedMeshData.positions.start + offset + byteOffset, (encodedMeshData.positions.end - encodedMeshData.positions.start) / 4);
|
|
293
|
+
var float32Array = new Float32Array(buffer, encodedMeshData.positions.start + offset, (encodedMeshData.positions.end - encodedMeshData.positions.start) / 4);
|
|
296
294
|
var vertexCount = float32Array.length / 3;
|
|
297
295
|
var positions = float32ArrayToVector3(float32Array, vertexCount);
|
|
298
296
|
modelMesh.setPositions(positions);
|
|
299
297
|
if (encodedMeshData.normals) {
|
|
300
|
-
var float32Array1 = new Float32Array(buffer, encodedMeshData.normals.start + offset
|
|
298
|
+
var float32Array1 = new Float32Array(buffer, encodedMeshData.normals.start + offset, (encodedMeshData.normals.end - encodedMeshData.normals.start) / 4);
|
|
301
299
|
var normals = float32ArrayToVector3(float32Array1, vertexCount);
|
|
302
300
|
modelMesh.setNormals(normals);
|
|
303
301
|
}
|
|
304
302
|
if (encodedMeshData.uvs) {
|
|
305
|
-
var float32Array2 = new Float32Array(buffer, encodedMeshData.uvs.start + offset
|
|
303
|
+
var float32Array2 = new Float32Array(buffer, encodedMeshData.uvs.start + offset, (encodedMeshData.uvs.end - encodedMeshData.uvs.start) / 4);
|
|
306
304
|
modelMesh.setUVs(float32ArrayToVector2(float32Array2, vertexCount));
|
|
307
305
|
}
|
|
308
306
|
if (encodedMeshData.uv1) {
|
|
309
|
-
var float32Array3 = new Float32Array(buffer, encodedMeshData.uv1.start + offset
|
|
307
|
+
var float32Array3 = new Float32Array(buffer, encodedMeshData.uv1.start + offset, (encodedMeshData.uv1.end - encodedMeshData.uv1.start) / 4);
|
|
310
308
|
modelMesh.setUVs(float32ArrayToVector2(float32Array3, vertexCount), 1);
|
|
311
309
|
}
|
|
312
310
|
if (encodedMeshData.uv2) {
|
|
313
|
-
var float32Array4 = new Float32Array(buffer, encodedMeshData.uv2.start + offset
|
|
311
|
+
var float32Array4 = new Float32Array(buffer, encodedMeshData.uv2.start + offset, (encodedMeshData.uv2.end - encodedMeshData.uv2.start) / 4);
|
|
314
312
|
modelMesh.setUVs(float32ArrayToVector2(float32Array4, vertexCount), 2);
|
|
315
313
|
}
|
|
316
314
|
if (encodedMeshData.uv3) {
|
|
317
|
-
var float32Array5 = new Float32Array(buffer, encodedMeshData.uv3.start + offset
|
|
315
|
+
var float32Array5 = new Float32Array(buffer, encodedMeshData.uv3.start + offset, (encodedMeshData.uv3.end - encodedMeshData.uv3.start) / 4);
|
|
318
316
|
modelMesh.setUVs(float32ArrayToVector2(float32Array5, vertexCount), 3);
|
|
319
317
|
}
|
|
320
318
|
if (encodedMeshData.uv4) {
|
|
321
|
-
var float32Array6 = new Float32Array(buffer, encodedMeshData.uv4.start + offset
|
|
319
|
+
var float32Array6 = new Float32Array(buffer, encodedMeshData.uv4.start + offset, (encodedMeshData.uv4.end - encodedMeshData.uv4.start) / 4);
|
|
322
320
|
modelMesh.setUVs(float32ArrayToVector2(float32Array6, vertexCount), 4);
|
|
323
321
|
}
|
|
324
322
|
if (encodedMeshData.uv5) {
|
|
325
|
-
var float32Array7 = new Float32Array(buffer, encodedMeshData.uv5.start + offset
|
|
323
|
+
var float32Array7 = new Float32Array(buffer, encodedMeshData.uv5.start + offset, (encodedMeshData.uv5.end - encodedMeshData.uv5.start) / 4);
|
|
326
324
|
modelMesh.setUVs(float32ArrayToVector2(float32Array7, vertexCount), 5);
|
|
327
325
|
}
|
|
328
326
|
if (encodedMeshData.uv6) {
|
|
329
|
-
var float32Array8 = new Float32Array(buffer, encodedMeshData.uv6.start + offset
|
|
327
|
+
var float32Array8 = new Float32Array(buffer, encodedMeshData.uv6.start + offset, (encodedMeshData.uv6.end - encodedMeshData.uv6.start) / 4);
|
|
330
328
|
modelMesh.setUVs(float32ArrayToVector2(float32Array8, vertexCount), 6);
|
|
331
329
|
}
|
|
332
330
|
if (encodedMeshData.uv7) {
|
|
333
|
-
var float32Array9 = new Float32Array(buffer, encodedMeshData.uv7.start + offset
|
|
331
|
+
var float32Array9 = new Float32Array(buffer, encodedMeshData.uv7.start + offset, (encodedMeshData.uv7.end - encodedMeshData.uv7.start) / 4);
|
|
334
332
|
modelMesh.setUVs(float32ArrayToVector2(float32Array9, vertexCount), 7);
|
|
335
333
|
}
|
|
336
334
|
if (encodedMeshData.colors) {
|
|
337
|
-
var float32Array10 = new Float32Array(buffer, encodedMeshData.colors.start + offset
|
|
335
|
+
var float32Array10 = new Float32Array(buffer, encodedMeshData.colors.start + offset, (encodedMeshData.colors.end - encodedMeshData.colors.start) / 4);
|
|
338
336
|
modelMesh.setColors(float32ArrayToVColor(float32Array10, vertexCount));
|
|
339
337
|
}
|
|
340
338
|
if (encodedMeshData.boneWeights) {
|
|
341
|
-
var float32Array11 = new Float32Array(buffer, encodedMeshData.boneWeights.start + offset
|
|
339
|
+
var float32Array11 = new Float32Array(buffer, encodedMeshData.boneWeights.start + offset, (encodedMeshData.boneWeights.end - encodedMeshData.boneWeights.start) / 4);
|
|
342
340
|
modelMesh.setBoneWeights(float32ArrayToVector4(float32Array11, vertexCount));
|
|
343
341
|
}
|
|
344
342
|
if (encodedMeshData.boneIndices) {
|
|
345
|
-
var float32Array12 = new Float32Array(buffer, encodedMeshData.boneIndices.start + offset
|
|
343
|
+
var float32Array12 = new Float32Array(buffer, encodedMeshData.boneIndices.start + offset, (encodedMeshData.boneIndices.end - encodedMeshData.boneIndices.start) / 4);
|
|
346
344
|
modelMesh.setBoneIndices(float32ArrayToVector4(float32Array12, vertexCount));
|
|
347
345
|
}
|
|
348
346
|
if (encodedMeshData.blendShapes) {
|
|
349
347
|
encodedMeshData.blendShapes.forEach(function(blendShapeData) {
|
|
350
348
|
var blendShape = new BlendShape(blendShapeData.name);
|
|
351
349
|
blendShapeData.frames.forEach(function(frameData) {
|
|
352
|
-
var positionArray = new Float32Array(buffer, frameData.deltaPosition.start + offset
|
|
350
|
+
var positionArray = new Float32Array(buffer, frameData.deltaPosition.start + offset, (frameData.deltaPosition.end - frameData.deltaPosition.start) / 4);
|
|
353
351
|
var count = positionArray.length / 3;
|
|
354
352
|
var deltaPosition = float32ArrayToVector3(positionArray, count);
|
|
355
353
|
if (frameData.deltaNormals) {
|
|
356
|
-
var normalsArray = new Float32Array(buffer, frameData.deltaNormals.start + offset
|
|
354
|
+
var normalsArray = new Float32Array(buffer, frameData.deltaNormals.start + offset, (frameData.deltaNormals.end - frameData.deltaNormals.start) / 4);
|
|
357
355
|
float32ArrayToVector3(normalsArray, count);
|
|
358
356
|
}
|
|
359
357
|
if (frameData.deltaTangents) {
|
|
360
|
-
var tangentsArray = new Float32Array(buffer, frameData.deltaTangents.start + offset
|
|
358
|
+
var tangentsArray = new Float32Array(buffer, frameData.deltaTangents.start + offset, (frameData.deltaTangents.end - frameData.deltaTangents.start) / 4);
|
|
361
359
|
float32ArrayToVector4(tangentsArray, count);
|
|
362
360
|
}
|
|
363
361
|
blendShape.addFrame(frameData.weight, deltaPosition);
|
|
@@ -368,9 +366,9 @@ var MeshDecoder = /*#__PURE__*/ function() {
|
|
|
368
366
|
if (encodedMeshData.indices) {
|
|
369
367
|
var indices = null;
|
|
370
368
|
if (encodedMeshData.indices.type === 0) {
|
|
371
|
-
indices = new Uint16Array(buffer, encodedMeshData.indices.start + offset
|
|
369
|
+
indices = new Uint16Array(buffer, encodedMeshData.indices.start + offset, (encodedMeshData.indices.end - encodedMeshData.indices.start) / 2);
|
|
372
370
|
} else {
|
|
373
|
-
indices = new Uint32Array(buffer, encodedMeshData.indices.start + offset
|
|
371
|
+
indices = new Uint32Array(buffer, encodedMeshData.indices.start + offset, (encodedMeshData.indices.end - encodedMeshData.indices.start) / 4);
|
|
374
372
|
}
|
|
375
373
|
modelMesh.setIndices(indices);
|
|
376
374
|
}
|
|
@@ -535,15 +533,23 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
535
533
|
if (position) entity.transform.position.copyFrom(position);
|
|
536
534
|
if (rotation) entity.transform.rotation.copyFrom(rotation);
|
|
537
535
|
if (scale) entity.transform.scale.copyFrom(scale);
|
|
536
|
+
var _entityConfig_layer;
|
|
537
|
+
entity.layer = (_entityConfig_layer = entityConfig.layer) != null ? _entityConfig_layer : entity.layer;
|
|
538
538
|
return entity;
|
|
539
539
|
});
|
|
540
540
|
};
|
|
541
541
|
_proto.parseClassObject = function parseClassObject(item) {
|
|
542
|
+
var _this = this;
|
|
542
543
|
var Class = Loader.getClass(item.class);
|
|
543
544
|
var _item_constructParams;
|
|
544
545
|
var params = (_item_constructParams = item.constructParams) != null ? _item_constructParams : [];
|
|
545
|
-
|
|
546
|
-
|
|
546
|
+
return Promise.all(params.map(function(param) {
|
|
547
|
+
return _this.parseBasicType(param);
|
|
548
|
+
})).then(function(resultParams) {
|
|
549
|
+
return _construct(Class, [].concat(resultParams));
|
|
550
|
+
}).then(function(instance) {
|
|
551
|
+
return _this.parsePropsAndMethods(instance, item);
|
|
552
|
+
});
|
|
547
553
|
};
|
|
548
554
|
_proto.parsePropsAndMethods = function parsePropsAndMethods(instance, item) {
|
|
549
555
|
var promises = [];
|
|
@@ -551,16 +557,14 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
551
557
|
for(var methodName in item.methods){
|
|
552
558
|
var methodParams = item.methods[methodName];
|
|
553
559
|
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
554
|
-
|
|
555
|
-
var promise = this.parseMethod(instance, methodName, params);
|
|
556
|
-
promises.push(promise);
|
|
560
|
+
promises.push(this.parseMethod(instance, methodName, methodParams[i]));
|
|
557
561
|
}
|
|
558
562
|
}
|
|
559
563
|
}
|
|
560
564
|
if (item.props) {
|
|
561
565
|
var _this = this, _loop = function(key) {
|
|
562
566
|
var value = item.props[key];
|
|
563
|
-
var promise = _this.parseBasicType(value).then(function(v) {
|
|
567
|
+
var promise = _this.parseBasicType(value, instance[key]).then(function(v) {
|
|
564
568
|
return instance[key] = v;
|
|
565
569
|
});
|
|
566
570
|
promises.push(promise);
|
|
@@ -582,7 +586,7 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
582
586
|
return (_instance = instance)[methodName].apply(_instance, [].concat(result));
|
|
583
587
|
});
|
|
584
588
|
};
|
|
585
|
-
_proto.parseBasicType = function parseBasicType(value) {
|
|
589
|
+
_proto.parseBasicType = function parseBasicType(value, originValue) {
|
|
586
590
|
var _this = this;
|
|
587
591
|
if (Array.isArray(value)) {
|
|
588
592
|
return Promise.all(value.map(function(item) {
|
|
@@ -599,13 +603,33 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
599
603
|
} else if (ReflectionParser._isEntityRef(value)) {
|
|
600
604
|
// entity reference
|
|
601
605
|
return Promise.resolve(this._context.entityMap.get(value.entityId));
|
|
602
|
-
} else {
|
|
603
|
-
|
|
604
|
-
|
|
606
|
+
} else if (originValue) {
|
|
607
|
+
var _this1 = this, _loop = function(key) {
|
|
608
|
+
if (key === "methods") {
|
|
609
|
+
var methods = value[key];
|
|
610
|
+
for(var methodName in methods){
|
|
611
|
+
var methodParams = methods[methodName];
|
|
612
|
+
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
613
|
+
var params = methodParams[i];
|
|
614
|
+
var promise = _this1.parseMethod(originValue, methodName, params);
|
|
615
|
+
promises.push(promise);
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
} else {
|
|
619
|
+
promises.push(_this1.parseBasicType(value[key], originValue[key]).then(function(v) {
|
|
620
|
+
return originValue[key] = v;
|
|
621
|
+
}));
|
|
622
|
+
}
|
|
623
|
+
};
|
|
624
|
+
var promises = [];
|
|
625
|
+
for(var key in value)_loop(key);
|
|
626
|
+
return Promise.all(promises).then(function() {
|
|
627
|
+
return originValue;
|
|
628
|
+
});
|
|
605
629
|
}
|
|
606
|
-
} else {
|
|
607
|
-
return Promise.resolve(value);
|
|
608
630
|
}
|
|
631
|
+
// primitive type
|
|
632
|
+
return Promise.resolve(value);
|
|
609
633
|
};
|
|
610
634
|
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig) {
|
|
611
635
|
// @ts-ignore
|
|
@@ -710,6 +734,7 @@ var AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
|
710
734
|
var componentStr = bufferReader.nextStr();
|
|
711
735
|
var componentType = ComponentMap[componentStr];
|
|
712
736
|
var property = bufferReader.nextStr();
|
|
737
|
+
var getProperty = bufferReader.nextStr();
|
|
713
738
|
var curve = void 0;
|
|
714
739
|
var interpolation = bufferReader.nextUint8();
|
|
715
740
|
var keysLen = bufferReader.nextUint16();
|
|
@@ -834,13 +859,42 @@ var AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
|
834
859
|
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
835
860
|
var keyframe8 = new Keyframe();
|
|
836
861
|
keyframe8.time = bufferReader.nextFloat32();
|
|
837
|
-
|
|
862
|
+
var str = bufferReader.nextStr();
|
|
863
|
+
if (str) {
|
|
864
|
+
keyframe8.value = JSON.parse(str);
|
|
865
|
+
} else {
|
|
866
|
+
keyframe8.value = null;
|
|
867
|
+
}
|
|
838
868
|
curve.addKey(keyframe8);
|
|
839
869
|
}
|
|
840
870
|
break;
|
|
841
871
|
}
|
|
872
|
+
case "AnimationBoolCurve":
|
|
873
|
+
{
|
|
874
|
+
curve = new AnimationBoolCurve();
|
|
875
|
+
curve.interpolation = interpolation;
|
|
876
|
+
for(var j8 = 0; j8 < keysLen; ++j8){
|
|
877
|
+
var keyframe9 = new Keyframe();
|
|
878
|
+
keyframe9.time = bufferReader.nextFloat32();
|
|
879
|
+
keyframe9.value = bufferReader.nextUint8() === 1;
|
|
880
|
+
curve.addKey(keyframe9);
|
|
881
|
+
}
|
|
882
|
+
break;
|
|
883
|
+
}
|
|
884
|
+
case "AnimationStringCurve":
|
|
885
|
+
{
|
|
886
|
+
curve = new AnimationStringCurve();
|
|
887
|
+
curve.interpolation = interpolation;
|
|
888
|
+
for(var j9 = 0; j9 < keysLen; ++j9){
|
|
889
|
+
var keyframe10 = new Keyframe();
|
|
890
|
+
keyframe10.time = bufferReader.nextFloat32();
|
|
891
|
+
keyframe10.value = bufferReader.nextStr();
|
|
892
|
+
curve.addKey(keyframe10);
|
|
893
|
+
}
|
|
894
|
+
break;
|
|
895
|
+
}
|
|
842
896
|
}
|
|
843
|
-
clip.addCurveBinding(relativePath, componentType, property, curve);
|
|
897
|
+
clip.addCurveBinding(relativePath, componentType, property, getProperty, curve);
|
|
844
898
|
}
|
|
845
899
|
resolve(clip);
|
|
846
900
|
});
|
|
@@ -1094,26 +1148,34 @@ var AnimationClipLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
1094
1148
|
var curveBindingPromises = clip.curveBindings.map(function(curveBinding) {
|
|
1095
1149
|
var curve = curveBinding.curve;
|
|
1096
1150
|
var promises = curve.keys.map(function(key) {
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
resourceManager// @ts-ignore
|
|
1101
|
-
.getResourceByRef(value).then(function(asset) {
|
|
1102
|
-
key.value = asset;
|
|
1103
|
-
resolve(key);
|
|
1104
|
-
}).catch(reject);
|
|
1105
|
-
});
|
|
1106
|
-
}
|
|
1151
|
+
return _this._parseKeyframeValue(key, resourceManager).then(function(actualValue) {
|
|
1152
|
+
key.value = actualValue;
|
|
1153
|
+
});
|
|
1107
1154
|
});
|
|
1108
1155
|
return Promise.all(promises);
|
|
1109
1156
|
});
|
|
1110
1157
|
return Promise.all(curveBindingPromises).then(function() {
|
|
1111
1158
|
resolve(clip);
|
|
1112
1159
|
});
|
|
1113
|
-
});
|
|
1160
|
+
}).catch(reject);
|
|
1114
1161
|
}).catch(reject);
|
|
1115
1162
|
});
|
|
1116
1163
|
};
|
|
1164
|
+
_proto._parseKeyframeValue = function _parseKeyframeValue(keyframe, resourceManager) {
|
|
1165
|
+
var _value;
|
|
1166
|
+
var value = keyframe.value;
|
|
1167
|
+
if (typeof value === "object" && ((_value = value) == null ? void 0 : _value.refId)) {
|
|
1168
|
+
return new Promise(function(resolve) {
|
|
1169
|
+
resourceManager// @ts-ignore
|
|
1170
|
+
.getResourceByRef(value).then(function(asset) {
|
|
1171
|
+
keyframe.value = asset;
|
|
1172
|
+
resolve(keyframe);
|
|
1173
|
+
});
|
|
1174
|
+
});
|
|
1175
|
+
} else {
|
|
1176
|
+
return Promise.resolve(keyframe.value);
|
|
1177
|
+
}
|
|
1178
|
+
};
|
|
1117
1179
|
return AnimationClipLoader;
|
|
1118
1180
|
}(Loader);
|
|
1119
1181
|
AnimationClipLoader = __decorate([
|
|
@@ -1389,6 +1451,60 @@ FontLoader = __decorate([
|
|
|
1389
1451
|
_this.url = url;
|
|
1390
1452
|
return _this;
|
|
1391
1453
|
}
|
|
1454
|
+
var _proto = GLTFResource.prototype;
|
|
1455
|
+
/**
|
|
1456
|
+
* Instantiate scene root entity.
|
|
1457
|
+
* @param sceneIndex - Scene index
|
|
1458
|
+
* @returns Root entity
|
|
1459
|
+
*/ _proto.instantiateSceneRoot = function instantiateSceneRoot(sceneIndex) {
|
|
1460
|
+
var sceneRoot = sceneIndex === undefined ? this._defaultSceneRoot : this._sceneRoots[sceneIndex];
|
|
1461
|
+
return sceneRoot.clone();
|
|
1462
|
+
};
|
|
1463
|
+
_proto._onDestroy = function _onDestroy() {
|
|
1464
|
+
ReferResource1.prototype._onDestroy.call(this);
|
|
1465
|
+
var _this = this, textures = _this.textures, materials = _this.materials, meshes = _this.meshes;
|
|
1466
|
+
textures && this._disassociationSuperResource(textures);
|
|
1467
|
+
materials && this._disassociationSuperResource(materials);
|
|
1468
|
+
if (meshes) {
|
|
1469
|
+
for(var i = 0, n = meshes.length; i < n; i++){
|
|
1470
|
+
this._disassociationSuperResource(meshes[i]);
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1473
|
+
};
|
|
1474
|
+
_proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
|
|
1475
|
+
for(var i = 0, n = resources.length; i < n; i++){
|
|
1476
|
+
// @ts-ignore
|
|
1477
|
+
resources[i]._disassociationSuperResource(this);
|
|
1478
|
+
}
|
|
1479
|
+
};
|
|
1480
|
+
_create_class(GLTFResource, [
|
|
1481
|
+
{
|
|
1482
|
+
key: "extensionsData",
|
|
1483
|
+
get: /**
|
|
1484
|
+
* Extensions data.
|
|
1485
|
+
*/ function get() {
|
|
1486
|
+
return this._extensionsData;
|
|
1487
|
+
}
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
key: "sceneRoots",
|
|
1491
|
+
get: /**
|
|
1492
|
+
* @deprecated Please use `instantiateSceneRoot` instead.
|
|
1493
|
+
* RootEntities after SceneParser.
|
|
1494
|
+
*/ function get() {
|
|
1495
|
+
return this._sceneRoots;
|
|
1496
|
+
}
|
|
1497
|
+
},
|
|
1498
|
+
{
|
|
1499
|
+
key: "defaultSceneRoot",
|
|
1500
|
+
get: /**
|
|
1501
|
+
* @deprecated Please use `instantiateSceneRoot` instead.
|
|
1502
|
+
* RootEntity after SceneParser.
|
|
1503
|
+
*/ function get() {
|
|
1504
|
+
return this._defaultSceneRoot;
|
|
1505
|
+
}
|
|
1506
|
+
}
|
|
1507
|
+
]);
|
|
1392
1508
|
return GLTFResource;
|
|
1393
1509
|
}(ReferResource);
|
|
1394
1510
|
|
|
@@ -1542,12 +1658,29 @@ var TextureWrapMode;
|
|
|
1542
1658
|
/**
|
|
1543
1659
|
* @internal
|
|
1544
1660
|
*/ var GLTFParserContext = /*#__PURE__*/ function() {
|
|
1545
|
-
function GLTFParserContext(glTFResource, resourceManager,
|
|
1661
|
+
function GLTFParserContext(glTFResource, resourceManager, params) {
|
|
1662
|
+
var _this = this;
|
|
1546
1663
|
this.glTFResource = glTFResource;
|
|
1547
1664
|
this.resourceManager = resourceManager;
|
|
1548
|
-
this.
|
|
1665
|
+
this.params = params;
|
|
1549
1666
|
this.accessorBufferCache = {};
|
|
1550
1667
|
this._resourceCache = new Map();
|
|
1668
|
+
this._progress = {
|
|
1669
|
+
taskDetail: {},
|
|
1670
|
+
taskComplete: {
|
|
1671
|
+
loaded: 0,
|
|
1672
|
+
total: 0
|
|
1673
|
+
}
|
|
1674
|
+
};
|
|
1675
|
+
this./**
|
|
1676
|
+
* @internal
|
|
1677
|
+
*/ _onTaskDetail = function(url, loaded, total) {
|
|
1678
|
+
var _this__progress_taskDetail, _url;
|
|
1679
|
+
var detail = (_this__progress_taskDetail = _this._progress.taskDetail)[_url = url] || (_this__progress_taskDetail[_url] = {});
|
|
1680
|
+
detail.loaded = loaded;
|
|
1681
|
+
detail.total = total;
|
|
1682
|
+
_this._setTaskDetailProgress(url, loaded, total);
|
|
1683
|
+
};
|
|
1551
1684
|
this.contentRestorer = new GLTFContentRestorer(glTFResource);
|
|
1552
1685
|
}
|
|
1553
1686
|
var _proto = GLTFParserContext.prototype;
|
|
@@ -1570,7 +1703,7 @@ var TextureWrapMode;
|
|
|
1570
1703
|
var glTFItems = this.glTF[glTFSchemaMap[type]];
|
|
1571
1704
|
if (glTFItems && (index === undefined || glTFItems[index])) {
|
|
1572
1705
|
if (index === undefined) {
|
|
1573
|
-
resource = type ===
|
|
1706
|
+
resource = type === 8 ? glTFItems.map(function(_, index) {
|
|
1574
1707
|
return _this.get(type, index);
|
|
1575
1708
|
}) : Promise.all(glTFItems.map(function(_, index) {
|
|
1576
1709
|
return _this.get(type, index);
|
|
@@ -1588,27 +1721,65 @@ var TextureWrapMode;
|
|
|
1588
1721
|
};
|
|
1589
1722
|
_proto.parse = function parse() {
|
|
1590
1723
|
var _this = this;
|
|
1591
|
-
|
|
1724
|
+
var promise = this.get(0).then(function(json) {
|
|
1592
1725
|
_this.glTF = json;
|
|
1593
1726
|
return Promise.all([
|
|
1594
1727
|
_this.get(1),
|
|
1595
|
-
_this.get(4),
|
|
1596
1728
|
_this.get(5),
|
|
1597
1729
|
_this.get(6),
|
|
1598
|
-
_this.get(
|
|
1730
|
+
_this.get(7),
|
|
1599
1731
|
_this.get(9),
|
|
1732
|
+
_this.get(10),
|
|
1600
1733
|
_this.get(2)
|
|
1601
1734
|
]).then(function() {
|
|
1735
|
+
var glTFResource = _this.glTFResource;
|
|
1736
|
+
if (glTFResource.skins || glTFResource.animations) {
|
|
1737
|
+
_this._createAnimator(_this, glTFResource.animations);
|
|
1738
|
+
}
|
|
1602
1739
|
_this.resourceManager.addContentRestorer(_this.contentRestorer);
|
|
1603
|
-
return
|
|
1740
|
+
return glTFResource;
|
|
1604
1741
|
});
|
|
1605
1742
|
});
|
|
1743
|
+
this._addTaskCompletePromise(promise);
|
|
1744
|
+
return promise;
|
|
1745
|
+
};
|
|
1746
|
+
/**
|
|
1747
|
+
* @internal
|
|
1748
|
+
*/ _proto._addTaskCompletePromise = function _addTaskCompletePromise(taskPromise) {
|
|
1749
|
+
var _this = this;
|
|
1750
|
+
var task = this._progress.taskComplete;
|
|
1751
|
+
task.total += 1;
|
|
1752
|
+
taskPromise.then(function() {
|
|
1753
|
+
_this._setTaskCompleteProgress(++task.loaded, task.total);
|
|
1754
|
+
});
|
|
1755
|
+
};
|
|
1756
|
+
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
1757
|
+
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
1758
|
+
var animator = defaultSceneRoot.addComponent(Animator);
|
|
1759
|
+
var animatorController = new AnimatorController();
|
|
1760
|
+
var layer = new AnimatorControllerLayer("layer");
|
|
1761
|
+
var animatorStateMachine = new AnimatorStateMachine();
|
|
1762
|
+
animatorController.addLayer(layer);
|
|
1763
|
+
animator.animatorController = animatorController;
|
|
1764
|
+
layer.stateMachine = animatorStateMachine;
|
|
1765
|
+
if (animations) {
|
|
1766
|
+
for(var i = 0; i < animations.length; i++){
|
|
1767
|
+
var animationClip = animations[i];
|
|
1768
|
+
var name = animationClip.name;
|
|
1769
|
+
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
1770
|
+
if (uniqueName !== name) {
|
|
1771
|
+
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
1772
|
+
}
|
|
1773
|
+
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
1774
|
+
animatorState.clip = animationClip;
|
|
1775
|
+
}
|
|
1776
|
+
}
|
|
1606
1777
|
};
|
|
1607
1778
|
_proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
|
|
1608
1779
|
var _this = this;
|
|
1609
1780
|
var glTFResourceKey = glTFResourceMap[type];
|
|
1610
1781
|
if (!glTFResourceKey) return;
|
|
1611
|
-
if (type ===
|
|
1782
|
+
if (type === 8) {
|
|
1612
1783
|
var _this_glTFResource, _glTFResourceKey;
|
|
1613
1784
|
((_this_glTFResource = this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = resource;
|
|
1614
1785
|
} else {
|
|
@@ -1616,7 +1787,7 @@ var TextureWrapMode;
|
|
|
1616
1787
|
resource.then(function(item) {
|
|
1617
1788
|
var _this_glTFResource, _glTFResourceKey;
|
|
1618
1789
|
((_this_glTFResource = _this.glTFResource)[_glTFResourceKey = glTFResourceKey] || (_this_glTFResource[_glTFResourceKey] = []))[index] = item;
|
|
1619
|
-
if (type ===
|
|
1790
|
+
if (type === 7) {
|
|
1620
1791
|
for(var i = 0, length = item.length; i < length; i++){
|
|
1621
1792
|
var mesh = item[i];
|
|
1622
1793
|
// @ts-ignore
|
|
@@ -1656,17 +1827,18 @@ var GLTFParserType;
|
|
|
1656
1827
|
GLTFParserType[GLTFParserType["Validator"] = 1] = "Validator";
|
|
1657
1828
|
GLTFParserType[GLTFParserType["Scene"] = 2] = "Scene";
|
|
1658
1829
|
GLTFParserType[GLTFParserType["Buffer"] = 3] = "Buffer";
|
|
1659
|
-
GLTFParserType[GLTFParserType["
|
|
1660
|
-
GLTFParserType[GLTFParserType["
|
|
1661
|
-
GLTFParserType[GLTFParserType["
|
|
1662
|
-
GLTFParserType[GLTFParserType["
|
|
1663
|
-
GLTFParserType[GLTFParserType["
|
|
1664
|
-
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";
|
|
1665
1837
|
})(GLTFParserType || (GLTFParserType = {}));
|
|
1666
1838
|
var _obj;
|
|
1667
|
-
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);
|
|
1668
1840
|
var _obj1;
|
|
1669
|
-
var glTFResourceMap = (_obj1 = {}, _obj1[2] = "
|
|
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);
|
|
1670
1842
|
function registerGLTFParser(pipeline) {
|
|
1671
1843
|
return function(Parser) {
|
|
1672
1844
|
var parser = new Parser();
|
|
@@ -1772,11 +1944,10 @@ function registerGLTFParser(pipeline) {
|
|
|
1772
1944
|
GLTFUtils.getAccessorBuffer = function getAccessorBuffer(context, bufferViews, accessor) {
|
|
1773
1945
|
var componentType = accessor.componentType;
|
|
1774
1946
|
var bufferView = bufferViews[accessor.bufferView];
|
|
1775
|
-
return context.get(GLTFParserType.
|
|
1947
|
+
return context.get(GLTFParserType.BufferView, accessor.bufferView).then(function(bufferViewData) {
|
|
1776
1948
|
var bufferIndex = bufferView.buffer;
|
|
1777
|
-
var
|
|
1778
|
-
var
|
|
1779
|
-
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;
|
|
1780
1951
|
var _accessor_byteOffset;
|
|
1781
1952
|
var byteOffset = (_accessor_byteOffset = accessor.byteOffset) != null ? _accessor_byteOffset : 0;
|
|
1782
1953
|
var TypedArray = GLTFUtils.getComponentType(componentType);
|
|
@@ -1795,19 +1966,21 @@ function registerGLTFParser(pipeline) {
|
|
|
1795
1966
|
if (!bufferInfo) {
|
|
1796
1967
|
var offset = bufferByteOffset + bufferSlice * bufferStride;
|
|
1797
1968
|
var count = accessorCount * (bufferStride / dataElementBytes);
|
|
1798
|
-
var data = new TypedArray(buffer, offset, count);
|
|
1969
|
+
var data = new TypedArray(bufferViewData.buffer, offset, count);
|
|
1799
1970
|
accessorBufferCache[bufferCacheKey] = bufferInfo = new BufferInfo(data, true, bufferStride);
|
|
1800
1971
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset, count));
|
|
1801
1972
|
}
|
|
1802
1973
|
} else {
|
|
1803
1974
|
var offset1 = bufferByteOffset + byteOffset;
|
|
1804
1975
|
var count1 = accessorCount * dataElementSize;
|
|
1805
|
-
var data1 = new TypedArray(buffer, offset1, count1);
|
|
1976
|
+
var data1 = new TypedArray(bufferViewData.buffer, offset1, count1);
|
|
1806
1977
|
bufferInfo = new BufferInfo(data1, false, elementStride);
|
|
1807
1978
|
bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
|
|
1808
1979
|
}
|
|
1809
1980
|
if (accessor.sparse) {
|
|
1810
|
-
GLTFUtils.processingSparseData(
|
|
1981
|
+
return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
|
|
1982
|
+
return bufferInfo;
|
|
1983
|
+
});
|
|
1811
1984
|
}
|
|
1812
1985
|
return bufferInfo;
|
|
1813
1986
|
});
|
|
@@ -1883,40 +2056,43 @@ function registerGLTFParser(pipeline) {
|
|
|
1883
2056
|
};
|
|
1884
2057
|
/**
|
|
1885
2058
|
* Get accessor data.
|
|
1886
|
-
*/ GLTFUtils.processingSparseData = function processingSparseData(
|
|
2059
|
+
*/ GLTFUtils.processingSparseData = function processingSparseData(context, accessor, bufferInfo) {
|
|
1887
2060
|
var restoreInfo = bufferInfo.restoreInfo;
|
|
2061
|
+
var bufferViews = context.glTF.bufferViews;
|
|
1888
2062
|
var accessorTypeSize = GLTFUtils.getAccessorTypeSize(accessor.type);
|
|
1889
2063
|
var TypedArray = GLTFUtils.getComponentType(accessor.componentType);
|
|
1890
2064
|
var data = bufferInfo.data.slice();
|
|
1891
2065
|
var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
|
|
1892
2066
|
var indicesBufferView = bufferViews[indices.bufferView];
|
|
1893
2067
|
var valuesBufferView = bufferViews[values.bufferView];
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
var
|
|
1915
|
-
|
|
1916
|
-
|
|
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
|
+
}
|
|
1917
2093
|
}
|
|
1918
|
-
|
|
1919
|
-
|
|
2094
|
+
bufferInfo.data = data;
|
|
2095
|
+
});
|
|
1920
2096
|
};
|
|
1921
2097
|
GLTFUtils.getIndexFormat = function getIndexFormat(type) {
|
|
1922
2098
|
switch(type){
|
|
@@ -2243,7 +2419,7 @@ var SupercompressionScheme;
|
|
|
2243
2419
|
alphaSliceByteLength: sgdReader.nextUint32()
|
|
2244
2420
|
};
|
|
2245
2421
|
}
|
|
2246
|
-
var endpointsByteOffset = sgdByteOffset + sgdReader.
|
|
2422
|
+
var endpointsByteOffset = sgdByteOffset + sgdReader.position;
|
|
2247
2423
|
var selectorsByteOffset = endpointsByteOffset + endpointsByteLength;
|
|
2248
2424
|
var tablesByteOffset = selectorsByteOffset + selectorsByteLength;
|
|
2249
2425
|
var extendedByteOffset = tablesByteOffset + tablesByteLength;
|
|
@@ -2435,6 +2611,25 @@ var AbstractTranscoder = /*#__PURE__*/ function() {
|
|
|
2435
2611
|
}();
|
|
2436
2612
|
|
|
2437
2613
|
/** @internal */ function TranscodeWorkerCode$1() {
|
|
2614
|
+
var initPromise;
|
|
2615
|
+
var init = function init(wasmBinary) {
|
|
2616
|
+
if (!initPromise) {
|
|
2617
|
+
initPromise = new Promise(function(resolve, reject) {
|
|
2618
|
+
var BasisModule = {
|
|
2619
|
+
wasmBinary: wasmBinary,
|
|
2620
|
+
onRuntimeInitialized: function() {
|
|
2621
|
+
return resolve(BasisModule);
|
|
2622
|
+
},
|
|
2623
|
+
onAbort: reject
|
|
2624
|
+
};
|
|
2625
|
+
self["BASIS"](BasisModule);
|
|
2626
|
+
}).then(function(BasisModule) {
|
|
2627
|
+
BasisModule.initializeBasis();
|
|
2628
|
+
return BasisModule.KTX2File;
|
|
2629
|
+
});
|
|
2630
|
+
}
|
|
2631
|
+
return initPromise;
|
|
2632
|
+
};
|
|
2438
2633
|
self.onmessage = function onmessage(event) {
|
|
2439
2634
|
var message = event.data;
|
|
2440
2635
|
switch(message.type){
|
|
@@ -2561,6 +2756,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2561
2756
|
var faceCount = ktx2File.getFaces();
|
|
2562
2757
|
var format = getTranscodeFormatFromTarget(targetFormat, hasAlpha);
|
|
2563
2758
|
var faces = new Array(faceCount);
|
|
2759
|
+
var isBC = format === 2 || format === 3 || format === 7;
|
|
2564
2760
|
for(var face = 0; face < faceCount; face++){
|
|
2565
2761
|
var mipmaps = new Array(levelCount);
|
|
2566
2762
|
for(var mip = 0; mip < levelCount; mip++){
|
|
@@ -2568,8 +2764,15 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2568
2764
|
var mipWidth = void 0, mipHeight = void 0;
|
|
2569
2765
|
for(var layer = 0; layer < layerCount; layer++){
|
|
2570
2766
|
var levelInfo = ktx2File.getImageLevelInfo(mip, layer, face);
|
|
2571
|
-
|
|
2572
|
-
|
|
2767
|
+
// see: https://github.com/KhronosGroup/KTX-Software/issues/254
|
|
2768
|
+
if (isBC && mip === 0 && (width !== levelInfo.width || height !== levelInfo.height)) {
|
|
2769
|
+
width = mipWidth = levelInfo.width;
|
|
2770
|
+
height = mipHeight = levelInfo.height;
|
|
2771
|
+
console.warn("KTX2 transcode to BC will resize to width: " + width + ", height: " + height + ". You'd better use an image whose size if multiple of 4.");
|
|
2772
|
+
} else {
|
|
2773
|
+
mipWidth = levelInfo.origWidth;
|
|
2774
|
+
mipHeight = levelInfo.origHeight;
|
|
2775
|
+
}
|
|
2573
2776
|
var dst = new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip, layer, 0, format));
|
|
2574
2777
|
var status = ktx2File.transcodeImage(dst, mip, layer, face, format, 0, -1, -1);
|
|
2575
2778
|
if (!status) {
|
|
@@ -2635,7 +2838,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2635
2838
|
} else {
|
|
2636
2839
|
var funcCode = TranscodeWorkerCode$1.toString();
|
|
2637
2840
|
var transcodeString = funcCode.substring(funcCode.indexOf("{"), funcCode.lastIndexOf("}") + 1);
|
|
2638
|
-
var workerCode = "\n " + jsCode + "\n
|
|
2841
|
+
var workerCode = "\n " + jsCode + "\n " + transcode.toString() + "\n " + transcodeString + "\n ";
|
|
2639
2842
|
var workerURL = URL.createObjectURL(new Blob([
|
|
2640
2843
|
workerCode
|
|
2641
2844
|
], {
|
|
@@ -2881,10 +3084,14 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2881
3084
|
return Loader1.apply(this, arguments);
|
|
2882
3085
|
}
|
|
2883
3086
|
var _proto = KTX2Loader1.prototype;
|
|
2884
|
-
_proto.initialize = function initialize(
|
|
3087
|
+
_proto.initialize = function initialize(_, configuration) {
|
|
2885
3088
|
if (configuration.ktx2Loader) {
|
|
2886
3089
|
var options = configuration.ktx2Loader;
|
|
2887
|
-
if (
|
|
3090
|
+
if (options.priorityFormats) {
|
|
3091
|
+
KTX2Loader._priorityFormats["etc1s"] = options.priorityFormats;
|
|
3092
|
+
KTX2Loader._priorityFormats["uastc"] = options.priorityFormats;
|
|
3093
|
+
}
|
|
3094
|
+
if (options.transcoder === /** Khronos transcoder. */ 1) {
|
|
2888
3095
|
return KTX2Loader._getKhronosTranscoder(options.workerCount).init();
|
|
2889
3096
|
} else {
|
|
2890
3097
|
return KTX2Loader._getBinomialLLCTranscoder(options.workerCount).init();
|
|
@@ -2894,39 +3101,22 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2894
3101
|
/**
|
|
2895
3102
|
* @internal
|
|
2896
3103
|
*/ _proto.load = function load(item, resourceManager) {
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
return KTX2Loader.
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
2908
|
-
KTX2TargetFormat.ASTC,
|
|
2909
|
-
KTX2TargetFormat.ETC,
|
|
2910
|
-
KTX2TargetFormat.BC7,
|
|
2911
|
-
KTX2TargetFormat.BC1_BC3,
|
|
2912
|
-
KTX2TargetFormat.PVRTC,
|
|
2913
|
-
KTX2TargetFormat.R8G8B8A8
|
|
2914
|
-
];
|
|
2915
|
-
var supportedList = new Array();
|
|
2916
|
-
if (Array.isArray(priorityFormats[0])) {
|
|
2917
|
-
for(var i = 0; i < priorityFormats.length; i++){
|
|
2918
|
-
supportedList.push(KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats[i]));
|
|
2919
|
-
}
|
|
2920
|
-
} else {
|
|
2921
|
-
supportedList.push(KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats));
|
|
2922
|
-
}
|
|
2923
|
-
return supportedList.every(function(format) {
|
|
2924
|
-
return KhronosTranscoder.transcoderMap[format];
|
|
3104
|
+
var _this = this;
|
|
3105
|
+
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
3106
|
+
_this.request(item.url, {
|
|
3107
|
+
type: "arraybuffer"
|
|
3108
|
+
}).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
|
|
3109
|
+
return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
3110
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3111
|
+
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
3112
|
+
});
|
|
3113
|
+
}).then(resolve).catch(reject);
|
|
2925
3114
|
});
|
|
2926
3115
|
};
|
|
2927
3116
|
/**
|
|
2928
|
-
*
|
|
2929
|
-
|
|
3117
|
+
* Release ktx2 transcoder worker.
|
|
3118
|
+
* @remarks If use loader after releasing, we should release again.
|
|
3119
|
+
*/ KTX2Loader1.release = function release() {
|
|
2930
3120
|
if (this._binomialLLCTranscoder) this._binomialLLCTranscoder.destroy();
|
|
2931
3121
|
if (this._khronosTranscoder) this._khronosTranscoder.destroy();
|
|
2932
3122
|
this._binomialLLCTranscoder = null;
|
|
@@ -2936,7 +3126,8 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2936
3126
|
/** @internal */ KTX2Loader1._parseBuffer = function _parseBuffer(buffer, engine, params) {
|
|
2937
3127
|
var _params;
|
|
2938
3128
|
var ktx2Container = new KTX2Container(buffer);
|
|
2939
|
-
var
|
|
3129
|
+
var _params_priorityFormats;
|
|
3130
|
+
var formatPriorities = (_params_priorityFormats = (_params = params) == null ? void 0 : _params.priorityFormats) != null ? _params_priorityFormats : KTX2Loader._priorityFormats[ktx2Container.isUASTC ? "uastc" : "etc1s"];
|
|
2940
3131
|
var targetFormat = KTX2Loader._decideTargetFormat(engine, ktx2Container, formatPriorities);
|
|
2941
3132
|
var transcodeResultPromise;
|
|
2942
3133
|
if (KTX2Loader._isBinomialInit || !KhronosTranscoder.transcoderMap[targetFormat] || !ktx2Container.isUASTC) {
|
|
@@ -3003,18 +3194,22 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3003
3194
|
return targetFormat;
|
|
3004
3195
|
};
|
|
3005
3196
|
KTX2Loader1._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats) {
|
|
3006
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
3007
|
-
KTX2TargetFormat.ASTC,
|
|
3008
|
-
KTX2TargetFormat.ETC,
|
|
3009
|
-
KTX2TargetFormat.BC7,
|
|
3010
|
-
KTX2TargetFormat.BC1_BC3,
|
|
3011
|
-
KTX2TargetFormat.PVRTC
|
|
3012
|
-
];
|
|
3013
3197
|
for(var i = 0; i < priorityFormats.length; i++){
|
|
3014
|
-
var
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3198
|
+
var format = priorityFormats[i];
|
|
3199
|
+
var capabilities = this._supportedMap[format];
|
|
3200
|
+
if (capabilities) {
|
|
3201
|
+
for(var j = 0; j < capabilities.length; j++){
|
|
3202
|
+
if (renderer.canIUse(capabilities[j])) {
|
|
3203
|
+
return format;
|
|
3204
|
+
}
|
|
3205
|
+
}
|
|
3206
|
+
} else {
|
|
3207
|
+
switch(priorityFormats[i]){
|
|
3208
|
+
case KTX2TargetFormat.R8G8B8A8:
|
|
3209
|
+
return format;
|
|
3210
|
+
case KTX2TargetFormat.R8:
|
|
3211
|
+
case KTX2TargetFormat.R8G8:
|
|
3212
|
+
if (renderer.isWebGL2) return format;
|
|
3018
3213
|
}
|
|
3019
3214
|
}
|
|
3020
3215
|
}
|
|
@@ -3051,6 +3246,23 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3051
3246
|
return KTX2Loader1;
|
|
3052
3247
|
}(Loader), function() {
|
|
3053
3248
|
_KTX2Loader._isBinomialInit = false;
|
|
3249
|
+
}(), function() {
|
|
3250
|
+
_KTX2Loader._priorityFormats = {
|
|
3251
|
+
etc1s: [
|
|
3252
|
+
KTX2TargetFormat.ETC,
|
|
3253
|
+
KTX2TargetFormat.BC7,
|
|
3254
|
+
KTX2TargetFormat.ASTC,
|
|
3255
|
+
KTX2TargetFormat.BC1_BC3,
|
|
3256
|
+
KTX2TargetFormat.PVRTC
|
|
3257
|
+
],
|
|
3258
|
+
uastc: [
|
|
3259
|
+
KTX2TargetFormat.ASTC,
|
|
3260
|
+
KTX2TargetFormat.BC7,
|
|
3261
|
+
KTX2TargetFormat.ETC,
|
|
3262
|
+
KTX2TargetFormat.BC1_BC3,
|
|
3263
|
+
KTX2TargetFormat.PVRTC
|
|
3264
|
+
]
|
|
3265
|
+
};
|
|
3054
3266
|
}(), function() {
|
|
3055
3267
|
var _obj;
|
|
3056
3268
|
_KTX2Loader._supportedMap = (_obj = {}, _obj[KTX2TargetFormat.ASTC] = [
|
|
@@ -3071,6 +3283,11 @@ KTX2Loader = __decorate([
|
|
|
3071
3283
|
"ktx2"
|
|
3072
3284
|
])
|
|
3073
3285
|
], KTX2Loader);
|
|
3286
|
+
var KTX2Transcoder;
|
|
3287
|
+
(function(KTX2Transcoder) {
|
|
3288
|
+
KTX2Transcoder[KTX2Transcoder[/** BinomialLLC transcoder. */ "BinomialLLC"] = 0] = "BinomialLLC";
|
|
3289
|
+
KTX2Transcoder[KTX2Transcoder["Khronos"] = 1] = "Khronos";
|
|
3290
|
+
})(KTX2Transcoder || (KTX2Transcoder = {}));
|
|
3074
3291
|
|
|
3075
3292
|
/**
|
|
3076
3293
|
* @internal
|
|
@@ -3421,7 +3638,7 @@ var GLTFSchemaParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3421
3638
|
};
|
|
3422
3639
|
var isGLB = this._isGLB(url);
|
|
3423
3640
|
contentRestorer.isGLB = isGLB;
|
|
3424
|
-
var promise = isGLB ? request(url, requestConfig).then(function(glb) {
|
|
3641
|
+
var promise = isGLB ? request(url, requestConfig).onProgress(undefined, context._onTaskDetail).then(function(glb) {
|
|
3425
3642
|
restoreBufferRequests.push(new BufferRequestInfo(url, requestConfig));
|
|
3426
3643
|
return GLTFUtils.parseGLB(context, glb);
|
|
3427
3644
|
}).then(function(param) {
|
|
@@ -3430,7 +3647,7 @@ var GLTFSchemaParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3430
3647
|
return glTF;
|
|
3431
3648
|
}) : request(url, {
|
|
3432
3649
|
type: "json"
|
|
3433
|
-
});
|
|
3650
|
+
}).onProgress(undefined, context._onTaskDetail);
|
|
3434
3651
|
return promise;
|
|
3435
3652
|
};
|
|
3436
3653
|
_proto._isGLB = function _isGLB(url) {
|
|
@@ -3462,9 +3679,9 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3462
3679
|
* @internal
|
|
3463
3680
|
*/ GLTFAnimationParser1._parseStandardProperty = function _parseStandardProperty(context, animationClip, animationInfo) {
|
|
3464
3681
|
var _loop = function(j, m) {
|
|
3465
|
-
var
|
|
3466
|
-
var inputAccessor = accessors[
|
|
3467
|
-
var outputAccessor = accessors[
|
|
3682
|
+
var glTFSampler = samplers[j];
|
|
3683
|
+
var inputAccessor = accessors[glTFSampler.input];
|
|
3684
|
+
var outputAccessor = accessors[glTFSampler.output];
|
|
3468
3685
|
var promise = Promise.all([
|
|
3469
3686
|
GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
|
|
3470
3687
|
GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
|
|
@@ -3480,8 +3697,8 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3480
3697
|
output = scaled;
|
|
3481
3698
|
}
|
|
3482
3699
|
var outputStride = output.length / input.length;
|
|
3483
|
-
var
|
|
3484
|
-
var interpolation = (
|
|
3700
|
+
var _glTFSampler_interpolation;
|
|
3701
|
+
var interpolation = (_glTFSampler_interpolation = glTFSampler.interpolation) != null ? _glTFSampler_interpolation : AnimationSamplerInterpolation.Linear;
|
|
3485
3702
|
var samplerInterpolation;
|
|
3486
3703
|
switch(interpolation){
|
|
3487
3704
|
case AnimationSamplerInterpolation.CubicSpine:
|
|
@@ -3514,10 +3731,11 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3514
3731
|
var promises = new Array();
|
|
3515
3732
|
// parse samplers
|
|
3516
3733
|
for(var j = 0, m = samplers.length; j < m; j++)_loop(j);
|
|
3734
|
+
promises.push(context.get(GLTFParserType.Scene));
|
|
3517
3735
|
return Promise.all(promises).then(function() {
|
|
3518
3736
|
for(var j = 0, m = channels.length; j < m; j++){
|
|
3519
|
-
var
|
|
3520
|
-
var target =
|
|
3737
|
+
var glTFChannel = channels[j];
|
|
3738
|
+
var target = glTFChannel.target;
|
|
3521
3739
|
var channelTargetEntity = entities[target.node];
|
|
3522
3740
|
var relativePath = "";
|
|
3523
3741
|
var entity = channelTargetEntity;
|
|
@@ -3525,6 +3743,10 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3525
3743
|
relativePath = relativePath === "" ? "" + entity.name : entity.name + "/" + relativePath;
|
|
3526
3744
|
entity = entity.parent;
|
|
3527
3745
|
}
|
|
3746
|
+
// If the target node is in the default scene, relativePath will be empty
|
|
3747
|
+
if (context.glTFResource.sceneRoots.indexOf(entity) === -1) {
|
|
3748
|
+
continue;
|
|
3749
|
+
}
|
|
3528
3750
|
var ComponentType = void 0;
|
|
3529
3751
|
var propertyName = void 0;
|
|
3530
3752
|
switch(target.path){
|
|
@@ -3545,14 +3767,21 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3545
3767
|
propertyName = "blendShapeWeights";
|
|
3546
3768
|
break;
|
|
3547
3769
|
}
|
|
3548
|
-
var curve = _this._addCurve(target.path,
|
|
3549
|
-
|
|
3770
|
+
var curve = _this._addCurve(target.path, glTFChannel, sampleDataCollection);
|
|
3771
|
+
if (target.path === AnimationChannelTargetPath.WEIGHTS) {
|
|
3772
|
+
var mesh = glTF.nodes[target.node].mesh;
|
|
3773
|
+
for(var i = 0, n = glTF.meshes[mesh].primitives.length; i < n; i++){
|
|
3774
|
+
animationClip.addCurveBinding(relativePath, ComponentType, i, propertyName, curve);
|
|
3775
|
+
}
|
|
3776
|
+
} else {
|
|
3777
|
+
animationClip.addCurveBinding(relativePath, ComponentType, propertyName, curve);
|
|
3778
|
+
}
|
|
3550
3779
|
}
|
|
3551
3780
|
return animationClip;
|
|
3552
3781
|
});
|
|
3553
3782
|
};
|
|
3554
|
-
GLTFAnimationParser1._addCurve = function _addCurve(animationChannelTargetPath,
|
|
3555
|
-
var sampleData = sampleDataCollection[
|
|
3783
|
+
GLTFAnimationParser1._addCurve = function _addCurve(animationChannelTargetPath, glTFChannel, sampleDataCollection) {
|
|
3784
|
+
var sampleData = sampleDataCollection[glTFChannel.sampler];
|
|
3556
3785
|
var input = sampleData.input, output = sampleData.output, outputSize = sampleData.outputSize;
|
|
3557
3786
|
switch(animationChannelTargetPath){
|
|
3558
3787
|
case AnimationChannelTargetPath.TRANSLATION:
|
|
@@ -3644,7 +3873,9 @@ var GLTFBufferParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3644
3873
|
};
|
|
3645
3874
|
var absoluteUrl = Utils.resolveAbsoluteUrl(url, bufferInfo.uri);
|
|
3646
3875
|
restoreBufferRequests.push(new BufferRequestInfo(absoluteUrl, requestConfig));
|
|
3647
|
-
|
|
3876
|
+
var promise = request(absoluteUrl, requestConfig).onProgress(undefined, context._onTaskDetail);
|
|
3877
|
+
context._addTaskCompletePromise(promise);
|
|
3878
|
+
return promise;
|
|
3648
3879
|
};
|
|
3649
3880
|
return GLTFBufferParser;
|
|
3650
3881
|
}(GLTFParser);
|
|
@@ -3659,10 +3890,13 @@ var GLTFEntityParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3659
3890
|
}
|
|
3660
3891
|
var _proto = GLTFEntityParser.prototype;
|
|
3661
3892
|
_proto.parse = function parse(context, index) {
|
|
3893
|
+
var glTFResource = context.glTFResource;
|
|
3662
3894
|
var entityInfo = context.glTF.nodes[index];
|
|
3663
|
-
var engine =
|
|
3895
|
+
var engine = glTFResource.engine;
|
|
3664
3896
|
var matrix = entityInfo.matrix, translation = entityInfo.translation, rotation = entityInfo.rotation, scale = entityInfo.scale, extensions = entityInfo.extensions;
|
|
3665
3897
|
var entity = new Entity(engine, entityInfo.name || "_GLTF_ENTITY_" + index);
|
|
3898
|
+
// @ts-ignore
|
|
3899
|
+
entity._markAsTemplate(glTFResource);
|
|
3666
3900
|
var transform = entity.transform;
|
|
3667
3901
|
if (matrix) {
|
|
3668
3902
|
var localMatrix = transform.localMatrix;
|
|
@@ -3704,7 +3938,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3704
3938
|
var _proto = GLTFMaterialParser1.prototype;
|
|
3705
3939
|
_proto.parse = function parse(context, index) {
|
|
3706
3940
|
var materialInfo = context.glTF.materials[index];
|
|
3707
|
-
var
|
|
3941
|
+
var glTFResource = context.glTFResource;
|
|
3942
|
+
var engine = glTFResource.engine;
|
|
3708
3943
|
var material = GLTFParser.executeExtensionsCreateAndParse(materialInfo.extensions, context, materialInfo);
|
|
3709
3944
|
if (!material) {
|
|
3710
3945
|
material = new PBRMaterial(engine);
|
|
@@ -3712,8 +3947,10 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3712
3947
|
GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
|
|
3713
3948
|
}
|
|
3714
3949
|
return Promise.resolve(material).then(function(material) {
|
|
3715
|
-
material || (material = GLTFMaterialParser._getDefaultMaterial(
|
|
3950
|
+
material || (material = GLTFMaterialParser._getDefaultMaterial(engine));
|
|
3716
3951
|
GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
|
|
3952
|
+
// @ts-ignore
|
|
3953
|
+
material._associationSuperResource(glTFResource);
|
|
3717
3954
|
return material;
|
|
3718
3955
|
});
|
|
3719
3956
|
};
|
|
@@ -3834,14 +4071,20 @@ var GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3834
4071
|
var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
|
|
3835
4072
|
if (mesh) {
|
|
3836
4073
|
if (_instanceof(mesh, ModelMesh)) {
|
|
4074
|
+
// @ts-ignore
|
|
4075
|
+
mesh._associationSuperResource(glTFResource);
|
|
3837
4076
|
resolve(mesh);
|
|
3838
4077
|
} else {
|
|
3839
4078
|
mesh.then(function(mesh) {
|
|
3840
|
-
|
|
4079
|
+
// @ts-ignore
|
|
4080
|
+
mesh._associationSuperResource(glTFResource);
|
|
4081
|
+
resolve(mesh);
|
|
3841
4082
|
});
|
|
3842
4083
|
}
|
|
3843
4084
|
} else {
|
|
3844
4085
|
var mesh1 = new ModelMesh(engine, meshInfo.name || i + "");
|
|
4086
|
+
// @ts-ignore
|
|
4087
|
+
mesh1._associationSuperResource(glTFResource);
|
|
3845
4088
|
var meshRestoreInfo = new ModelMeshRestoreInfo();
|
|
3846
4089
|
meshRestoreInfo.mesh = mesh1;
|
|
3847
4090
|
context.contentRestorer.meshes.push(meshRestoreInfo);
|
|
@@ -3861,12 +4104,13 @@ var GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3861
4104
|
return context.get(GLTFParserType.Buffer).then(function(buffers) {
|
|
3862
4105
|
return GLTFUtils.getAccessorData(glTF, indexAccessor, buffers);
|
|
3863
4106
|
});
|
|
3864
|
-
}, context.keepMeshData).then(resolve);
|
|
4107
|
+
}, context.params.keepMeshData).then(resolve);
|
|
3865
4108
|
}
|
|
3866
4109
|
});
|
|
3867
4110
|
};
|
|
3868
4111
|
var meshInfo = context.glTF.meshes[index];
|
|
3869
|
-
var glTF = context.glTF,
|
|
4112
|
+
var glTF = context.glTF, glTFResource = context.glTFResource;
|
|
4113
|
+
var engine = glTFResource.engine;
|
|
3870
4114
|
var primitivePromises = new Array();
|
|
3871
4115
|
for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
|
|
3872
4116
|
return Promise.all(primitivePromises);
|
|
@@ -4039,9 +4283,9 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4039
4283
|
}
|
|
4040
4284
|
var _proto = GLTFSceneParser.prototype;
|
|
4041
4285
|
_proto.parse = function parse(context, index) {
|
|
4042
|
-
var _this = this;
|
|
4043
4286
|
var _context_glTF = context.glTF, scenes = _context_glTF.scenes, _context_glTF_scene = _context_glTF.scene, scene = _context_glTF_scene === void 0 ? 0 : _context_glTF_scene, glTFResource = context.glTFResource;
|
|
4044
4287
|
var sceneInfo = scenes[index];
|
|
4288
|
+
var sceneExtensions = sceneInfo.extensions;
|
|
4045
4289
|
var engine = glTFResource.engine;
|
|
4046
4290
|
var isDefaultScene = scene === index;
|
|
4047
4291
|
var sceneNodes = sceneInfo.nodes;
|
|
@@ -4055,30 +4299,15 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4055
4299
|
sceneRoot.addChild(childEntity);
|
|
4056
4300
|
}
|
|
4057
4301
|
}
|
|
4058
|
-
// @ts-ignore
|
|
4059
|
-
sceneRoot._hookResource = glTFResource;
|
|
4060
|
-
// @ts-ignore
|
|
4061
|
-
glTFResource._addReferCount(1);
|
|
4062
4302
|
if (isDefaultScene) {
|
|
4063
|
-
glTFResource.
|
|
4303
|
+
glTFResource._defaultSceneRoot = sceneRoot;
|
|
4064
4304
|
}
|
|
4065
4305
|
var promises = new Array();
|
|
4066
4306
|
for(var i1 = 0; i1 < sceneNodes.length; i1++){
|
|
4067
4307
|
promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
|
|
4068
4308
|
}
|
|
4069
4309
|
return Promise.all(promises).then(function() {
|
|
4070
|
-
|
|
4071
|
-
return Promise.all([
|
|
4072
|
-
context.get(GLTFParserType.Skin),
|
|
4073
|
-
context.get(GLTFParserType.Animation)
|
|
4074
|
-
]).then(function(param) {
|
|
4075
|
-
var skins = param[0], animations = param[1];
|
|
4076
|
-
if (skins || animations) {
|
|
4077
|
-
_this._createAnimator(context, animations);
|
|
4078
|
-
}
|
|
4079
|
-
return sceneRoot;
|
|
4080
|
-
});
|
|
4081
|
-
}
|
|
4310
|
+
GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
|
|
4082
4311
|
return sceneRoot;
|
|
4083
4312
|
});
|
|
4084
4313
|
};
|
|
@@ -4190,28 +4419,6 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4190
4419
|
for(var i = 0; i < glTFMeshPrimitives.length; i++)_loop(i);
|
|
4191
4420
|
return Promise.all(promises);
|
|
4192
4421
|
};
|
|
4193
|
-
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
4194
|
-
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
4195
|
-
var animator = defaultSceneRoot.addComponent(Animator);
|
|
4196
|
-
var animatorController = new AnimatorController();
|
|
4197
|
-
var layer = new AnimatorControllerLayer("layer");
|
|
4198
|
-
var animatorStateMachine = new AnimatorStateMachine();
|
|
4199
|
-
animatorController.addLayer(layer);
|
|
4200
|
-
animator.animatorController = animatorController;
|
|
4201
|
-
layer.stateMachine = animatorStateMachine;
|
|
4202
|
-
if (animations) {
|
|
4203
|
-
for(var i = 0; i < animations.length; i++){
|
|
4204
|
-
var animationClip = animations[i];
|
|
4205
|
-
var name = animationClip.name;
|
|
4206
|
-
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
4207
|
-
if (uniqueName !== name) {
|
|
4208
|
-
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
4209
|
-
}
|
|
4210
|
-
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
4211
|
-
animatorState.clip = animationClip;
|
|
4212
|
-
}
|
|
4213
|
-
}
|
|
4214
|
-
};
|
|
4215
4422
|
_proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
|
|
4216
4423
|
var rootBoneIndex = bones.indexOf(rootBone);
|
|
4217
4424
|
if (rootBoneIndex !== -1) {
|
|
@@ -4360,11 +4567,12 @@ var GLTFTextureParser = (_GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1
|
|
|
4360
4567
|
params: {
|
|
4361
4568
|
mipmap: (_samplerInfo = samplerInfo) == null ? void 0 : _samplerInfo.mipmap
|
|
4362
4569
|
}
|
|
4363
|
-
}).then(function(texture) {
|
|
4570
|
+
}).onProgress(undefined, context._onTaskDetail).then(function(texture) {
|
|
4364
4571
|
texture.name = textureName || imageName || texture.name || "texture_" + index;
|
|
4365
4572
|
useSampler && GLTFUtils.parseSampler(texture, samplerInfo);
|
|
4366
4573
|
return texture;
|
|
4367
4574
|
});
|
|
4575
|
+
context._addTaskCompletePromise(texture);
|
|
4368
4576
|
} else {
|
|
4369
4577
|
var bufferView = glTF.bufferViews[bufferViewIndex];
|
|
4370
4578
|
texture = context.get(GLTFParserType.Buffer).then(function(buffers) {
|
|
@@ -4386,6 +4594,8 @@ var GLTFTextureParser = (_GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1
|
|
|
4386
4594
|
}
|
|
4387
4595
|
return Promise.resolve(texture).then(function(texture) {
|
|
4388
4596
|
GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
|
|
4597
|
+
// @ts-ignore
|
|
4598
|
+
texture._associationSuperResource(glTFResource);
|
|
4389
4599
|
return texture;
|
|
4390
4600
|
});
|
|
4391
4601
|
};
|
|
@@ -4436,19 +4646,274 @@ GLTFValidator = __decorate([
|
|
|
4436
4646
|
registerGLTFParser(GLTFParserType.Validator)
|
|
4437
4647
|
], GLTFValidator);
|
|
4438
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
|
+
|
|
4439
4884
|
var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
4440
4885
|
_inherits(GLTFLoader, Loader1);
|
|
4441
4886
|
function GLTFLoader() {
|
|
4442
4887
|
return Loader1.apply(this, arguments);
|
|
4443
4888
|
}
|
|
4444
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
|
+
};
|
|
4445
4899
|
_proto.load = function load(item, resourceManager) {
|
|
4446
|
-
var _params;
|
|
4447
4900
|
var url = item.url;
|
|
4448
4901
|
var params = item.params;
|
|
4449
4902
|
var glTFResource = new GLTFResource(resourceManager.engine, url);
|
|
4450
|
-
var context = new GLTFParserContext(glTFResource, resourceManager,
|
|
4451
|
-
|
|
4903
|
+
var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
|
|
4904
|
+
keepMeshData: false
|
|
4905
|
+
}, params));
|
|
4906
|
+
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
4907
|
+
context._setTaskCompleteProgress = setTaskCompleteProgress;
|
|
4908
|
+
context._setTaskDetailProgress = setTaskDetailProgress;
|
|
4909
|
+
context.parse().then(resolve).catch(reject);
|
|
4910
|
+
});
|
|
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();
|
|
4452
4917
|
};
|
|
4453
4918
|
return GLTFLoader;
|
|
4454
4919
|
}(Loader);
|
|
@@ -5095,6 +5560,12 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5095
5560
|
materialShaderData.setTexture(key, texture);
|
|
5096
5561
|
}));
|
|
5097
5562
|
break;
|
|
5563
|
+
case "Boolean":
|
|
5564
|
+
materialShaderData.setInt(key, value ? 1 : 0);
|
|
5565
|
+
break;
|
|
5566
|
+
case "Integer":
|
|
5567
|
+
materialShaderData.setInt(key, Number(value));
|
|
5568
|
+
break;
|
|
5098
5569
|
}
|
|
5099
5570
|
};
|
|
5100
5571
|
var engine = resourceManager.engine;
|
|
@@ -5215,7 +5686,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5215
5686
|
var _proto = SpriteAtlasLoader.prototype;
|
|
5216
5687
|
_proto.load = function load(item, resourceManager) {
|
|
5217
5688
|
var _this = this;
|
|
5218
|
-
return new AssetPromise(function(resolve, reject, _, onCancel) {
|
|
5689
|
+
return new AssetPromise(function(resolve, reject, _, __, onCancel) {
|
|
5219
5690
|
var chainPromises = [];
|
|
5220
5691
|
onCancel(function() {
|
|
5221
5692
|
for(var i = 0; i < chainPromises.length; i++){
|
|
@@ -5230,9 +5701,10 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5230
5701
|
var _loop = function(i) {
|
|
5231
5702
|
var atlasItem = atlasItems[i];
|
|
5232
5703
|
if (atlasItem.img) {
|
|
5704
|
+
var _atlasItem_type;
|
|
5233
5705
|
chainPromises.push(resourceManager.load({
|
|
5234
5706
|
url: Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
5235
|
-
type: AssetType.Texture2D,
|
|
5707
|
+
type: (_atlasItem_type = atlasItem.type) != null ? _atlasItem_type : AssetType.Texture2D,
|
|
5236
5708
|
params: {
|
|
5237
5709
|
format: format,
|
|
5238
5710
|
mipmap: mipmap
|
|
@@ -5272,7 +5744,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5272
5744
|
};
|
|
5273
5745
|
_proto._makeSprite = function _makeSprite(engine, config, texture) {
|
|
5274
5746
|
// Generate a SpriteAtlas object.
|
|
5275
|
-
var region = config.region, atlasRegionOffset = config.atlasRegionOffset, atlasRegion = config.atlasRegion, pivot = config.pivot, border = config.border;
|
|
5747
|
+
var region = config.region, atlasRegionOffset = config.atlasRegionOffset, atlasRegion = config.atlasRegion, pivot = config.pivot, border = config.border, width = config.width, height = config.height;
|
|
5276
5748
|
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);
|
|
5277
5749
|
if (texture) {
|
|
5278
5750
|
var invW = 1 / texture.width;
|
|
@@ -5284,6 +5756,8 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5284
5756
|
}
|
|
5285
5757
|
config.atlasRotated && (sprite.atlasRotated = true);
|
|
5286
5758
|
}
|
|
5759
|
+
isNaN(width) || (sprite.width = width);
|
|
5760
|
+
isNaN(height) || (sprite.height = height);
|
|
5287
5761
|
return sprite;
|
|
5288
5762
|
};
|
|
5289
5763
|
return SpriteAtlasLoader;
|
|
@@ -5302,26 +5776,39 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5302
5776
|
var _proto = SpriteLoader.prototype;
|
|
5303
5777
|
_proto.load = function load(item, resourceManager) {
|
|
5304
5778
|
var _this = this;
|
|
5305
|
-
return
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
if (data.belongToAtlas) {
|
|
5310
|
-
resourceManager// @ts-ignore
|
|
5311
|
-
.getResourceByRef(data.belongToAtlas).then(function(atlas) {
|
|
5312
|
-
resolve(atlas.getSprite(data.fullPath));
|
|
5313
|
-
}).catch(reject);
|
|
5314
|
-
} else if (data.texture) {
|
|
5315
|
-
resourceManager// @ts-ignore
|
|
5316
|
-
.getResourceByRef(data.texture).then(function(texture) {
|
|
5317
|
-
resolve(new Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border));
|
|
5318
|
-
}).catch(reject);
|
|
5319
|
-
} else {
|
|
5320
|
-
resolve(new Sprite(resourceManager.engine, null, data.region, data.pivot, data.border));
|
|
5321
|
-
}
|
|
5322
|
-
}).catch(reject);
|
|
5779
|
+
return this.request(item.url, _extends({}, item, {
|
|
5780
|
+
type: "json"
|
|
5781
|
+
})).then(function(data) {
|
|
5782
|
+
return data.belongToAtlas ? _this._loadFromAtlas(resourceManager, data) : _this._loadFromTexture(resourceManager, data);
|
|
5323
5783
|
});
|
|
5324
5784
|
};
|
|
5785
|
+
_proto._loadFromAtlas = function _loadFromAtlas(resourceManager, data) {
|
|
5786
|
+
var _this = this;
|
|
5787
|
+
return resourceManager// @ts-ignore
|
|
5788
|
+
.getResourceByRef(data.belongToAtlas).then(function(atlas) {
|
|
5789
|
+
return atlas.getSprite(data.fullPath) || _this._loadFromTexture(resourceManager, data);
|
|
5790
|
+
});
|
|
5791
|
+
};
|
|
5792
|
+
_proto._loadFromTexture = function _loadFromTexture(resourceManager, data) {
|
|
5793
|
+
if (data.texture) {
|
|
5794
|
+
return resourceManager// @ts-ignore
|
|
5795
|
+
.getResourceByRef(data.texture).then(function(texture) {
|
|
5796
|
+
var sprite = new Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border);
|
|
5797
|
+
var width = data.width, height = data.height;
|
|
5798
|
+
isNaN(width) || (sprite.width = width);
|
|
5799
|
+
isNaN(height) || (sprite.height = height);
|
|
5800
|
+
return sprite;
|
|
5801
|
+
});
|
|
5802
|
+
} else {
|
|
5803
|
+
return new AssetPromise(function(resolve) {
|
|
5804
|
+
var sprite = new Sprite(resourceManager.engine, null, data.region, data.pivot, data.border);
|
|
5805
|
+
var width = data.width, height = data.height;
|
|
5806
|
+
isNaN(width) || (sprite.width = width);
|
|
5807
|
+
isNaN(height) || (sprite.height = height);
|
|
5808
|
+
resolve(sprite);
|
|
5809
|
+
});
|
|
5810
|
+
}
|
|
5811
|
+
};
|
|
5325
5812
|
return SpriteLoader;
|
|
5326
5813
|
}(Loader);
|
|
5327
5814
|
SpriteLoader = __decorate([
|
|
@@ -5362,15 +5849,19 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5362
5849
|
var _proto = Texture2DLoader.prototype;
|
|
5363
5850
|
_proto.load = function load(item, resourceManager) {
|
|
5364
5851
|
var _this = this;
|
|
5365
|
-
return new AssetPromise(function(resolve, reject) {
|
|
5852
|
+
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
|
|
5366
5853
|
var url = item.url;
|
|
5367
5854
|
var requestConfig = _extends({}, item, {
|
|
5368
5855
|
type: "image"
|
|
5369
5856
|
});
|
|
5370
|
-
_this.request(url, requestConfig).then(function(image) {
|
|
5371
|
-
var
|
|
5372
|
-
var
|
|
5373
|
-
var texture = new Texture2D(resourceManager.engine, image.width, image.height,
|
|
5857
|
+
_this.request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(image) {
|
|
5858
|
+
var _item_params;
|
|
5859
|
+
var _ref = (_item_params = item.params) != null ? _item_params : {}, format = _ref.format, mipmap = _ref.mipmap, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode;
|
|
5860
|
+
var texture = new Texture2D(resourceManager.engine, image.width, image.height, format, mipmap);
|
|
5861
|
+
texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
|
|
5862
|
+
texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
|
|
5863
|
+
texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
|
|
5864
|
+
texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
|
|
5374
5865
|
texture.setImageSource(image);
|
|
5375
5866
|
texture.generateMipmaps();
|
|
5376
5867
|
if (url.indexOf("data:") !== 0) {
|
|
@@ -5518,33 +6009,34 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5518
6009
|
var promises = [];
|
|
5519
6010
|
// parse ambient light
|
|
5520
6011
|
var ambient = data.scene.ambient;
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
// prettier-ignore
|
|
5525
|
-
var customAmbientPromise = resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
|
|
5526
|
-
scene.ambientLight = ambientLight;
|
|
5527
|
-
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5528
|
-
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5529
|
-
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5530
|
-
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5531
|
-
});
|
|
5532
|
-
promises.push(customAmbientPromise);
|
|
5533
|
-
} else if (!useCustomAmbient && ambient.ambientLight) {
|
|
5534
|
-
// @ts-ignore
|
|
5535
|
-
// prettier-ignore
|
|
5536
|
-
var ambientLightPromise = resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
|
|
5537
|
-
scene.ambientLight = ambientLight;
|
|
5538
|
-
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5539
|
-
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5540
|
-
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5541
|
-
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5542
|
-
});
|
|
5543
|
-
promises.push(ambientLightPromise);
|
|
5544
|
-
} else {
|
|
6012
|
+
if (ambient) {
|
|
6013
|
+
var useCustomAmbient = ambient.specularMode === "Custom";
|
|
6014
|
+
var useSH = ambient.diffuseMode === DiffuseMode.SphericalHarmonics;
|
|
5545
6015
|
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5546
6016
|
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
6017
|
+
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5547
6018
|
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
6019
|
+
scene.ambientLight.specularTextureDecodeRGBM = true;
|
|
6020
|
+
if (useCustomAmbient && ambient.customAmbientLight) {
|
|
6021
|
+
promises.push(// @ts-ignore
|
|
6022
|
+
resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
|
|
6023
|
+
var _ambientLight;
|
|
6024
|
+
scene.ambientLight.specularTexture = (_ambientLight = ambientLight) == null ? void 0 : _ambientLight.specularTexture;
|
|
6025
|
+
}));
|
|
6026
|
+
}
|
|
6027
|
+
if (ambient.ambientLight && (!useCustomAmbient || useSH)) {
|
|
6028
|
+
promises.push(// @ts-ignore
|
|
6029
|
+
resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
|
|
6030
|
+
if (!useCustomAmbient) {
|
|
6031
|
+
var _ambientLight;
|
|
6032
|
+
scene.ambientLight.specularTexture = (_ambientLight = ambientLight) == null ? void 0 : _ambientLight.specularTexture;
|
|
6033
|
+
}
|
|
6034
|
+
if (useSH) {
|
|
6035
|
+
var _ambientLight1;
|
|
6036
|
+
scene.ambientLight.diffuseSphericalHarmonics = (_ambientLight1 = ambientLight) == null ? void 0 : _ambientLight1.diffuseSphericalHarmonics;
|
|
6037
|
+
}
|
|
6038
|
+
}));
|
|
6039
|
+
}
|
|
5548
6040
|
}
|
|
5549
6041
|
var background = data.scene.background;
|
|
5550
6042
|
scene.background.mode = background.mode;
|
|
@@ -5586,6 +6078,9 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5586
6078
|
if (shadow.shadowResolution != undefined) scene.shadowResolution = shadow.shadowResolution;
|
|
5587
6079
|
if (shadow.shadowDistance != undefined) scene.shadowDistance = shadow.shadowDistance;
|
|
5588
6080
|
if (shadow.shadowCascades != undefined) scene.shadowCascades = shadow.shadowCascades;
|
|
6081
|
+
var _shadow_shadowTwoCascadeSplits;
|
|
6082
|
+
scene.shadowTwoCascadeSplits = (_shadow_shadowTwoCascadeSplits = shadow.shadowTwoCascadeSplits) != null ? _shadow_shadowTwoCascadeSplits : scene.shadowTwoCascadeSplits;
|
|
6083
|
+
shadow.shadowFourCascadeSplits && scene.shadowFourCascadeSplits.copyFrom(shadow.shadowFourCascadeSplits);
|
|
5589
6084
|
}
|
|
5590
6085
|
return Promise.all(promises).then(function() {
|
|
5591
6086
|
resolve(scene);
|
|
@@ -5601,13 +6096,13 @@ SceneLoader = __decorate([
|
|
|
5601
6096
|
"scene"
|
|
5602
6097
|
], true)
|
|
5603
6098
|
], SceneLoader);
|
|
5604
|
-
ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item
|
|
6099
|
+
ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item) {
|
|
5605
6100
|
var props;
|
|
5606
6101
|
return __generator(this, function(_state) {
|
|
5607
6102
|
props = item.props;
|
|
5608
6103
|
if (!props.font) {
|
|
5609
6104
|
// @ts-ignore
|
|
5610
|
-
instance.font = Font.createFromOS(engine, props.fontFamily || "Arial");
|
|
6105
|
+
instance.font = Font.createFromOS(instance.engine, props.fontFamily || "Arial");
|
|
5611
6106
|
}
|
|
5612
6107
|
return [
|
|
5613
6108
|
2,
|
|
@@ -5616,170 +6111,6 @@ ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _asy
|
|
|
5616
6111
|
});
|
|
5617
6112
|
}));
|
|
5618
6113
|
|
|
5619
|
-
var _KHR_draco_mesh_compression;
|
|
5620
|
-
var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
5621
|
-
_inherits(KHR_draco_mesh_compression1, GLTFExtensionParser1);
|
|
5622
|
-
function KHR_draco_mesh_compression1() {
|
|
5623
|
-
return GLTFExtensionParser1.apply(this, arguments);
|
|
5624
|
-
}
|
|
5625
|
-
var _proto = KHR_draco_mesh_compression1.prototype;
|
|
5626
|
-
_proto.createAndParse = function createAndParse(context, schema, glTFPrimitive, glTFMesh) {
|
|
5627
|
-
var _this = this;
|
|
5628
|
-
this._initialize();
|
|
5629
|
-
var glTF = context.glTF, engine = context.glTFResource.engine;
|
|
5630
|
-
var bufferViews = glTF.bufferViews, accessors = glTF.accessors;
|
|
5631
|
-
var bufferViewIndex = schema.bufferView, gltfAttributeMap = schema.attributes;
|
|
5632
|
-
var attributeMap = {};
|
|
5633
|
-
var attributeTypeMap = {};
|
|
5634
|
-
for(var attributeName in gltfAttributeMap){
|
|
5635
|
-
attributeMap[attributeName] = gltfAttributeMap[attributeName];
|
|
5636
|
-
}
|
|
5637
|
-
for(var attributeName1 in glTFPrimitive.attributes){
|
|
5638
|
-
if (gltfAttributeMap[attributeName1] !== undefined) {
|
|
5639
|
-
var accessorDef = accessors[glTFPrimitive.attributes[attributeName1]];
|
|
5640
|
-
attributeTypeMap[attributeName1] = GLTFUtils.getComponentType(accessorDef.componentType).name;
|
|
5641
|
-
}
|
|
5642
|
-
}
|
|
5643
|
-
var indexAccessor = accessors[glTFPrimitive.indices];
|
|
5644
|
-
var indexType = GLTFUtils.getComponentType(indexAccessor.componentType).name;
|
|
5645
|
-
var taskConfig = {
|
|
5646
|
-
attributeIDs: attributeMap,
|
|
5647
|
-
attributeTypes: attributeTypeMap,
|
|
5648
|
-
useUniqueIDs: true,
|
|
5649
|
-
indexType: indexType
|
|
5650
|
-
};
|
|
5651
|
-
return context.get(GLTFParserType.Buffer).then(function(buffers) {
|
|
5652
|
-
var buffer = GLTFUtils.getBufferViewData(bufferViews[bufferViewIndex], buffers);
|
|
5653
|
-
return KHR_draco_mesh_compression._decoder.decode(buffer, taskConfig).then(function(decodedGeometry) {
|
|
5654
|
-
var mesh = new ModelMesh(engine, glTFMesh.name);
|
|
5655
|
-
return _this._parseMeshFromGLTFPrimitiveDraco(mesh, glTFMesh, glTFPrimitive, glTF, function(attributeSemantic) {
|
|
5656
|
-
for(var j = 0; j < decodedGeometry.attributes.length; j++){
|
|
5657
|
-
if (decodedGeometry.attributes[j].name === attributeSemantic) {
|
|
5658
|
-
return decodedGeometry.attributes[j].array;
|
|
5659
|
-
}
|
|
5660
|
-
}
|
|
5661
|
-
return null;
|
|
5662
|
-
}, function(attributeSemantic, shapeIndex) {
|
|
5663
|
-
throw "BlendShape animation is not supported when using draco.";
|
|
5664
|
-
}, function() {
|
|
5665
|
-
return decodedGeometry.index.array;
|
|
5666
|
-
}, context.keepMeshData);
|
|
5667
|
-
});
|
|
5668
|
-
});
|
|
5669
|
-
};
|
|
5670
|
-
_proto._initialize = function _initialize() {
|
|
5671
|
-
if (!KHR_draco_mesh_compression._decoder) {
|
|
5672
|
-
KHR_draco_mesh_compression._decoder = new DRACODecoder();
|
|
5673
|
-
}
|
|
5674
|
-
};
|
|
5675
|
-
_proto._parseMeshFromGLTFPrimitiveDraco = function _parseMeshFromGLTFPrimitiveDraco(mesh, gltfMesh, gltfPrimitive, gltf, getVertexBufferData, getBlendShapeData, getIndexBufferData, keepMeshData) {
|
|
5676
|
-
var attributes = gltfPrimitive.attributes, targets = gltfPrimitive.targets, indices = gltfPrimitive.indices, mode = gltfPrimitive.mode;
|
|
5677
|
-
var vertexCount;
|
|
5678
|
-
var accessors = gltf.accessors;
|
|
5679
|
-
var accessor = accessors[attributes["POSITION"]];
|
|
5680
|
-
var positionBuffer = getVertexBufferData("POSITION");
|
|
5681
|
-
var positions = GLTFUtils.floatBufferToVector3Array(positionBuffer);
|
|
5682
|
-
mesh.setPositions(positions);
|
|
5683
|
-
var bounds = mesh.bounds;
|
|
5684
|
-
vertexCount = accessor.count;
|
|
5685
|
-
if (accessor.min && accessor.max) {
|
|
5686
|
-
bounds.min.copyFromArray(accessor.min);
|
|
5687
|
-
bounds.max.copyFromArray(accessor.max);
|
|
5688
|
-
} else {
|
|
5689
|
-
var position = KHR_draco_mesh_compression._tempVector3;
|
|
5690
|
-
var min = bounds.min, max = bounds.max;
|
|
5691
|
-
min.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
5692
|
-
max.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
5693
|
-
var stride = positionBuffer.length / vertexCount;
|
|
5694
|
-
for(var j = 0; j < vertexCount; j++){
|
|
5695
|
-
var offset = j * stride;
|
|
5696
|
-
position.copyFromArray(positionBuffer, offset);
|
|
5697
|
-
Vector3.min(min, position, min);
|
|
5698
|
-
Vector3.max(max, position, max);
|
|
5699
|
-
}
|
|
5700
|
-
}
|
|
5701
|
-
for(var attributeSemantic in attributes){
|
|
5702
|
-
if (attributeSemantic === "POSITION") {
|
|
5703
|
-
continue;
|
|
5704
|
-
}
|
|
5705
|
-
var bufferData = getVertexBufferData(attributeSemantic);
|
|
5706
|
-
switch(attributeSemantic){
|
|
5707
|
-
case "NORMAL":
|
|
5708
|
-
var normals = GLTFUtils.floatBufferToVector3Array(bufferData);
|
|
5709
|
-
mesh.setNormals(normals);
|
|
5710
|
-
break;
|
|
5711
|
-
case "TEXCOORD_0":
|
|
5712
|
-
var texturecoords = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5713
|
-
mesh.setUVs(texturecoords, 0);
|
|
5714
|
-
break;
|
|
5715
|
-
case "TEXCOORD_1":
|
|
5716
|
-
var texturecoords1 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5717
|
-
mesh.setUVs(texturecoords1, 1);
|
|
5718
|
-
break;
|
|
5719
|
-
case "TEXCOORD_2":
|
|
5720
|
-
var texturecoords2 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5721
|
-
mesh.setUVs(texturecoords2, 2);
|
|
5722
|
-
break;
|
|
5723
|
-
case "TEXCOORD_3":
|
|
5724
|
-
var texturecoords3 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5725
|
-
mesh.setUVs(texturecoords3, 3);
|
|
5726
|
-
break;
|
|
5727
|
-
case "TEXCOORD_4":
|
|
5728
|
-
var texturecoords4 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5729
|
-
mesh.setUVs(texturecoords4, 4);
|
|
5730
|
-
break;
|
|
5731
|
-
case "TEXCOORD_5":
|
|
5732
|
-
var texturecoords5 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5733
|
-
mesh.setUVs(texturecoords5, 5);
|
|
5734
|
-
break;
|
|
5735
|
-
case "TEXCOORD_6":
|
|
5736
|
-
var texturecoords6 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5737
|
-
mesh.setUVs(texturecoords6, 6);
|
|
5738
|
-
break;
|
|
5739
|
-
case "TEXCOORD_7":
|
|
5740
|
-
var texturecoords7 = GLTFUtils.floatBufferToVector2Array(bufferData);
|
|
5741
|
-
mesh.setUVs(texturecoords7, 7);
|
|
5742
|
-
break;
|
|
5743
|
-
case "COLOR_0":
|
|
5744
|
-
var colors = GLTFUtils.floatBufferToColorArray(bufferData, accessors[attributes["COLOR_0"]].type === AccessorType.VEC3);
|
|
5745
|
-
mesh.setColors(colors);
|
|
5746
|
-
break;
|
|
5747
|
-
case "TANGENT":
|
|
5748
|
-
var tangents = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5749
|
-
mesh.setTangents(tangents);
|
|
5750
|
-
break;
|
|
5751
|
-
case "JOINTS_0":
|
|
5752
|
-
var joints = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5753
|
-
mesh.setBoneIndices(joints);
|
|
5754
|
-
break;
|
|
5755
|
-
case "WEIGHTS_0":
|
|
5756
|
-
var weights = GLTFUtils.floatBufferToVector4Array(bufferData);
|
|
5757
|
-
mesh.setBoneWeights(weights);
|
|
5758
|
-
break;
|
|
5759
|
-
}
|
|
5760
|
-
}
|
|
5761
|
-
// Indices
|
|
5762
|
-
if (indices !== undefined) {
|
|
5763
|
-
var indexAccessor = gltf.accessors[indices];
|
|
5764
|
-
var indexData = getIndexBufferData();
|
|
5765
|
-
mesh.setIndices(indexData);
|
|
5766
|
-
mesh.addSubMesh(0, indexAccessor.count, mode);
|
|
5767
|
-
} else {
|
|
5768
|
-
mesh.addSubMesh(0, vertexCount, mode);
|
|
5769
|
-
}
|
|
5770
|
-
// BlendShapes
|
|
5771
|
-
targets && GLTFMeshParser._createBlendShape(mesh, null, gltfMesh, accessors, targets, getBlendShapeData);
|
|
5772
|
-
mesh.uploadData(!keepMeshData);
|
|
5773
|
-
return Promise.resolve(mesh);
|
|
5774
|
-
};
|
|
5775
|
-
return KHR_draco_mesh_compression1;
|
|
5776
|
-
}(GLTFExtensionParser), function() {
|
|
5777
|
-
_KHR_draco_mesh_compression._tempVector3 = new Vector3();
|
|
5778
|
-
}(), _KHR_draco_mesh_compression);
|
|
5779
|
-
KHR_draco_mesh_compression = __decorate([
|
|
5780
|
-
registerGLTFExtension("KHR_draco_mesh_compression", GLTFExtensionMode.CreateAndParse)
|
|
5781
|
-
], KHR_draco_mesh_compression);
|
|
5782
|
-
|
|
5783
6114
|
var KHR_lights_punctual = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
5784
6115
|
_inherits(KHR_lights_punctual, GLTFExtensionParser1);
|
|
5785
6116
|
function KHR_lights_punctual() {
|
|
@@ -5954,7 +6285,7 @@ var KHR_materials_variants = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
|
5954
6285
|
var _glTFResource;
|
|
5955
6286
|
var _context_glTF = context.glTF, _context_glTF_extensions = _context_glTF.extensions, _context_glTF_extensions_KHR_materials_variants = _context_glTF_extensions.KHR_materials_variants, variantNames = _context_glTF_extensions_KHR_materials_variants.variants, glTFResource = context.glTFResource;
|
|
5956
6287
|
var mappings = schema.mappings;
|
|
5957
|
-
(_glTFResource = glTFResource).
|
|
6288
|
+
(_glTFResource = glTFResource)._extensionsData || (_glTFResource._extensionsData = {});
|
|
5958
6289
|
var extensionData = [];
|
|
5959
6290
|
glTFResource.extensionsData.variants = extensionData;
|
|
5960
6291
|
for(var i = 0; i < mappings.length; i++)_loop(i);
|
|
@@ -5984,7 +6315,7 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
|
5984
6315
|
var _proto = KHR_texture_basisu.prototype;
|
|
5985
6316
|
_proto.createAndParse = function createAndParse(context, schema, textureInfo) {
|
|
5986
6317
|
return _async_to_generator(function() {
|
|
5987
|
-
var glTF, glTFResource, engine, url, sampler, textureName, source, _glTF_images_source, uri, bufferViewIndex, mimeType, imageName, samplerInfo, index, bufferView;
|
|
6318
|
+
var glTF, glTFResource, engine, url, sampler, textureName, source, _glTF_images_source, uri, bufferViewIndex, mimeType, imageName, samplerInfo, index, promise, bufferView;
|
|
5988
6319
|
return __generator(this, function(_state) {
|
|
5989
6320
|
glTF = context.glTF, glTFResource = context.glTFResource;
|
|
5990
6321
|
engine = glTFResource.engine, url = glTFResource.url;
|
|
@@ -5994,20 +6325,22 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
|
5994
6325
|
samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
|
|
5995
6326
|
if (uri) {
|
|
5996
6327
|
index = uri.lastIndexOf(".");
|
|
6328
|
+
promise = engine.resourceManager.load({
|
|
6329
|
+
url: Utils.resolveAbsoluteUrl(url, uri),
|
|
6330
|
+
type: AssetType.KTX2
|
|
6331
|
+
}).onProgress(undefined, context._onTaskDetail).then(function(texture) {
|
|
6332
|
+
if (!texture.name) {
|
|
6333
|
+
texture.name = textureName || imageName || "texture_" + index;
|
|
6334
|
+
}
|
|
6335
|
+
if (sampler !== undefined) {
|
|
6336
|
+
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
6337
|
+
}
|
|
6338
|
+
return texture;
|
|
6339
|
+
});
|
|
6340
|
+
context._addTaskCompletePromise(promise);
|
|
5997
6341
|
return [
|
|
5998
6342
|
2,
|
|
5999
|
-
|
|
6000
|
-
url: Utils.resolveAbsoluteUrl(url, uri),
|
|
6001
|
-
type: AssetType.KTX2
|
|
6002
|
-
}).then(function(texture) {
|
|
6003
|
-
if (!texture.name) {
|
|
6004
|
-
texture.name = textureName || imageName || "texture_" + index;
|
|
6005
|
-
}
|
|
6006
|
-
if (sampler !== undefined) {
|
|
6007
|
-
GLTFUtils.parseSampler(texture, samplerInfo);
|
|
6008
|
-
}
|
|
6009
|
-
return texture;
|
|
6010
|
-
})
|
|
6343
|
+
promise
|
|
6011
6344
|
];
|
|
6012
6345
|
} else {
|
|
6013
6346
|
bufferView = glTF.bufferViews[bufferViewIndex];
|
|
@@ -6077,7 +6410,9 @@ var GALACEAN_materials_remap = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
|
6077
6410
|
_proto.createAndParse = function createAndParse(context, schema) {
|
|
6078
6411
|
var engine = context.glTFResource.engine;
|
|
6079
6412
|
// @ts-ignore
|
|
6080
|
-
|
|
6413
|
+
var promise = engine.resourceManager.getResourceByRef(schema);
|
|
6414
|
+
context._addTaskCompletePromise(promise);
|
|
6415
|
+
return promise;
|
|
6081
6416
|
};
|
|
6082
6417
|
return GALACEAN_materials_remap;
|
|
6083
6418
|
}(GLTFExtensionParser);
|
|
@@ -6108,5 +6443,45 @@ GALACEAN_animation_event = __decorate([
|
|
|
6108
6443
|
registerGLTFExtension("GALACEAN_animation_event", GLTFExtensionMode.AdditiveParse)
|
|
6109
6444
|
], GALACEAN_animation_event);
|
|
6110
6445
|
|
|
6111
|
-
|
|
6446
|
+
var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
6447
|
+
_inherits(EXT_meshopt_compression, GLTFExtensionParser1);
|
|
6448
|
+
function EXT_meshopt_compression() {
|
|
6449
|
+
return GLTFExtensionParser1.apply(this, arguments);
|
|
6450
|
+
}
|
|
6451
|
+
var _proto = EXT_meshopt_compression.prototype;
|
|
6452
|
+
_proto.createAndParse = function createAndParse(context, schema) {
|
|
6453
|
+
return context.get(GLTFParserType.Buffer, schema.buffer).then(function(arrayBuffer) {
|
|
6454
|
+
return MeshoptDecoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
|
|
6455
|
+
});
|
|
6456
|
+
};
|
|
6457
|
+
return EXT_meshopt_compression;
|
|
6458
|
+
}(GLTFExtensionParser);
|
|
6459
|
+
EXT_meshopt_compression = __decorate([
|
|
6460
|
+
registerGLTFExtension("EXT_meshopt_compression", GLTFExtensionMode.CreateAndParse)
|
|
6461
|
+
], EXT_meshopt_compression);
|
|
6462
|
+
|
|
6463
|
+
var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser1) {
|
|
6464
|
+
_inherits(KHR_materials_anisotropy, GLTFExtensionParser1);
|
|
6465
|
+
function KHR_materials_anisotropy() {
|
|
6466
|
+
return GLTFExtensionParser1.apply(this, arguments);
|
|
6467
|
+
}
|
|
6468
|
+
var _proto = KHR_materials_anisotropy.prototype;
|
|
6469
|
+
_proto.additiveParse = function additiveParse(context, material, schema) {
|
|
6470
|
+
var _schema_anisotropyStrength = schema.anisotropyStrength, anisotropyStrength = _schema_anisotropyStrength === void 0 ? 0 : _schema_anisotropyStrength, _schema_anisotropyRotation = schema.anisotropyRotation, anisotropyRotation = _schema_anisotropyRotation === void 0 ? 0 : _schema_anisotropyRotation, anisotropyTexture = schema.anisotropyTexture;
|
|
6471
|
+
material.anisotropy = anisotropyStrength;
|
|
6472
|
+
material.anisotropyRotation = anisotropyRotation;
|
|
6473
|
+
if (anisotropyTexture) {
|
|
6474
|
+
GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
|
|
6475
|
+
context.get(GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
|
|
6476
|
+
material.anisotropyTexture = texture;
|
|
6477
|
+
});
|
|
6478
|
+
}
|
|
6479
|
+
};
|
|
6480
|
+
return KHR_materials_anisotropy;
|
|
6481
|
+
}(GLTFExtensionParser);
|
|
6482
|
+
KHR_materials_anisotropy = __decorate([
|
|
6483
|
+
registerGLTFExtension("KHR_materials_anisotropy", GLTFExtensionMode.AdditiveParse)
|
|
6484
|
+
], KHR_materials_anisotropy);
|
|
6485
|
+
|
|
6486
|
+
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 };
|
|
6112
6487
|
//# sourceMappingURL=module.js.map
|