@galacean/engine-loader 1.1.3 → 1.1.6
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 +553 -404
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +553 -404
- package/dist/module.js +555 -406
- package/dist/module.js.map +1 -1
- package/package.json +5 -5
- package/types/ktx2/KTX2Loader.d.ts +1 -1
- package/types/resource-deserialize/index.d.ts +8 -8
- package/types/resource-deserialize/resources/mesh/MeshDecoder.d.ts +1 -1
- package/types/resource-deserialize/resources/texture2D/TextureDecoder.d.ts +1 -1
- package/types/resource-deserialize/utils/Decorator.d.ts +1 -1
package/dist/module.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Utils,
|
|
2
|
-
import {
|
|
1
|
+
import { Utils, Transform, Animator, DirectLight, Camera, MeshRenderer, ParticleRenderer, PointLight, SpotLight, Script, SpriteMask, SpriteRenderer, TextRenderer, AnimationClip, AnimationEvent, AnimationRefCurve, Keyframe, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ModelMesh, BlendShape, Loader, Entity, Texture2D, resourceLoader, AssetPromise, ContentRestorer, Scene, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateMachine, AnimatorStateTransition, AmbientLight, DiffuseMode, TextureCube, TextureFilterMode, TextureCubeFace, Font, ReferResource, IndexFormat, VertexElementFormat, GLCapabilityType, Logger, TextureFormat, request, InterpolationType, SkinnedMeshRenderer, PBRMaterial, BlinnPhongMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Skin, TextureWrapMode as TextureWrapMode$1, Material, Shader, SpriteAtlas, Sprite, BackgroundMode, UnlitMaterial } from '@galacean/engine-core';
|
|
2
|
+
import { Quaternion, Vector4, Color, Vector3, Vector2, SphericalHarmonics3, MathUtil, BoundingBox, Matrix, Rect } from '@galacean/engine-math';
|
|
3
3
|
import { GLCompressedTextureInternalFormat } from '@galacean/engine-rhi-webgl';
|
|
4
4
|
import { DRACODecoder } from '@galacean/engine-draco';
|
|
5
5
|
|
|
@@ -280,11 +280,201 @@ var FileHeader = /*#__PURE__*/ function() {
|
|
|
280
280
|
return FileHeader;
|
|
281
281
|
}();
|
|
282
282
|
|
|
283
|
+
var ComponentMap = {
|
|
284
|
+
Transform: Transform,
|
|
285
|
+
Animator: Animator,
|
|
286
|
+
DirectLight: DirectLight,
|
|
287
|
+
Camera: Camera,
|
|
288
|
+
MeshRenderer: MeshRenderer,
|
|
289
|
+
ParticleRenderer: ParticleRenderer,
|
|
290
|
+
PointLight: PointLight,
|
|
291
|
+
SpotLight: SpotLight,
|
|
292
|
+
Script: Script,
|
|
293
|
+
SpriteMask: SpriteMask,
|
|
294
|
+
SpriteRenderer: SpriteRenderer,
|
|
295
|
+
TextRenderer: TextRenderer
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
var InterpolableValueType;
|
|
299
|
+
(function(InterpolableValueType) {
|
|
300
|
+
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
301
|
+
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
302
|
+
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
303
|
+
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
304
|
+
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
305
|
+
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
306
|
+
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
307
|
+
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
308
|
+
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
309
|
+
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
310
|
+
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
311
|
+
})(InterpolableValueType || (InterpolableValueType = {}));
|
|
312
|
+
var AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
313
|
+
function AnimationClipDecoder() {}
|
|
314
|
+
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
315
|
+
return new Promise(function(resolve) {
|
|
316
|
+
var name = bufferReader.nextStr();
|
|
317
|
+
var clip = new AnimationClip(name);
|
|
318
|
+
var eventsLen = bufferReader.nextUint16();
|
|
319
|
+
for(var i = 0; i < eventsLen; ++i){
|
|
320
|
+
var event = new AnimationEvent();
|
|
321
|
+
event.time = bufferReader.nextFloat32();
|
|
322
|
+
event.functionName = bufferReader.nextStr();
|
|
323
|
+
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
324
|
+
clip.addEvent(event);
|
|
325
|
+
}
|
|
326
|
+
var curveBindingsLen = bufferReader.nextUint16();
|
|
327
|
+
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
328
|
+
var relativePath = bufferReader.nextStr();
|
|
329
|
+
var componentStr = bufferReader.nextStr();
|
|
330
|
+
var componentType = ComponentMap[componentStr];
|
|
331
|
+
var property = bufferReader.nextStr();
|
|
332
|
+
var curve = void 0;
|
|
333
|
+
var interpolation = bufferReader.nextUint8();
|
|
334
|
+
var keysLen = bufferReader.nextUint16();
|
|
335
|
+
var curveType = bufferReader.nextStr();
|
|
336
|
+
switch(curveType){
|
|
337
|
+
case "AnimationFloatCurve":
|
|
338
|
+
{
|
|
339
|
+
curve = new AnimationFloatCurve();
|
|
340
|
+
curve.interpolation = interpolation;
|
|
341
|
+
for(var j = 0; j < keysLen; ++j){
|
|
342
|
+
var keyframe = new Keyframe();
|
|
343
|
+
keyframe.time = bufferReader.nextFloat32();
|
|
344
|
+
keyframe.value = bufferReader.nextFloat32();
|
|
345
|
+
keyframe.inTangent = bufferReader.nextFloat32();
|
|
346
|
+
keyframe.outTangent = bufferReader.nextFloat32();
|
|
347
|
+
curve.addKey(keyframe);
|
|
348
|
+
}
|
|
349
|
+
break;
|
|
350
|
+
}
|
|
351
|
+
case "AnimationArrayCurve":
|
|
352
|
+
{
|
|
353
|
+
curve = new AnimationArrayCurve();
|
|
354
|
+
curve.interpolation = interpolation;
|
|
355
|
+
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
356
|
+
var keyframe1 = new Keyframe();
|
|
357
|
+
keyframe1.time = bufferReader.nextFloat32();
|
|
358
|
+
var len = bufferReader.nextUint16();
|
|
359
|
+
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
360
|
+
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
361
|
+
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
362
|
+
curve.addKey(keyframe1);
|
|
363
|
+
}
|
|
364
|
+
break;
|
|
365
|
+
}
|
|
366
|
+
case "AnimationFloatArrayCurve":
|
|
367
|
+
{
|
|
368
|
+
curve = new AnimationFloatArrayCurve();
|
|
369
|
+
curve.interpolation = interpolation;
|
|
370
|
+
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
371
|
+
var keyframe2 = new Keyframe();
|
|
372
|
+
keyframe2.time = bufferReader.nextFloat32();
|
|
373
|
+
var len1 = bufferReader.nextUint16();
|
|
374
|
+
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
375
|
+
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
376
|
+
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
377
|
+
curve.addKey(keyframe2);
|
|
378
|
+
}
|
|
379
|
+
break;
|
|
380
|
+
}
|
|
381
|
+
case "AnimationVector2Curve":
|
|
382
|
+
{
|
|
383
|
+
curve = new AnimationVector2Curve();
|
|
384
|
+
curve.interpolation = interpolation;
|
|
385
|
+
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
386
|
+
var keyframe3 = new Keyframe();
|
|
387
|
+
keyframe3.time = bufferReader.nextFloat32();
|
|
388
|
+
keyframe3.value = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
389
|
+
keyframe3.inTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
390
|
+
keyframe3.outTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
391
|
+
curve.addKey(keyframe3);
|
|
392
|
+
}
|
|
393
|
+
break;
|
|
394
|
+
}
|
|
395
|
+
case "AnimationVector3Curve":
|
|
396
|
+
{
|
|
397
|
+
curve = new AnimationVector3Curve();
|
|
398
|
+
curve.interpolation = interpolation;
|
|
399
|
+
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
400
|
+
var keyframe4 = new Keyframe();
|
|
401
|
+
keyframe4.time = bufferReader.nextFloat32();
|
|
402
|
+
keyframe4.value = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
403
|
+
keyframe4.inTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
404
|
+
keyframe4.outTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
405
|
+
curve.addKey(keyframe4);
|
|
406
|
+
}
|
|
407
|
+
break;
|
|
408
|
+
}
|
|
409
|
+
case "AnimationVector4Curve":
|
|
410
|
+
{
|
|
411
|
+
curve = new AnimationVector4Curve();
|
|
412
|
+
curve.interpolation = interpolation;
|
|
413
|
+
var keyframe5 = new Keyframe();
|
|
414
|
+
keyframe5.time = bufferReader.nextFloat32();
|
|
415
|
+
keyframe5.value = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
416
|
+
keyframe5.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
417
|
+
keyframe5.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
418
|
+
curve.addKey(keyframe5);
|
|
419
|
+
break;
|
|
420
|
+
}
|
|
421
|
+
case "AnimationColorCurve":
|
|
422
|
+
{
|
|
423
|
+
curve = new AnimationColorCurve();
|
|
424
|
+
curve.interpolation = interpolation;
|
|
425
|
+
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
426
|
+
var keyframe6 = new Keyframe();
|
|
427
|
+
keyframe6.time = bufferReader.nextFloat32();
|
|
428
|
+
keyframe6.value = new Color(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
429
|
+
keyframe6.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
430
|
+
keyframe6.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
431
|
+
curve.addKey(keyframe6);
|
|
432
|
+
}
|
|
433
|
+
break;
|
|
434
|
+
}
|
|
435
|
+
case "AnimationQuaternionCurve":
|
|
436
|
+
{
|
|
437
|
+
curve = new AnimationQuaternionCurve();
|
|
438
|
+
curve.interpolation = interpolation;
|
|
439
|
+
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
440
|
+
var keyframe7 = new Keyframe();
|
|
441
|
+
keyframe7.time = bufferReader.nextFloat32();
|
|
442
|
+
keyframe7.value = new Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
443
|
+
keyframe7.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
444
|
+
keyframe7.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
445
|
+
curve.addKey(keyframe7);
|
|
446
|
+
}
|
|
447
|
+
break;
|
|
448
|
+
}
|
|
449
|
+
case "AnimationRefCurve":
|
|
450
|
+
{
|
|
451
|
+
curve = new AnimationRefCurve();
|
|
452
|
+
curve.interpolation = interpolation;
|
|
453
|
+
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
454
|
+
var keyframe8 = new Keyframe();
|
|
455
|
+
keyframe8.time = bufferReader.nextFloat32();
|
|
456
|
+
keyframe8.value = JSON.parse(bufferReader.nextStr());
|
|
457
|
+
curve.addKey(keyframe8);
|
|
458
|
+
}
|
|
459
|
+
break;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
clip.addCurveBinding(relativePath, componentType, property, curve);
|
|
463
|
+
}
|
|
464
|
+
resolve(clip);
|
|
465
|
+
});
|
|
466
|
+
};
|
|
467
|
+
return AnimationClipDecoder;
|
|
468
|
+
}();
|
|
469
|
+
AnimationClipDecoder = __decorate([
|
|
470
|
+
decoder("AnimationClip")
|
|
471
|
+
], AnimationClipDecoder);
|
|
472
|
+
|
|
283
473
|
var MeshDecoder = /*#__PURE__*/ function() {
|
|
284
474
|
function MeshDecoder() {}
|
|
285
|
-
MeshDecoder.decode = function decode(engine, bufferReader) {
|
|
475
|
+
MeshDecoder.decode = function decode(engine, bufferReader, restoredMesh) {
|
|
286
476
|
return new Promise(function(resolve) {
|
|
287
|
-
var modelMesh = new ModelMesh(engine);
|
|
477
|
+
var modelMesh = restoredMesh || new ModelMesh(engine);
|
|
288
478
|
var jsonDataString = bufferReader.nextStr();
|
|
289
479
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
290
480
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
@@ -414,80 +604,22 @@ function float32ArrayToVector2(float32Array, vertexCount) {
|
|
|
414
604
|
return array;
|
|
415
605
|
}
|
|
416
606
|
|
|
417
|
-
var
|
|
418
|
-
function
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
var
|
|
423
|
-
var
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
var width = bufferReader.nextUint16();
|
|
429
|
-
var height = bufferReader.nextUint16();
|
|
430
|
-
var isPixelBuffer = bufferReader.nextUint8();
|
|
431
|
-
var mipCount = bufferReader.nextUint8();
|
|
432
|
-
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
433
|
-
var texture2D = new Texture2D(engine, width, height, format, mipmap);
|
|
434
|
-
texture2D.filterMode = filterMode;
|
|
435
|
-
texture2D.anisoLevel = anisoLevel;
|
|
436
|
-
texture2D.wrapModeU = wrapModeU;
|
|
437
|
-
texture2D.wrapModeV = wrapModeV;
|
|
438
|
-
if (isPixelBuffer) {
|
|
439
|
-
var pixelBuffer = imagesData[0];
|
|
440
|
-
texture2D.setPixelBuffer(pixelBuffer);
|
|
441
|
-
if (mipmap) {
|
|
442
|
-
texture2D.generateMipmaps();
|
|
443
|
-
for(var i = 1; i < mipCount; i++){
|
|
444
|
-
var pixelBuffer1 = imagesData[i];
|
|
445
|
-
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
// @ts-ignore
|
|
449
|
-
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
450
|
-
resolve(texture2D);
|
|
451
|
-
} else {
|
|
452
|
-
var blob = new window.Blob([
|
|
453
|
-
imagesData[0]
|
|
454
|
-
]);
|
|
455
|
-
var img = new Image();
|
|
456
|
-
img.onload = function() {
|
|
457
|
-
texture2D.setImageSource(img);
|
|
458
|
-
var completedCount = 0;
|
|
459
|
-
var onComplete = function() {
|
|
460
|
-
completedCount++;
|
|
461
|
-
if (completedCount >= mipCount) {
|
|
462
|
-
resolve(texture2D);
|
|
463
|
-
}
|
|
464
|
-
};
|
|
465
|
-
onComplete();
|
|
466
|
-
if (mipmap) {
|
|
467
|
-
var _loop = function(i) {
|
|
468
|
-
var blob = new window.Blob([
|
|
469
|
-
imagesData[i]
|
|
470
|
-
]);
|
|
471
|
-
var img = new Image();
|
|
472
|
-
img.onload = function() {
|
|
473
|
-
texture2D.setImageSource(img, i);
|
|
474
|
-
onComplete();
|
|
475
|
-
};
|
|
476
|
-
img.src = URL.createObjectURL(blob);
|
|
477
|
-
};
|
|
478
|
-
texture2D.generateMipmaps();
|
|
479
|
-
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
480
|
-
}
|
|
481
|
-
};
|
|
482
|
-
img.src = URL.createObjectURL(blob);
|
|
607
|
+
var PrefabParser = /*#__PURE__*/ function() {
|
|
608
|
+
function PrefabParser() {}
|
|
609
|
+
PrefabParser.parseChildren = function parseChildren(entitiesConfig, entities, parentId) {
|
|
610
|
+
var children = entitiesConfig.get(parentId).children;
|
|
611
|
+
if (children && children.length > 0) {
|
|
612
|
+
var parent = entities.get(parentId);
|
|
613
|
+
for(var i = 0; i < children.length; i++){
|
|
614
|
+
var childId = children[i];
|
|
615
|
+
var entity = entities.get(childId);
|
|
616
|
+
parent.addChild(entity);
|
|
617
|
+
this.parseChildren(entitiesConfig, entities, childId);
|
|
483
618
|
}
|
|
484
|
-
}
|
|
619
|
+
}
|
|
485
620
|
};
|
|
486
|
-
return
|
|
621
|
+
return PrefabParser;
|
|
487
622
|
}();
|
|
488
|
-
Texture2DDecoder = __decorate([
|
|
489
|
-
decoder("Texture2D")
|
|
490
|
-
], Texture2DDecoder);
|
|
491
623
|
|
|
492
624
|
function _is_native_reflect_construct() {
|
|
493
625
|
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
@@ -651,236 +783,166 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
651
783
|
return Promise.resolve(entity);
|
|
652
784
|
}
|
|
653
785
|
};
|
|
654
|
-
ReflectionParser.registerCustomParseComponent = function registerCustomParseComponent(componentType, handle) {
|
|
655
|
-
this.customParseComponentHandles[componentType] = handle;
|
|
656
|
-
};
|
|
657
|
-
ReflectionParser._isClass = function _isClass(value) {
|
|
658
|
-
return value["class"] != undefined;
|
|
659
|
-
};
|
|
660
|
-
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
661
|
-
return value["refId"] != undefined;
|
|
662
|
-
};
|
|
663
|
-
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
664
|
-
return value["entityId"] != undefined;
|
|
665
|
-
};
|
|
666
|
-
return ReflectionParser;
|
|
667
|
-
}();
|
|
668
|
-
(function() {
|
|
669
|
-
ReflectionParser.customParseComponentHandles = new Map();
|
|
670
|
-
})();
|
|
671
|
-
|
|
672
|
-
var
|
|
673
|
-
function
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
var
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
};
|
|
703
|
-
|
|
704
|
-
var InterpolableValueType;
|
|
705
|
-
(function(InterpolableValueType) {
|
|
706
|
-
InterpolableValueType[InterpolableValueType["Float"] = 0] = "Float";
|
|
707
|
-
InterpolableValueType[InterpolableValueType["FloatArray"] = 1] = "FloatArray";
|
|
708
|
-
InterpolableValueType[InterpolableValueType["Vector2"] = 2] = "Vector2";
|
|
709
|
-
InterpolableValueType[InterpolableValueType["Vector3"] = 3] = "Vector3";
|
|
710
|
-
InterpolableValueType[InterpolableValueType["Vector4"] = 4] = "Vector4";
|
|
711
|
-
InterpolableValueType[InterpolableValueType["Quaternion"] = 5] = "Quaternion";
|
|
712
|
-
InterpolableValueType[InterpolableValueType["Color"] = 6] = "Color";
|
|
713
|
-
InterpolableValueType[InterpolableValueType["Array"] = 7] = "Array";
|
|
714
|
-
InterpolableValueType[InterpolableValueType["Boolean"] = 8] = "Boolean";
|
|
715
|
-
InterpolableValueType[InterpolableValueType["Rect"] = 9] = "Rect";
|
|
716
|
-
InterpolableValueType[InterpolableValueType["ReferResource"] = 10] = "ReferResource";
|
|
717
|
-
})(InterpolableValueType || (InterpolableValueType = {}));
|
|
718
|
-
var AnimationClipDecoder = /*#__PURE__*/ function() {
|
|
719
|
-
function AnimationClipDecoder() {}
|
|
720
|
-
AnimationClipDecoder.decode = function decode(engine, bufferReader) {
|
|
721
|
-
return new Promise(function(resolve) {
|
|
722
|
-
var name = bufferReader.nextStr();
|
|
723
|
-
var clip = new AnimationClip(name);
|
|
724
|
-
var eventsLen = bufferReader.nextUint16();
|
|
725
|
-
for(var i = 0; i < eventsLen; ++i){
|
|
726
|
-
var event = new AnimationEvent();
|
|
727
|
-
event.time = bufferReader.nextFloat32();
|
|
728
|
-
event.functionName = bufferReader.nextStr();
|
|
729
|
-
event.parameter = JSON.parse(bufferReader.nextStr()).val;
|
|
730
|
-
clip.addEvent(event);
|
|
731
|
-
}
|
|
732
|
-
var curveBindingsLen = bufferReader.nextUint16();
|
|
733
|
-
for(var i1 = 0; i1 < curveBindingsLen; ++i1){
|
|
734
|
-
var relativePath = bufferReader.nextStr();
|
|
735
|
-
var componentStr = bufferReader.nextStr();
|
|
736
|
-
var componentType = ComponentMap[componentStr];
|
|
737
|
-
var property = bufferReader.nextStr();
|
|
738
|
-
var curve = void 0;
|
|
739
|
-
var interpolation = bufferReader.nextUint8();
|
|
740
|
-
var keysLen = bufferReader.nextUint16();
|
|
741
|
-
var curveType = bufferReader.nextStr();
|
|
742
|
-
switch(curveType){
|
|
743
|
-
case "AnimationFloatCurve":
|
|
744
|
-
{
|
|
745
|
-
curve = new AnimationFloatCurve();
|
|
746
|
-
curve.interpolation = interpolation;
|
|
747
|
-
for(var j = 0; j < keysLen; ++j){
|
|
748
|
-
var keyframe = new Keyframe();
|
|
749
|
-
keyframe.time = bufferReader.nextFloat32();
|
|
750
|
-
keyframe.value = bufferReader.nextFloat32();
|
|
751
|
-
keyframe.inTangent = bufferReader.nextFloat32();
|
|
752
|
-
keyframe.outTangent = bufferReader.nextFloat32();
|
|
753
|
-
curve.addKey(keyframe);
|
|
754
|
-
}
|
|
755
|
-
break;
|
|
756
|
-
}
|
|
757
|
-
case "AnimationArrayCurve":
|
|
758
|
-
{
|
|
759
|
-
curve = new AnimationArrayCurve();
|
|
760
|
-
curve.interpolation = interpolation;
|
|
761
|
-
for(var j1 = 0; j1 < keysLen; ++j1){
|
|
762
|
-
var keyframe1 = new Keyframe();
|
|
763
|
-
keyframe1.time = bufferReader.nextFloat32();
|
|
764
|
-
var len = bufferReader.nextUint16();
|
|
765
|
-
keyframe1.value = Array.from(bufferReader.nextFloat32Array(len));
|
|
766
|
-
keyframe1.inTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
767
|
-
keyframe1.outTangent = Array.from(bufferReader.nextFloat32Array(len));
|
|
768
|
-
curve.addKey(keyframe1);
|
|
769
|
-
}
|
|
770
|
-
break;
|
|
771
|
-
}
|
|
772
|
-
case "AnimationFloatArrayCurve":
|
|
773
|
-
{
|
|
774
|
-
curve = new AnimationFloatArrayCurve();
|
|
775
|
-
curve.interpolation = interpolation;
|
|
776
|
-
for(var j2 = 0; j2 < keysLen; ++j2){
|
|
777
|
-
var keyframe2 = new Keyframe();
|
|
778
|
-
keyframe2.time = bufferReader.nextFloat32();
|
|
779
|
-
var len1 = bufferReader.nextUint16();
|
|
780
|
-
keyframe2.value = bufferReader.nextFloat32Array(len1);
|
|
781
|
-
keyframe2.inTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
782
|
-
keyframe2.outTangent = Array.from(bufferReader.nextFloat32Array(len1));
|
|
783
|
-
curve.addKey(keyframe2);
|
|
784
|
-
}
|
|
785
|
-
break;
|
|
786
|
-
}
|
|
787
|
-
case "AnimationVector2Curve":
|
|
788
|
-
{
|
|
789
|
-
curve = new AnimationVector2Curve();
|
|
790
|
-
curve.interpolation = interpolation;
|
|
791
|
-
for(var j3 = 0; j3 < keysLen; ++j3){
|
|
792
|
-
var keyframe3 = new Keyframe();
|
|
793
|
-
keyframe3.time = bufferReader.nextFloat32();
|
|
794
|
-
keyframe3.value = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
795
|
-
keyframe3.inTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
796
|
-
keyframe3.outTangent = new Vector2(bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
797
|
-
curve.addKey(keyframe3);
|
|
798
|
-
}
|
|
799
|
-
break;
|
|
800
|
-
}
|
|
801
|
-
case "AnimationVector3Curve":
|
|
802
|
-
{
|
|
803
|
-
curve = new AnimationVector3Curve();
|
|
804
|
-
curve.interpolation = interpolation;
|
|
805
|
-
for(var j4 = 0; j4 < keysLen; ++j4){
|
|
806
|
-
var keyframe4 = new Keyframe();
|
|
807
|
-
keyframe4.time = bufferReader.nextFloat32();
|
|
808
|
-
keyframe4.value = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
809
|
-
keyframe4.inTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
810
|
-
keyframe4.outTangent = new Vector3(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
811
|
-
curve.addKey(keyframe4);
|
|
812
|
-
}
|
|
813
|
-
break;
|
|
814
|
-
}
|
|
815
|
-
case "AnimationVector4Curve":
|
|
816
|
-
{
|
|
817
|
-
curve = new AnimationVector4Curve();
|
|
818
|
-
curve.interpolation = interpolation;
|
|
819
|
-
var keyframe5 = new Keyframe();
|
|
820
|
-
keyframe5.time = bufferReader.nextFloat32();
|
|
821
|
-
keyframe5.value = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
822
|
-
keyframe5.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
823
|
-
keyframe5.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
824
|
-
curve.addKey(keyframe5);
|
|
825
|
-
break;
|
|
826
|
-
}
|
|
827
|
-
case "AnimationColorCurve":
|
|
828
|
-
{
|
|
829
|
-
curve = new AnimationColorCurve();
|
|
830
|
-
curve.interpolation = interpolation;
|
|
831
|
-
for(var j5 = 0; j5 < keysLen; ++j5){
|
|
832
|
-
var keyframe6 = new Keyframe();
|
|
833
|
-
keyframe6.time = bufferReader.nextFloat32();
|
|
834
|
-
keyframe6.value = new Color(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
835
|
-
keyframe6.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
836
|
-
keyframe6.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
837
|
-
curve.addKey(keyframe6);
|
|
838
|
-
}
|
|
839
|
-
break;
|
|
840
|
-
}
|
|
841
|
-
case "AnimationQuaternionCurve":
|
|
842
|
-
{
|
|
843
|
-
curve = new AnimationQuaternionCurve();
|
|
844
|
-
curve.interpolation = interpolation;
|
|
845
|
-
for(var j6 = 0; j6 < keysLen; ++j6){
|
|
846
|
-
var keyframe7 = new Keyframe();
|
|
847
|
-
keyframe7.time = bufferReader.nextFloat32();
|
|
848
|
-
keyframe7.value = new Quaternion(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
849
|
-
keyframe7.inTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
850
|
-
keyframe7.outTangent = new Vector4(bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32(), bufferReader.nextFloat32());
|
|
851
|
-
curve.addKey(keyframe7);
|
|
852
|
-
}
|
|
853
|
-
break;
|
|
854
|
-
}
|
|
855
|
-
case "AnimationRefCurve":
|
|
856
|
-
{
|
|
857
|
-
curve = new AnimationRefCurve();
|
|
858
|
-
curve.interpolation = interpolation;
|
|
859
|
-
for(var j7 = 0; j7 < keysLen; ++j7){
|
|
860
|
-
var keyframe8 = new Keyframe();
|
|
861
|
-
keyframe8.time = bufferReader.nextFloat32();
|
|
862
|
-
keyframe8.value = JSON.parse(bufferReader.nextStr());
|
|
863
|
-
curve.addKey(keyframe8);
|
|
864
|
-
}
|
|
865
|
-
break;
|
|
866
|
-
}
|
|
786
|
+
ReflectionParser.registerCustomParseComponent = function registerCustomParseComponent(componentType, handle) {
|
|
787
|
+
this.customParseComponentHandles[componentType] = handle;
|
|
788
|
+
};
|
|
789
|
+
ReflectionParser._isClass = function _isClass(value) {
|
|
790
|
+
return value["class"] != undefined;
|
|
791
|
+
};
|
|
792
|
+
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
793
|
+
return value["refId"] != undefined;
|
|
794
|
+
};
|
|
795
|
+
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
796
|
+
return value["entityId"] != undefined;
|
|
797
|
+
};
|
|
798
|
+
return ReflectionParser;
|
|
799
|
+
}();
|
|
800
|
+
(function() {
|
|
801
|
+
ReflectionParser.customParseComponentHandles = new Map();
|
|
802
|
+
})();
|
|
803
|
+
|
|
804
|
+
var Texture2DDecoder = /*#__PURE__*/ function() {
|
|
805
|
+
function Texture2DDecoder() {}
|
|
806
|
+
Texture2DDecoder.decode = function decode(engine, bufferReader, restoredTexture) {
|
|
807
|
+
return new Promise(function(resolve, reject) {
|
|
808
|
+
var objectId = bufferReader.nextStr();
|
|
809
|
+
var mipmap = !!bufferReader.nextUint8();
|
|
810
|
+
var filterMode = bufferReader.nextUint8();
|
|
811
|
+
var anisoLevel = bufferReader.nextUint8();
|
|
812
|
+
var wrapModeU = bufferReader.nextUint8();
|
|
813
|
+
var wrapModeV = bufferReader.nextUint8();
|
|
814
|
+
var format = bufferReader.nextUint8();
|
|
815
|
+
var width = bufferReader.nextUint16();
|
|
816
|
+
var height = bufferReader.nextUint16();
|
|
817
|
+
var isPixelBuffer = bufferReader.nextUint8();
|
|
818
|
+
var mipCount = bufferReader.nextUint8();
|
|
819
|
+
var imagesData = bufferReader.nextImagesData(mipCount);
|
|
820
|
+
var texture2D = restoredTexture || new Texture2D(engine, width, height, format, mipmap);
|
|
821
|
+
texture2D.filterMode = filterMode;
|
|
822
|
+
texture2D.anisoLevel = anisoLevel;
|
|
823
|
+
texture2D.wrapModeU = wrapModeU;
|
|
824
|
+
texture2D.wrapModeV = wrapModeV;
|
|
825
|
+
if (isPixelBuffer) {
|
|
826
|
+
var pixelBuffer = imagesData[0];
|
|
827
|
+
texture2D.setPixelBuffer(pixelBuffer);
|
|
828
|
+
if (mipmap) {
|
|
829
|
+
texture2D.generateMipmaps();
|
|
830
|
+
for(var i = 1; i < mipCount; i++){
|
|
831
|
+
var pixelBuffer1 = imagesData[i];
|
|
832
|
+
texture2D.setPixelBuffer(pixelBuffer1, i);
|
|
833
|
+
}
|
|
867
834
|
}
|
|
868
|
-
|
|
835
|
+
// @ts-ignore
|
|
836
|
+
engine.resourceManager._objectPool[objectId] = texture2D;
|
|
837
|
+
resolve(texture2D);
|
|
838
|
+
} else {
|
|
839
|
+
var blob = new window.Blob([
|
|
840
|
+
imagesData[0]
|
|
841
|
+
]);
|
|
842
|
+
var img = new Image();
|
|
843
|
+
img.onload = function() {
|
|
844
|
+
texture2D.setImageSource(img);
|
|
845
|
+
var completedCount = 0;
|
|
846
|
+
var onComplete = function() {
|
|
847
|
+
completedCount++;
|
|
848
|
+
if (completedCount >= mipCount) {
|
|
849
|
+
resolve(texture2D);
|
|
850
|
+
}
|
|
851
|
+
};
|
|
852
|
+
onComplete();
|
|
853
|
+
if (mipmap) {
|
|
854
|
+
var _loop = function(i) {
|
|
855
|
+
var blob = new window.Blob([
|
|
856
|
+
imagesData[i]
|
|
857
|
+
]);
|
|
858
|
+
var img = new Image();
|
|
859
|
+
img.onload = function() {
|
|
860
|
+
texture2D.setImageSource(img, i);
|
|
861
|
+
onComplete();
|
|
862
|
+
};
|
|
863
|
+
img.src = URL.createObjectURL(blob);
|
|
864
|
+
};
|
|
865
|
+
texture2D.generateMipmaps();
|
|
866
|
+
for(var i = 1; i < mipCount; i++)_loop(i);
|
|
867
|
+
}
|
|
868
|
+
};
|
|
869
|
+
img.src = URL.createObjectURL(blob);
|
|
869
870
|
}
|
|
870
|
-
resolve(clip);
|
|
871
871
|
});
|
|
872
872
|
};
|
|
873
|
-
return
|
|
873
|
+
return Texture2DDecoder;
|
|
874
874
|
}();
|
|
875
|
-
|
|
876
|
-
decoder("
|
|
877
|
-
],
|
|
875
|
+
Texture2DDecoder = __decorate([
|
|
876
|
+
decoder("Texture2D")
|
|
877
|
+
], Texture2DDecoder);
|
|
878
878
|
|
|
879
|
-
var
|
|
880
|
-
(
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
}
|
|
879
|
+
var EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
|
|
880
|
+
_inherits(EditorTextureLoader, Loader1);
|
|
881
|
+
function EditorTextureLoader() {
|
|
882
|
+
return Loader1.apply(this, arguments);
|
|
883
|
+
}
|
|
884
|
+
var _proto = EditorTextureLoader.prototype;
|
|
885
|
+
_proto.load = function load(item, resourceManager) {
|
|
886
|
+
var _this = this;
|
|
887
|
+
return new AssetPromise(function(resolve, reject) {
|
|
888
|
+
var request = _this.request;
|
|
889
|
+
request(item.url, _extends({}, item, {
|
|
890
|
+
type: "arraybuffer"
|
|
891
|
+
})).then(function(data) {
|
|
892
|
+
decode(data, resourceManager.engine).then(function(texture) {
|
|
893
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
894
|
+
_inherits(_class, ContentRestorer);
|
|
895
|
+
function _class() {
|
|
896
|
+
return ContentRestorer.apply(this, arguments);
|
|
897
|
+
}
|
|
898
|
+
var _proto = _class.prototype;
|
|
899
|
+
_proto.restoreContent = function restoreContent() {
|
|
900
|
+
return request(item.url, _extends({}, item, {
|
|
901
|
+
type: "arraybuffer"
|
|
902
|
+
})).then(function(data) {
|
|
903
|
+
return decode(data, resourceManager.engine, texture);
|
|
904
|
+
});
|
|
905
|
+
};
|
|
906
|
+
return _class;
|
|
907
|
+
}(ContentRestorer))(texture));
|
|
908
|
+
resolve(texture);
|
|
909
|
+
});
|
|
910
|
+
}).catch(reject);
|
|
911
|
+
});
|
|
912
|
+
};
|
|
913
|
+
return EditorTextureLoader;
|
|
914
|
+
}(Loader);
|
|
915
|
+
EditorTextureLoader = __decorate([
|
|
916
|
+
resourceLoader("EditorTexture2D", [
|
|
917
|
+
"prefab"
|
|
918
|
+
], true)
|
|
919
|
+
], EditorTextureLoader);
|
|
920
|
+
|
|
921
|
+
var MeshLoader$1 = /*#__PURE__*/ function(Loader1) {
|
|
922
|
+
_inherits(MeshLoader, Loader1);
|
|
923
|
+
function MeshLoader() {
|
|
924
|
+
return Loader1.apply(this, arguments);
|
|
925
|
+
}
|
|
926
|
+
var _proto = MeshLoader.prototype;
|
|
927
|
+
_proto.load = function load(item, resourceManager) {
|
|
928
|
+
var _this = this;
|
|
929
|
+
return new AssetPromise(function(resolve, reject) {
|
|
930
|
+
_this.request(item.url, {
|
|
931
|
+
type: "arraybuffer"
|
|
932
|
+
}).then(function(data) {
|
|
933
|
+
decode(data, resourceManager.engine).then(function(mesh) {
|
|
934
|
+
resolve(mesh);
|
|
935
|
+
});
|
|
936
|
+
}).catch(reject);
|
|
937
|
+
});
|
|
938
|
+
};
|
|
939
|
+
return MeshLoader;
|
|
940
|
+
}(Loader);
|
|
941
|
+
MeshLoader$1 = __decorate([
|
|
942
|
+
resourceLoader("Mesh", [
|
|
943
|
+
"prefab"
|
|
944
|
+
], true)
|
|
945
|
+
], MeshLoader$1);
|
|
884
946
|
|
|
885
947
|
function _array_like_to_array(arr, len) {
|
|
886
948
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -1037,57 +1099,11 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
1037
1099
|
return SceneParser;
|
|
1038
1100
|
}();
|
|
1039
1101
|
|
|
1040
|
-
var
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
var _proto = MeshLoader.prototype;
|
|
1046
|
-
_proto.load = function load(item, resourceManager) {
|
|
1047
|
-
var _this = this;
|
|
1048
|
-
return new AssetPromise(function(resolve, reject) {
|
|
1049
|
-
_this.request(item.url, {
|
|
1050
|
-
type: "arraybuffer"
|
|
1051
|
-
}).then(function(data) {
|
|
1052
|
-
decode(data, resourceManager.engine).then(function(mesh) {
|
|
1053
|
-
resolve(mesh);
|
|
1054
|
-
});
|
|
1055
|
-
}).catch(reject);
|
|
1056
|
-
});
|
|
1057
|
-
};
|
|
1058
|
-
return MeshLoader;
|
|
1059
|
-
}(Loader);
|
|
1060
|
-
MeshLoader$1 = __decorate([
|
|
1061
|
-
resourceLoader("Mesh", [
|
|
1062
|
-
"prefab"
|
|
1063
|
-
], true)
|
|
1064
|
-
], MeshLoader$1);
|
|
1065
|
-
|
|
1066
|
-
var EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
|
|
1067
|
-
_inherits(EditorTextureLoader, Loader1);
|
|
1068
|
-
function EditorTextureLoader() {
|
|
1069
|
-
return Loader1.apply(this, arguments);
|
|
1070
|
-
}
|
|
1071
|
-
var _proto = EditorTextureLoader.prototype;
|
|
1072
|
-
_proto.load = function load(item, resourceManager) {
|
|
1073
|
-
var _this = this;
|
|
1074
|
-
return new AssetPromise(function(resolve, reject) {
|
|
1075
|
-
_this.request(item.url, {
|
|
1076
|
-
type: "arraybuffer"
|
|
1077
|
-
}).then(function(data) {
|
|
1078
|
-
decode(data, resourceManager.engine).then(function(texture) {
|
|
1079
|
-
resolve(texture);
|
|
1080
|
-
});
|
|
1081
|
-
}).catch(reject);
|
|
1082
|
-
});
|
|
1083
|
-
};
|
|
1084
|
-
return EditorTextureLoader;
|
|
1085
|
-
}(Loader);
|
|
1086
|
-
EditorTextureLoader = __decorate([
|
|
1087
|
-
resourceLoader("EditorTexture2D", [
|
|
1088
|
-
"prefab"
|
|
1089
|
-
], true)
|
|
1090
|
-
], EditorTextureLoader);
|
|
1102
|
+
var SpecularMode;
|
|
1103
|
+
(function(SpecularMode) {
|
|
1104
|
+
SpecularMode["Sky"] = "Sky";
|
|
1105
|
+
SpecularMode["Custom"] = "Custom";
|
|
1106
|
+
})(SpecularMode || (SpecularMode = {}));
|
|
1091
1107
|
|
|
1092
1108
|
/**
|
|
1093
1109
|
* Decode engine binary resource.
|
|
@@ -1095,9 +1111,13 @@ EditorTextureLoader = __decorate([
|
|
|
1095
1111
|
* @param engine - engine
|
|
1096
1112
|
* @returns
|
|
1097
1113
|
*/ function decode(arrayBuffer, engine) {
|
|
1114
|
+
for(var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
1115
|
+
args[_key - 2] = arguments[_key];
|
|
1116
|
+
}
|
|
1117
|
+
var _decoderMap_header_type;
|
|
1098
1118
|
var header = FileHeader.decode(arrayBuffer);
|
|
1099
1119
|
var bufferReader = new BufferReader(new Uint8Array(arrayBuffer), header.headerLength, header.dataLength);
|
|
1100
|
-
return decoderMap[header.type].decode(engine, bufferReader).then(function(object) {
|
|
1120
|
+
return (_decoderMap_header_type = decoderMap[header.type]).decode.apply(_decoderMap_header_type, [].concat(engine, bufferReader, args)).then(function(object) {
|
|
1101
1121
|
object.name = header.name;
|
|
1102
1122
|
return object;
|
|
1103
1123
|
});
|
|
@@ -1265,39 +1285,42 @@ BufferLoader = __decorate([
|
|
|
1265
1285
|
], BufferLoader);
|
|
1266
1286
|
|
|
1267
1287
|
var EnvLoader = /*#__PURE__*/ function(Loader1) {
|
|
1268
|
-
_inherits(
|
|
1269
|
-
function
|
|
1288
|
+
_inherits(EnvLoader1, Loader1);
|
|
1289
|
+
function EnvLoader1() {
|
|
1270
1290
|
return Loader1.apply(this, arguments);
|
|
1271
1291
|
}
|
|
1272
|
-
var _proto =
|
|
1292
|
+
var _proto = EnvLoader1.prototype;
|
|
1273
1293
|
_proto.load = function load(item, resourceManager) {
|
|
1274
1294
|
var _this = this;
|
|
1275
1295
|
return new AssetPromise(function(resolve, reject) {
|
|
1276
|
-
|
|
1296
|
+
var engine = resourceManager.engine;
|
|
1297
|
+
var request = _this.request;
|
|
1298
|
+
request(item.url, _extends({}, item, {
|
|
1277
1299
|
type: "arraybuffer"
|
|
1278
|
-
}).then(function(arraybuffer) {
|
|
1279
|
-
var
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
var texture = new TextureCube(engine, size);
|
|
1285
|
-
texture.filterMode = TextureFilterMode.Trilinear;
|
|
1286
|
-
var mipmapCount = texture.mipmapCount;
|
|
1287
|
-
var offset = shByteLength + 2;
|
|
1288
|
-
for(var mipLevel = 0; mipLevel < mipmapCount; mipLevel++){
|
|
1289
|
-
var mipSize = size >> mipLevel;
|
|
1290
|
-
for(var face = 0; face < 6; face++){
|
|
1291
|
-
var dataSize = mipSize * mipSize * 4;
|
|
1292
|
-
var data = new Uint8Array(arraybuffer, offset, dataSize);
|
|
1293
|
-
offset += dataSize;
|
|
1294
|
-
texture.setPixelBuffer(TextureCubeFace.PositiveX + face, data, mipLevel);
|
|
1300
|
+
})).then(function(arraybuffer) {
|
|
1301
|
+
var texture = EnvLoader._setTextureByBuffer(engine, arraybuffer);
|
|
1302
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
1303
|
+
_inherits(_class, ContentRestorer);
|
|
1304
|
+
function _class() {
|
|
1305
|
+
return ContentRestorer.apply(this, arguments);
|
|
1295
1306
|
}
|
|
1296
|
-
|
|
1307
|
+
var _proto = _class.prototype;
|
|
1308
|
+
_proto.restoreContent = function restoreContent() {
|
|
1309
|
+
return new AssetPromise(function(resolve, reject) {
|
|
1310
|
+
request(item.url, _extends({}, item, {
|
|
1311
|
+
type: "arraybuffer"
|
|
1312
|
+
})).then(function(buffer) {
|
|
1313
|
+
EnvLoader._setTextureByBuffer(engine, buffer, texture);
|
|
1314
|
+
resolve(texture);
|
|
1315
|
+
}).catch(reject);
|
|
1316
|
+
});
|
|
1317
|
+
};
|
|
1318
|
+
return _class;
|
|
1319
|
+
}(ContentRestorer))(texture));
|
|
1297
1320
|
var ambientLight = new AmbientLight(engine);
|
|
1298
1321
|
var sh = new SphericalHarmonics3();
|
|
1299
1322
|
ambientLight.diffuseMode = DiffuseMode.SphericalHarmonics;
|
|
1300
|
-
sh.copyFromArray(
|
|
1323
|
+
sh.copyFromArray(new Float32Array(arraybuffer, 0, 27));
|
|
1301
1324
|
ambientLight.diffuseSphericalHarmonics = sh;
|
|
1302
1325
|
ambientLight.specularTexture = texture;
|
|
1303
1326
|
ambientLight.specularTextureDecodeRGBM = true;
|
|
@@ -1307,7 +1330,28 @@ var EnvLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
1307
1330
|
});
|
|
1308
1331
|
});
|
|
1309
1332
|
};
|
|
1310
|
-
|
|
1333
|
+
/**
|
|
1334
|
+
* @internal
|
|
1335
|
+
*/ EnvLoader1._setTextureByBuffer = function _setTextureByBuffer(engine, buffer, texture) {
|
|
1336
|
+
var _this;
|
|
1337
|
+
var shByteLength = 27 * 4;
|
|
1338
|
+
var size = (_this = new Uint16Array(buffer, shByteLength, 1)) == null ? void 0 : _this[0];
|
|
1339
|
+
texture || (texture = new TextureCube(engine, size));
|
|
1340
|
+
texture.filterMode = TextureFilterMode.Trilinear;
|
|
1341
|
+
var mipmapCount = texture.mipmapCount;
|
|
1342
|
+
var offset = shByteLength + 2;
|
|
1343
|
+
for(var mipLevel = 0; mipLevel < mipmapCount; mipLevel++){
|
|
1344
|
+
var mipSize = size >> mipLevel;
|
|
1345
|
+
for(var face = 0; face < 6; face++){
|
|
1346
|
+
var dataSize = mipSize * mipSize * 4;
|
|
1347
|
+
var data = new Uint8Array(buffer, offset, dataSize);
|
|
1348
|
+
offset += dataSize;
|
|
1349
|
+
texture.setPixelBuffer(TextureCubeFace.PositiveX + face, data, mipLevel);
|
|
1350
|
+
}
|
|
1351
|
+
}
|
|
1352
|
+
return texture;
|
|
1353
|
+
};
|
|
1354
|
+
return EnvLoader1;
|
|
1311
1355
|
}(Loader);
|
|
1312
1356
|
EnvLoader = __decorate([
|
|
1313
1357
|
resourceLoader(AssetType.Env, [
|
|
@@ -2027,28 +2071,29 @@ function registerGLTFParser(pipeline) {
|
|
|
2027
2071
|
BIN: 0x004e4942
|
|
2028
2072
|
};
|
|
2029
2073
|
var dataView = new DataView(originBuffer);
|
|
2030
|
-
//
|
|
2074
|
+
// Read header
|
|
2031
2075
|
var header = {
|
|
2032
2076
|
magic: dataView.getUint32(0, true),
|
|
2033
2077
|
version: dataView.getUint32(UINT32_LENGTH, true),
|
|
2034
2078
|
length: dataView.getUint32(2 * UINT32_LENGTH, true)
|
|
2035
2079
|
};
|
|
2080
|
+
// Return the original buffer if it is not a glb
|
|
2036
2081
|
if (header.magic !== GLB_HEADER_MAGIC) {
|
|
2037
2082
|
return {
|
|
2038
2083
|
originBuffer: originBuffer
|
|
2039
2084
|
};
|
|
2040
2085
|
}
|
|
2041
|
-
//
|
|
2086
|
+
// Read main data
|
|
2042
2087
|
var chunkLength = dataView.getUint32(GLB_HEADER_LENGTH, true);
|
|
2043
2088
|
var chunkType = dataView.getUint32(GLB_HEADER_LENGTH + UINT32_LENGTH, true);
|
|
2044
|
-
//
|
|
2089
|
+
// Read glTF json
|
|
2045
2090
|
if (chunkType !== GLB_CHUNK_TYPES.JSON) {
|
|
2046
2091
|
console.error("Invalid glb chunk type. Expected 0x4E4F534A, found 0x" + chunkType.toString(16));
|
|
2047
2092
|
return null;
|
|
2048
2093
|
}
|
|
2049
2094
|
var glTFData = new Uint8Array(originBuffer, GLB_HEADER_LENGTH + 2 * UINT32_LENGTH, chunkLength);
|
|
2050
2095
|
var glTF = JSON.parse(Utils.decodeText(glTFData));
|
|
2051
|
-
//
|
|
2096
|
+
// Read all buffers
|
|
2052
2097
|
var buffers = [];
|
|
2053
2098
|
var byteOffset = GLB_HEADER_LENGTH + 2 * UINT32_LENGTH + chunkLength;
|
|
2054
2099
|
var restoreGLBBufferSlice = context.contentRestorer.glbBufferSlices;
|
|
@@ -2939,13 +2984,39 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2939
2984
|
/**
|
|
2940
2985
|
* @internal
|
|
2941
2986
|
*/ _proto.load = function load(item, resourceManager) {
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2987
|
+
var _this = this;
|
|
2988
|
+
return new AssetPromise(function(resolve, reject) {
|
|
2989
|
+
var request = _this.request;
|
|
2990
|
+
request(item.url, _extends({}, item, {
|
|
2991
|
+
type: "arraybuffer"
|
|
2992
|
+
})).then(function(buffer) {
|
|
2993
|
+
return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
2994
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
2995
|
+
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
|
|
2996
|
+
}).then(function(texture) {
|
|
2997
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
2998
|
+
_inherits(_class, ContentRestorer);
|
|
2999
|
+
function _class() {
|
|
3000
|
+
return ContentRestorer.apply(this, arguments);
|
|
3001
|
+
}
|
|
3002
|
+
var _proto = _class.prototype;
|
|
3003
|
+
_proto.restoreContent = function restoreContent() {
|
|
3004
|
+
return new AssetPromise(function(resolve, reject) {
|
|
3005
|
+
request(item.url, _extends({}, item, {
|
|
3006
|
+
type: "arraybuffer"
|
|
3007
|
+
})).then(function(buffer) {
|
|
3008
|
+
return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
|
|
3009
|
+
var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
|
|
3010
|
+
return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params, texture);
|
|
3011
|
+
});
|
|
3012
|
+
}).then(resolve).catch(reject);
|
|
3013
|
+
});
|
|
3014
|
+
};
|
|
3015
|
+
return _class;
|
|
3016
|
+
}(ContentRestorer))(texture));
|
|
3017
|
+
resolve(texture);
|
|
3018
|
+
});
|
|
3019
|
+
}).catch(reject);
|
|
2949
3020
|
});
|
|
2950
3021
|
};
|
|
2951
3022
|
/**
|
|
@@ -2984,7 +3055,7 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2984
3055
|
};
|
|
2985
3056
|
});
|
|
2986
3057
|
};
|
|
2987
|
-
/** @internal */ KTX2Loader1._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params) {
|
|
3058
|
+
/** @internal */ KTX2Loader1._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params, restoredTexture) {
|
|
2988
3059
|
var width = transcodeResult.width, height = transcodeResult.height, faces = transcodeResult.faces;
|
|
2989
3060
|
var faceCount = faces.length;
|
|
2990
3061
|
var mipmaps = faces[0];
|
|
@@ -2992,13 +3063,13 @@ var KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2992
3063
|
var engineFormat = this._getEngineTextureFormat(targetFormat, transcodeResult);
|
|
2993
3064
|
var texture;
|
|
2994
3065
|
if (faceCount !== 6) {
|
|
2995
|
-
texture = new Texture2D(engine, width, height, engineFormat, mipmap);
|
|
3066
|
+
texture = restoredTexture || new Texture2D(engine, width, height, engineFormat, mipmap);
|
|
2996
3067
|
for(var mipLevel = 0; mipLevel < mipmaps.length; mipLevel++){
|
|
2997
3068
|
var data = mipmaps[mipLevel].data;
|
|
2998
3069
|
texture.setPixelBuffer(data, mipLevel);
|
|
2999
3070
|
}
|
|
3000
3071
|
} else {
|
|
3001
|
-
texture = new TextureCube(engine, height, engineFormat, mipmap);
|
|
3072
|
+
texture = restoredTexture || new TextureCube(engine, height, engineFormat, mipmap);
|
|
3002
3073
|
for(var i = 0; i < faces.length; i++){
|
|
3003
3074
|
var faceData = faces[i];
|
|
3004
3075
|
for(var mipLevel1 = 0; mipLevel1 < mipmaps.length; mipLevel1++){
|
|
@@ -3477,8 +3548,13 @@ var GLTFSchemaParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3477
3548
|
type: "arraybuffer"
|
|
3478
3549
|
};
|
|
3479
3550
|
return request(url, requestConfig).then(function(buffer) {
|
|
3480
|
-
|
|
3481
|
-
|
|
3551
|
+
var _parseResult;
|
|
3552
|
+
var parseResult = GLTFUtils.parseGLB(context, buffer);
|
|
3553
|
+
// If the buffer is a GLB file, we need to restore the buffer data
|
|
3554
|
+
if ((_parseResult = parseResult) == null ? void 0 : _parseResult.glTF) {
|
|
3555
|
+
restoreBufferRequests.push(new BufferRequestInfo(url, requestConfig));
|
|
3556
|
+
}
|
|
3557
|
+
return parseResult;
|
|
3482
3558
|
}).then(function(result) {
|
|
3483
3559
|
var _result;
|
|
3484
3560
|
if ((_result = result) == null ? void 0 : _result.glTF) {
|
|
@@ -4510,23 +4586,48 @@ var HDRLoader = (_HDRLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
4510
4586
|
var _this = this;
|
|
4511
4587
|
return new AssetPromise(function(resolve, reject) {
|
|
4512
4588
|
var engine = resourceManager.engine;
|
|
4513
|
-
_this.request
|
|
4589
|
+
var request = _this.request;
|
|
4590
|
+
_this.request(item.url, _extends({}, item, {
|
|
4514
4591
|
type: "arraybuffer"
|
|
4515
|
-
}).then(function(buffer) {
|
|
4516
|
-
var
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4592
|
+
})).then(function(buffer) {
|
|
4593
|
+
var texture = HDRLoader._setTextureByBuffer(engine, buffer);
|
|
4594
|
+
engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
4595
|
+
_inherits(_class, ContentRestorer);
|
|
4596
|
+
function _class() {
|
|
4597
|
+
return ContentRestorer.apply(this, arguments);
|
|
4598
|
+
}
|
|
4599
|
+
var _proto = _class.prototype;
|
|
4600
|
+
_proto.restoreContent = function restoreContent() {
|
|
4601
|
+
return new AssetPromise(function(resolve, reject) {
|
|
4602
|
+
request(item.url, _extends({}, item, {
|
|
4603
|
+
type: "arraybuffer"
|
|
4604
|
+
})).then(function(buffer) {
|
|
4605
|
+
HDRLoader._setTextureByBuffer(engine, buffer, texture);
|
|
4606
|
+
resolve(texture);
|
|
4607
|
+
}).catch(reject);
|
|
4608
|
+
});
|
|
4609
|
+
};
|
|
4610
|
+
return _class;
|
|
4611
|
+
}(ContentRestorer))(texture));
|
|
4526
4612
|
resolve(texture);
|
|
4527
4613
|
}).catch(reject);
|
|
4528
4614
|
});
|
|
4529
4615
|
};
|
|
4616
|
+
/**
|
|
4617
|
+
* @internal
|
|
4618
|
+
*/ HDRLoader1._setTextureByBuffer = function _setTextureByBuffer(engine, buffer, texture) {
|
|
4619
|
+
var bufferArray = new Uint8Array(buffer);
|
|
4620
|
+
var _HDRLoader__parseHeader = HDRLoader._parseHeader(bufferArray), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
|
|
4621
|
+
var cubeSize = height >> 1;
|
|
4622
|
+
texture || (texture = new TextureCube(engine, cubeSize));
|
|
4623
|
+
var pixels = HDRLoader._readPixels(bufferArray.subarray(dataPosition), width, height);
|
|
4624
|
+
var cubeMapData = HDRLoader._convertToCubemap(pixels, width, height, cubeSize);
|
|
4625
|
+
for(var faceIndex = 0; faceIndex < 6; faceIndex++){
|
|
4626
|
+
texture.setPixelBuffer(TextureCubeFace.PositiveX + faceIndex, cubeMapData[faceIndex], 0);
|
|
4627
|
+
}
|
|
4628
|
+
texture.generateMipmaps();
|
|
4629
|
+
return texture;
|
|
4630
|
+
};
|
|
4530
4631
|
HDRLoader1._convertToCubemap = function _convertToCubemap(pixels, inputWidth, inputHeight, size) {
|
|
4531
4632
|
if (!pixels) {
|
|
4532
4633
|
throw "ConvertPanoramaToCubemap: input cannot be null";
|
|
@@ -5064,7 +5165,8 @@ var KTXLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5064
5165
|
_proto.load = function load(item, resourceManager) {
|
|
5065
5166
|
var _this = this;
|
|
5066
5167
|
return new AssetPromise(function(resolve, reject) {
|
|
5067
|
-
_this.request
|
|
5168
|
+
var request = _this.request;
|
|
5169
|
+
request(item.url, _extends({}, item, {
|
|
5068
5170
|
type: "arraybuffer"
|
|
5069
5171
|
})).then(function(bin) {
|
|
5070
5172
|
var parsedData = parseSingleKTX(bin);
|
|
@@ -5075,6 +5177,32 @@ var KTXLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5075
5177
|
var _mipmaps_miplevel = mipmaps[miplevel], width1 = _mipmaps_miplevel.width, height1 = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
5076
5178
|
texture.setPixelBuffer(data, miplevel, 0, 0, width1, height1);
|
|
5077
5179
|
}
|
|
5180
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
5181
|
+
_inherits(_class, ContentRestorer);
|
|
5182
|
+
function _class() {
|
|
5183
|
+
return ContentRestorer.apply(this, arguments);
|
|
5184
|
+
}
|
|
5185
|
+
var _proto = _class.prototype;
|
|
5186
|
+
_proto.restoreContent = function restoreContent() {
|
|
5187
|
+
var _this = this;
|
|
5188
|
+
return new AssetPromise(function(resolve, reject) {
|
|
5189
|
+
request(item.url, _extends({}, item, {
|
|
5190
|
+
type: "arraybuffer"
|
|
5191
|
+
})).then(function(bin) {
|
|
5192
|
+
var mipmaps = parseSingleKTX(bin).mipmaps;
|
|
5193
|
+
var texture = _this.resource;
|
|
5194
|
+
for(var miplevel = 0; miplevel < mipmaps.length; miplevel++){
|
|
5195
|
+
var _mipmaps_miplevel = mipmaps[miplevel], width = _mipmaps_miplevel.width, height = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
|
|
5196
|
+
texture.setPixelBuffer(data, miplevel, 0, 0, width, height);
|
|
5197
|
+
}
|
|
5198
|
+
resolve(texture);
|
|
5199
|
+
}).catch(function(e) {
|
|
5200
|
+
reject(e);
|
|
5201
|
+
});
|
|
5202
|
+
});
|
|
5203
|
+
};
|
|
5204
|
+
return _class;
|
|
5205
|
+
}(ContentRestorer))(texture));
|
|
5078
5206
|
resolve(texture);
|
|
5079
5207
|
}).catch(function(e) {
|
|
5080
5208
|
reject(e);
|
|
@@ -5181,11 +5309,32 @@ var MeshLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5181
5309
|
_proto.load = function load(item, resourceManager) {
|
|
5182
5310
|
var _this = this;
|
|
5183
5311
|
return new AssetPromise(function(resolve, reject) {
|
|
5184
|
-
_this.request
|
|
5312
|
+
var request = _this.request;
|
|
5313
|
+
var engine = resourceManager.engine;
|
|
5314
|
+
request(item.url, _extends({}, item, {
|
|
5185
5315
|
type: "arraybuffer"
|
|
5186
5316
|
})).then(function(data) {
|
|
5187
|
-
return decode(data,
|
|
5317
|
+
return decode(data, engine);
|
|
5188
5318
|
}).then(function(mesh) {
|
|
5319
|
+
resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
|
|
5320
|
+
_inherits(_class, ContentRestorer);
|
|
5321
|
+
function _class() {
|
|
5322
|
+
return ContentRestorer.apply(this, arguments);
|
|
5323
|
+
}
|
|
5324
|
+
var _proto = _class.prototype;
|
|
5325
|
+
_proto.restoreContent = function restoreContent() {
|
|
5326
|
+
return new AssetPromise(function(resolve, reject) {
|
|
5327
|
+
request(item.url, _extends({}, item, {
|
|
5328
|
+
type: "arraybuffer"
|
|
5329
|
+
})).then(function(data) {
|
|
5330
|
+
return decode(data, engine, mesh);
|
|
5331
|
+
}).then(function(mesh) {
|
|
5332
|
+
resolve(mesh);
|
|
5333
|
+
}).catch(reject);
|
|
5334
|
+
});
|
|
5335
|
+
};
|
|
5336
|
+
return _class;
|
|
5337
|
+
}(ContentRestorer))(mesh));
|
|
5189
5338
|
resolve(mesh);
|
|
5190
5339
|
}).catch(reject);
|
|
5191
5340
|
});
|