@galacean/engine-loader 1.1.0-beta.3 → 1.1.0-beta.31
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 +384 -257
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +384 -257
- package/dist/module.js +386 -259
- package/dist/module.js.map +1 -1
- package/package.json +5 -5
- package/types/GLTFLoader.d.ts +1 -0
- package/types/Texture2DLoader.d.ts +9 -1
- package/types/gltf/GLTFUtil.d.ts +3 -3
- package/types/gltf/extensions/KHR_materials_anisotropy.d.ts +1 -0
- package/types/gltf/parser/GLTFParserContext.d.ts +4 -2
- package/types/gltf/parser/GLTFSceneParser.d.ts +0 -1
- package/types/index.d.ts +2 -1
- package/types/ktx2/KTX2Loader.d.ts +16 -5
- package/types/ktx2/transcoder/AbstractTranscoder.d.ts +1 -1
- package/types/ktx2/transcoder/BinomialLLCTranscoder.d.ts +1 -1
- package/types/ktx2/transcoder/BinomialLLCWorkerCode.d.ts +1 -1
- package/types/resource-deserialize/resources/parser/ReflectionParser.d.ts +12 -8
- package/types/resource-deserialize/resources/scene/SceneParser.d.ts +1 -0
- package/types/resource-deserialize/resources/scene/SceneParserContext.d.ts +3 -1
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +20 -15
- 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/main.js
CHANGED
|
@@ -120,116 +120,116 @@ var BufferReader = /*#__PURE__*/ function() {
|
|
|
120
120
|
this.data = data;
|
|
121
121
|
this._dataView = new DataView(data.buffer, data.byteOffset + byteOffset, byteLength != null ? byteLength : data.byteLength - byteOffset);
|
|
122
122
|
this._littleEndian = littleEndian;
|
|
123
|
-
this.
|
|
123
|
+
this._position = 0;
|
|
124
124
|
this._baseOffset = byteOffset;
|
|
125
125
|
}
|
|
126
126
|
var _proto = BufferReader.prototype;
|
|
127
127
|
_proto.nextUint8 = function nextUint8() {
|
|
128
|
-
var value = this._dataView.getUint8(this.
|
|
129
|
-
this.
|
|
128
|
+
var value = this._dataView.getUint8(this._position);
|
|
129
|
+
this._position += 1;
|
|
130
130
|
return value;
|
|
131
131
|
};
|
|
132
132
|
_proto.nextUint16 = function nextUint16() {
|
|
133
|
-
var value = this._dataView.getUint16(this.
|
|
134
|
-
this.
|
|
133
|
+
var value = this._dataView.getUint16(this._position, this._littleEndian);
|
|
134
|
+
this._position += 2;
|
|
135
135
|
return value;
|
|
136
136
|
};
|
|
137
137
|
_proto.nextUint32 = function nextUint32() {
|
|
138
|
-
var value = this._dataView.getUint32(this.
|
|
139
|
-
this.
|
|
138
|
+
var value = this._dataView.getUint32(this._position, this._littleEndian);
|
|
139
|
+
this._position += 4;
|
|
140
140
|
return value;
|
|
141
141
|
};
|
|
142
142
|
_proto.nextInt32 = function nextInt32() {
|
|
143
|
-
var value = this._dataView.getInt32(this.
|
|
144
|
-
this.
|
|
143
|
+
var value = this._dataView.getInt32(this._position, this._littleEndian);
|
|
144
|
+
this._position += 4;
|
|
145
145
|
return value;
|
|
146
146
|
};
|
|
147
147
|
_proto.nextInt32Array = function nextInt32Array(len) {
|
|
148
|
-
var value = new Int32Array(this.data.buffer, this.
|
|
149
|
-
this.
|
|
148
|
+
var value = new Int32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
149
|
+
this._position += 4 * len;
|
|
150
150
|
return value;
|
|
151
151
|
};
|
|
152
152
|
_proto.nextFloat32 = function nextFloat32() {
|
|
153
|
-
var value = this._dataView.getFloat32(this.
|
|
154
|
-
this.
|
|
153
|
+
var value = this._dataView.getFloat32(this._position, this._littleEndian);
|
|
154
|
+
this._position += 4;
|
|
155
155
|
return value;
|
|
156
156
|
};
|
|
157
157
|
_proto.nextFloat32Array = function nextFloat32Array(len) {
|
|
158
|
-
var value = new Float32Array(this.data.buffer, this.
|
|
159
|
-
this.
|
|
158
|
+
var value = new Float32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
159
|
+
this._position += 4 * len;
|
|
160
160
|
return value;
|
|
161
161
|
};
|
|
162
162
|
_proto.nextUint32Array = function nextUint32Array(len) {
|
|
163
|
-
var value = new Uint32Array(this.data.buffer, this.
|
|
164
|
-
this.
|
|
163
|
+
var value = new Uint32Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
164
|
+
this._position += 4 * len;
|
|
165
165
|
return value;
|
|
166
166
|
};
|
|
167
167
|
_proto.nextUint8Array = function nextUint8Array(len) {
|
|
168
|
-
var value = new Uint8Array(this.data.buffer, this.
|
|
169
|
-
this.
|
|
168
|
+
var value = new Uint8Array(this.data.buffer, this._position + this._dataView.byteOffset, len);
|
|
169
|
+
this._position += len;
|
|
170
170
|
return value;
|
|
171
171
|
};
|
|
172
172
|
_proto.nextUint64 = function nextUint64() {
|
|
173
|
-
var left = this._dataView.getUint32(this.
|
|
174
|
-
var right = this._dataView.getUint32(this.
|
|
173
|
+
var left = this._dataView.getUint32(this._position, this._littleEndian);
|
|
174
|
+
var right = this._dataView.getUint32(this._position + 4, this._littleEndian);
|
|
175
175
|
var value = left + Math.pow(2, 32) * right;
|
|
176
|
-
this.
|
|
176
|
+
this._position += 8;
|
|
177
177
|
return value;
|
|
178
178
|
};
|
|
179
179
|
_proto.nextStr = function nextStr() {
|
|
180
180
|
var strByteLength = this.nextUint16();
|
|
181
|
-
var uint8Array = new Uint8Array(this.data.buffer, this.
|
|
182
|
-
this.
|
|
181
|
+
var uint8Array = new Uint8Array(this.data.buffer, this._position + this._dataView.byteOffset, strByteLength);
|
|
182
|
+
this._position += strByteLength;
|
|
183
183
|
return engineCore.Utils.decodeText(uint8Array);
|
|
184
184
|
};
|
|
185
185
|
/**
|
|
186
186
|
* image data 放在最后
|
|
187
187
|
*/ _proto.nextImageData = function nextImageData(count) {
|
|
188
|
-
return new Uint8Array(this.data.buffer, this.data.byteOffset + this.
|
|
188
|
+
return new Uint8Array(this.data.buffer, this.data.byteOffset + this._position);
|
|
189
189
|
};
|
|
190
190
|
_proto.nextImagesData = function nextImagesData(count) {
|
|
191
191
|
var imagesLen = new Array(count);
|
|
192
192
|
// 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
|
|
193
193
|
for(var i = 0; i < count; i++){
|
|
194
|
-
var len = this._dataView.getUint32(this.
|
|
194
|
+
var len = this._dataView.getUint32(this._position, this._littleEndian);
|
|
195
195
|
imagesLen[i] = len;
|
|
196
|
-
this.
|
|
196
|
+
this._position += 4;
|
|
197
197
|
}
|
|
198
198
|
var imagesData = [];
|
|
199
199
|
for(var i1 = 0; i1 < count; i1++){
|
|
200
200
|
var len1 = imagesLen[i1];
|
|
201
|
-
var buffer = new Uint8Array(this.data.buffer, this._dataView.byteOffset + this.
|
|
202
|
-
this.
|
|
201
|
+
var buffer = new Uint8Array(this.data.buffer, this._dataView.byteOffset + this._position, len1);
|
|
202
|
+
this._position += len1;
|
|
203
203
|
imagesData.push(buffer);
|
|
204
204
|
}
|
|
205
205
|
return imagesData;
|
|
206
206
|
};
|
|
207
207
|
_proto.skip = function skip(bytes) {
|
|
208
|
-
this.
|
|
208
|
+
this._position += bytes;
|
|
209
209
|
return this;
|
|
210
210
|
};
|
|
211
211
|
_proto.scan = function scan(maxByteLength, term) {
|
|
212
212
|
if (term === void 0) term = 0x00;
|
|
213
|
-
var byteOffset = this.
|
|
213
|
+
var byteOffset = this._position;
|
|
214
214
|
var byteLength = 0;
|
|
215
|
-
while(this._dataView.getUint8(this.
|
|
215
|
+
while(this._dataView.getUint8(this._position) !== term && byteLength < maxByteLength){
|
|
216
216
|
byteLength++;
|
|
217
|
-
this.
|
|
217
|
+
this._position++;
|
|
218
218
|
}
|
|
219
|
-
if (byteLength < maxByteLength) this.
|
|
219
|
+
if (byteLength < maxByteLength) this._position++;
|
|
220
220
|
return new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + byteOffset, byteLength);
|
|
221
221
|
};
|
|
222
222
|
_create_class(BufferReader, [
|
|
223
223
|
{
|
|
224
224
|
key: "position",
|
|
225
225
|
get: function get() {
|
|
226
|
-
return this.
|
|
226
|
+
return this._position;
|
|
227
227
|
}
|
|
228
228
|
},
|
|
229
229
|
{
|
|
230
230
|
key: "offset",
|
|
231
231
|
get: function get() {
|
|
232
|
-
return this.
|
|
232
|
+
return this._position + this._baseOffset;
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
]);
|
|
@@ -293,75 +293,74 @@ exports.MeshDecoder = /*#__PURE__*/ function() {
|
|
|
293
293
|
var encodedMeshData = JSON.parse(jsonDataString);
|
|
294
294
|
// @ts-ignore Vector3 is not compatible with {x: number, y: number, z: number}.
|
|
295
295
|
encodedMeshData.bounds && modelMesh.bounds.copyFrom(encodedMeshData.bounds);
|
|
296
|
-
var offset = Math.ceil(bufferReader.offset / 4) * 4;
|
|
296
|
+
var offset = Math.ceil(bufferReader.offset / 4) * 4 + bufferReader.data.byteOffset;
|
|
297
297
|
var buffer = bufferReader.data.buffer;
|
|
298
|
-
var
|
|
299
|
-
var float32Array = new Float32Array(buffer, encodedMeshData.positions.start + offset + byteOffset, (encodedMeshData.positions.end - encodedMeshData.positions.start) / 4);
|
|
298
|
+
var float32Array = new Float32Array(buffer, encodedMeshData.positions.start + offset, (encodedMeshData.positions.end - encodedMeshData.positions.start) / 4);
|
|
300
299
|
var vertexCount = float32Array.length / 3;
|
|
301
300
|
var positions = float32ArrayToVector3(float32Array, vertexCount);
|
|
302
301
|
modelMesh.setPositions(positions);
|
|
303
302
|
if (encodedMeshData.normals) {
|
|
304
|
-
var float32Array1 = new Float32Array(buffer, encodedMeshData.normals.start + offset
|
|
303
|
+
var float32Array1 = new Float32Array(buffer, encodedMeshData.normals.start + offset, (encodedMeshData.normals.end - encodedMeshData.normals.start) / 4);
|
|
305
304
|
var normals = float32ArrayToVector3(float32Array1, vertexCount);
|
|
306
305
|
modelMesh.setNormals(normals);
|
|
307
306
|
}
|
|
308
307
|
if (encodedMeshData.uvs) {
|
|
309
|
-
var float32Array2 = new Float32Array(buffer, encodedMeshData.uvs.start + offset
|
|
308
|
+
var float32Array2 = new Float32Array(buffer, encodedMeshData.uvs.start + offset, (encodedMeshData.uvs.end - encodedMeshData.uvs.start) / 4);
|
|
310
309
|
modelMesh.setUVs(float32ArrayToVector2(float32Array2, vertexCount));
|
|
311
310
|
}
|
|
312
311
|
if (encodedMeshData.uv1) {
|
|
313
|
-
var float32Array3 = new Float32Array(buffer, encodedMeshData.uv1.start + offset
|
|
312
|
+
var float32Array3 = new Float32Array(buffer, encodedMeshData.uv1.start + offset, (encodedMeshData.uv1.end - encodedMeshData.uv1.start) / 4);
|
|
314
313
|
modelMesh.setUVs(float32ArrayToVector2(float32Array3, vertexCount), 1);
|
|
315
314
|
}
|
|
316
315
|
if (encodedMeshData.uv2) {
|
|
317
|
-
var float32Array4 = new Float32Array(buffer, encodedMeshData.uv2.start + offset
|
|
316
|
+
var float32Array4 = new Float32Array(buffer, encodedMeshData.uv2.start + offset, (encodedMeshData.uv2.end - encodedMeshData.uv2.start) / 4);
|
|
318
317
|
modelMesh.setUVs(float32ArrayToVector2(float32Array4, vertexCount), 2);
|
|
319
318
|
}
|
|
320
319
|
if (encodedMeshData.uv3) {
|
|
321
|
-
var float32Array5 = new Float32Array(buffer, encodedMeshData.uv3.start + offset
|
|
320
|
+
var float32Array5 = new Float32Array(buffer, encodedMeshData.uv3.start + offset, (encodedMeshData.uv3.end - encodedMeshData.uv3.start) / 4);
|
|
322
321
|
modelMesh.setUVs(float32ArrayToVector2(float32Array5, vertexCount), 3);
|
|
323
322
|
}
|
|
324
323
|
if (encodedMeshData.uv4) {
|
|
325
|
-
var float32Array6 = new Float32Array(buffer, encodedMeshData.uv4.start + offset
|
|
324
|
+
var float32Array6 = new Float32Array(buffer, encodedMeshData.uv4.start + offset, (encodedMeshData.uv4.end - encodedMeshData.uv4.start) / 4);
|
|
326
325
|
modelMesh.setUVs(float32ArrayToVector2(float32Array6, vertexCount), 4);
|
|
327
326
|
}
|
|
328
327
|
if (encodedMeshData.uv5) {
|
|
329
|
-
var float32Array7 = new Float32Array(buffer, encodedMeshData.uv5.start + offset
|
|
328
|
+
var float32Array7 = new Float32Array(buffer, encodedMeshData.uv5.start + offset, (encodedMeshData.uv5.end - encodedMeshData.uv5.start) / 4);
|
|
330
329
|
modelMesh.setUVs(float32ArrayToVector2(float32Array7, vertexCount), 5);
|
|
331
330
|
}
|
|
332
331
|
if (encodedMeshData.uv6) {
|
|
333
|
-
var float32Array8 = new Float32Array(buffer, encodedMeshData.uv6.start + offset
|
|
332
|
+
var float32Array8 = new Float32Array(buffer, encodedMeshData.uv6.start + offset, (encodedMeshData.uv6.end - encodedMeshData.uv6.start) / 4);
|
|
334
333
|
modelMesh.setUVs(float32ArrayToVector2(float32Array8, vertexCount), 6);
|
|
335
334
|
}
|
|
336
335
|
if (encodedMeshData.uv7) {
|
|
337
|
-
var float32Array9 = new Float32Array(buffer, encodedMeshData.uv7.start + offset
|
|
336
|
+
var float32Array9 = new Float32Array(buffer, encodedMeshData.uv7.start + offset, (encodedMeshData.uv7.end - encodedMeshData.uv7.start) / 4);
|
|
338
337
|
modelMesh.setUVs(float32ArrayToVector2(float32Array9, vertexCount), 7);
|
|
339
338
|
}
|
|
340
339
|
if (encodedMeshData.colors) {
|
|
341
|
-
var float32Array10 = new Float32Array(buffer, encodedMeshData.colors.start + offset
|
|
340
|
+
var float32Array10 = new Float32Array(buffer, encodedMeshData.colors.start + offset, (encodedMeshData.colors.end - encodedMeshData.colors.start) / 4);
|
|
342
341
|
modelMesh.setColors(float32ArrayToVColor(float32Array10, vertexCount));
|
|
343
342
|
}
|
|
344
343
|
if (encodedMeshData.boneWeights) {
|
|
345
|
-
var float32Array11 = new Float32Array(buffer, encodedMeshData.boneWeights.start + offset
|
|
344
|
+
var float32Array11 = new Float32Array(buffer, encodedMeshData.boneWeights.start + offset, (encodedMeshData.boneWeights.end - encodedMeshData.boneWeights.start) / 4);
|
|
346
345
|
modelMesh.setBoneWeights(float32ArrayToVector4(float32Array11, vertexCount));
|
|
347
346
|
}
|
|
348
347
|
if (encodedMeshData.boneIndices) {
|
|
349
|
-
var float32Array12 = new Float32Array(buffer, encodedMeshData.boneIndices.start + offset
|
|
348
|
+
var float32Array12 = new Float32Array(buffer, encodedMeshData.boneIndices.start + offset, (encodedMeshData.boneIndices.end - encodedMeshData.boneIndices.start) / 4);
|
|
350
349
|
modelMesh.setBoneIndices(float32ArrayToVector4(float32Array12, vertexCount));
|
|
351
350
|
}
|
|
352
351
|
if (encodedMeshData.blendShapes) {
|
|
353
352
|
encodedMeshData.blendShapes.forEach(function(blendShapeData) {
|
|
354
353
|
var blendShape = new engineCore.BlendShape(blendShapeData.name);
|
|
355
354
|
blendShapeData.frames.forEach(function(frameData) {
|
|
356
|
-
var positionArray = new Float32Array(buffer, frameData.deltaPosition.start + offset
|
|
355
|
+
var positionArray = new Float32Array(buffer, frameData.deltaPosition.start + offset, (frameData.deltaPosition.end - frameData.deltaPosition.start) / 4);
|
|
357
356
|
var count = positionArray.length / 3;
|
|
358
357
|
var deltaPosition = float32ArrayToVector3(positionArray, count);
|
|
359
358
|
if (frameData.deltaNormals) {
|
|
360
|
-
var normalsArray = new Float32Array(buffer, frameData.deltaNormals.start + offset
|
|
359
|
+
var normalsArray = new Float32Array(buffer, frameData.deltaNormals.start + offset, (frameData.deltaNormals.end - frameData.deltaNormals.start) / 4);
|
|
361
360
|
float32ArrayToVector3(normalsArray, count);
|
|
362
361
|
}
|
|
363
362
|
if (frameData.deltaTangents) {
|
|
364
|
-
var tangentsArray = new Float32Array(buffer, frameData.deltaTangents.start + offset
|
|
363
|
+
var tangentsArray = new Float32Array(buffer, frameData.deltaTangents.start + offset, (frameData.deltaTangents.end - frameData.deltaTangents.start) / 4);
|
|
365
364
|
float32ArrayToVector4(tangentsArray, count);
|
|
366
365
|
}
|
|
367
366
|
blendShape.addFrame(frameData.weight, deltaPosition);
|
|
@@ -372,9 +371,9 @@ exports.MeshDecoder = /*#__PURE__*/ function() {
|
|
|
372
371
|
if (encodedMeshData.indices) {
|
|
373
372
|
var indices = null;
|
|
374
373
|
if (encodedMeshData.indices.type === 0) {
|
|
375
|
-
indices = new Uint16Array(buffer, encodedMeshData.indices.start + offset
|
|
374
|
+
indices = new Uint16Array(buffer, encodedMeshData.indices.start + offset, (encodedMeshData.indices.end - encodedMeshData.indices.start) / 2);
|
|
376
375
|
} else {
|
|
377
|
-
indices = new Uint32Array(buffer, encodedMeshData.indices.start + offset
|
|
376
|
+
indices = new Uint32Array(buffer, encodedMeshData.indices.start + offset, (encodedMeshData.indices.end - encodedMeshData.indices.start) / 4);
|
|
378
377
|
}
|
|
379
378
|
modelMesh.setIndices(indices);
|
|
380
379
|
}
|
|
@@ -527,87 +526,50 @@ function _construct(Parent, args, Class) {
|
|
|
527
526
|
}
|
|
528
527
|
|
|
529
528
|
var ReflectionParser = /*#__PURE__*/ function() {
|
|
530
|
-
function ReflectionParser() {
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
return
|
|
529
|
+
function ReflectionParser(_context) {
|
|
530
|
+
this._context = _context;
|
|
531
|
+
}
|
|
532
|
+
var _proto = ReflectionParser.prototype;
|
|
533
|
+
_proto.parseEntity = function parseEntity(entityConfig) {
|
|
534
|
+
return this._getEntityByConfig(entityConfig).then(function(entity) {
|
|
536
535
|
var _entityConfig_isActive;
|
|
537
536
|
entity.isActive = (_entityConfig_isActive = entityConfig.isActive) != null ? _entityConfig_isActive : true;
|
|
538
537
|
var position = entityConfig.position, rotation = entityConfig.rotation, scale = entityConfig.scale;
|
|
539
538
|
if (position) entity.transform.position.copyFrom(position);
|
|
540
539
|
if (rotation) entity.transform.rotation.copyFrom(rotation);
|
|
541
540
|
if (scale) entity.transform.scale.copyFrom(scale);
|
|
541
|
+
var _entityConfig_layer;
|
|
542
|
+
entity.layer = (_entityConfig_layer = entityConfig.layer) != null ? _entityConfig_layer : entity.layer;
|
|
542
543
|
return entity;
|
|
543
544
|
});
|
|
544
545
|
};
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
var assetRefId = entityConfig.assetRefId;
|
|
548
|
-
if (assetRefId) {
|
|
549
|
-
return engine.resourceManager// @ts-ignore
|
|
550
|
-
.getResourceByRef({
|
|
551
|
-
refId: assetRefId,
|
|
552
|
-
key: entityConfig.key,
|
|
553
|
-
isClone: entityConfig.isClone
|
|
554
|
-
}).then(function(entity) {
|
|
555
|
-
entity.name = entityConfig.name;
|
|
556
|
-
return entity;
|
|
557
|
-
});
|
|
558
|
-
} else {
|
|
559
|
-
var entity = new engineCore.Entity(engine, entityConfig.name);
|
|
560
|
-
return Promise.resolve(entity);
|
|
561
|
-
}
|
|
562
|
-
};
|
|
563
|
-
ReflectionParser.parseClassObject = function parseClassObject(item, engine, resourceManager) {
|
|
564
|
-
if (resourceManager === void 0) resourceManager = engine.resourceManager;
|
|
546
|
+
_proto.parseClassObject = function parseClassObject(item) {
|
|
547
|
+
var _this = this;
|
|
565
548
|
var Class = engineCore.Loader.getClass(item.class);
|
|
566
549
|
var _item_constructParams;
|
|
567
550
|
var params = (_item_constructParams = item.constructParams) != null ? _item_constructParams : [];
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
return Promise.all(value.map(function(item) {
|
|
576
|
-
return _this.parseBasicType(item, engine, resourceManager);
|
|
577
|
-
}));
|
|
578
|
-
} else if (typeof value === "object" && value != null) {
|
|
579
|
-
if (this._isClass(value)) {
|
|
580
|
-
// class object
|
|
581
|
-
return this.parseClassObject(value, engine, resourceManager);
|
|
582
|
-
} else if (this._isRef(value)) {
|
|
583
|
-
// reference object
|
|
584
|
-
return resourceManager.getResourceByRef(value);
|
|
585
|
-
} else {
|
|
586
|
-
// basic type
|
|
587
|
-
return Promise.resolve(value);
|
|
588
|
-
}
|
|
589
|
-
} else {
|
|
590
|
-
return Promise.resolve(value);
|
|
591
|
-
}
|
|
551
|
+
return Promise.all(params.map(function(param) {
|
|
552
|
+
return _this.parseBasicType(param);
|
|
553
|
+
})).then(function(resultParams) {
|
|
554
|
+
return _construct(Class, [].concat(resultParams));
|
|
555
|
+
}).then(function(instance) {
|
|
556
|
+
return _this.parsePropsAndMethods(instance, item);
|
|
557
|
+
});
|
|
592
558
|
};
|
|
593
|
-
|
|
594
|
-
if (resourceManager === void 0) resourceManager = engine.resourceManager;
|
|
595
|
-
var _this = this;
|
|
559
|
+
_proto.parsePropsAndMethods = function parsePropsAndMethods(instance, item) {
|
|
596
560
|
var promises = [];
|
|
597
561
|
if (item.methods) {
|
|
598
562
|
for(var methodName in item.methods){
|
|
599
563
|
var methodParams = item.methods[methodName];
|
|
600
564
|
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
601
|
-
|
|
602
|
-
var promise = this.parseMethod(instance, methodName, params, engine, resourceManager);
|
|
603
|
-
promises.push(promise);
|
|
565
|
+
promises.push(this.parseMethod(instance, methodName, methodParams[i]));
|
|
604
566
|
}
|
|
605
567
|
}
|
|
606
568
|
}
|
|
607
569
|
if (item.props) {
|
|
608
|
-
var
|
|
570
|
+
var _this = this, _loop = function(key) {
|
|
609
571
|
var value = item.props[key];
|
|
610
|
-
var promise =
|
|
572
|
+
var promise = _this.parseBasicType(value, instance[key]).then(function(v) {
|
|
611
573
|
return instance[key] = v;
|
|
612
574
|
});
|
|
613
575
|
promises.push(promise);
|
|
@@ -615,27 +577,96 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
615
577
|
for(var key in item.props)_loop(key);
|
|
616
578
|
}
|
|
617
579
|
return Promise.all(promises).then(function() {
|
|
618
|
-
var handle =
|
|
619
|
-
if (handle) return handle(instance, item
|
|
580
|
+
var handle = ReflectionParser.customParseComponentHandles[instance.constructor.name];
|
|
581
|
+
if (handle) return handle(instance, item);
|
|
620
582
|
else return instance;
|
|
621
583
|
});
|
|
622
584
|
};
|
|
623
|
-
|
|
624
|
-
if (resourceManager === void 0) resourceManager = engine.resourceManager;
|
|
585
|
+
_proto.parseMethod = function parseMethod(instance, methodName, methodParams) {
|
|
625
586
|
var _this = this;
|
|
626
587
|
return Promise.all(methodParams.map(function(param) {
|
|
627
|
-
return _this.parseBasicType(param
|
|
588
|
+
return _this.parseBasicType(param);
|
|
628
589
|
})).then(function(result) {
|
|
629
590
|
var _instance;
|
|
630
591
|
return (_instance = instance)[methodName].apply(_instance, [].concat(result));
|
|
631
592
|
});
|
|
632
593
|
};
|
|
594
|
+
_proto.parseBasicType = function parseBasicType(value, originValue) {
|
|
595
|
+
var _this = this;
|
|
596
|
+
if (Array.isArray(value)) {
|
|
597
|
+
return Promise.all(value.map(function(item) {
|
|
598
|
+
return _this.parseBasicType(item);
|
|
599
|
+
}));
|
|
600
|
+
} else if (typeof value === "object" && value != null) {
|
|
601
|
+
if (ReflectionParser._isClass(value)) {
|
|
602
|
+
// class object
|
|
603
|
+
return this.parseClassObject(value);
|
|
604
|
+
} else if (ReflectionParser._isAssetRef(value)) {
|
|
605
|
+
// reference object
|
|
606
|
+
// @ts-ignore
|
|
607
|
+
return this._context.resourceManager.getResourceByRef(value);
|
|
608
|
+
} else if (ReflectionParser._isEntityRef(value)) {
|
|
609
|
+
// entity reference
|
|
610
|
+
return Promise.resolve(this._context.entityMap.get(value.entityId));
|
|
611
|
+
} else if (originValue) {
|
|
612
|
+
var _this1 = this, _loop = function(key) {
|
|
613
|
+
if (key === "methods") {
|
|
614
|
+
var methods = value[key];
|
|
615
|
+
for(var methodName in methods){
|
|
616
|
+
var methodParams = methods[methodName];
|
|
617
|
+
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
618
|
+
var params = methodParams[i];
|
|
619
|
+
var promise = _this1.parseMethod(originValue, methodName, params);
|
|
620
|
+
promises.push(promise);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
} else {
|
|
624
|
+
promises.push(_this1.parseBasicType(value[key], originValue[key]).then(function(v) {
|
|
625
|
+
return originValue[key] = v;
|
|
626
|
+
}));
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
var promises = [];
|
|
630
|
+
for(var key in value)_loop(key);
|
|
631
|
+
return Promise.all(promises).then(function() {
|
|
632
|
+
return originValue;
|
|
633
|
+
});
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
// primitive type
|
|
637
|
+
return Promise.resolve(value);
|
|
638
|
+
};
|
|
639
|
+
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig) {
|
|
640
|
+
// @ts-ignore
|
|
641
|
+
var assetRefId = entityConfig.assetRefId;
|
|
642
|
+
var engine = this._context.engine;
|
|
643
|
+
if (assetRefId) {
|
|
644
|
+
return engine.resourceManager// @ts-ignore
|
|
645
|
+
.getResourceByRef({
|
|
646
|
+
refId: assetRefId,
|
|
647
|
+
key: entityConfig.key,
|
|
648
|
+
isClone: entityConfig.isClone
|
|
649
|
+
}).then(function(entity) {
|
|
650
|
+
entity.name = entityConfig.name;
|
|
651
|
+
return entity;
|
|
652
|
+
});
|
|
653
|
+
} else {
|
|
654
|
+
var entity = new engineCore.Entity(engine, entityConfig.name);
|
|
655
|
+
return Promise.resolve(entity);
|
|
656
|
+
}
|
|
657
|
+
};
|
|
658
|
+
ReflectionParser.registerCustomParseComponent = function registerCustomParseComponent(componentType, handle) {
|
|
659
|
+
this.customParseComponentHandles[componentType] = handle;
|
|
660
|
+
};
|
|
633
661
|
ReflectionParser._isClass = function _isClass(value) {
|
|
634
662
|
return value["class"] != undefined;
|
|
635
663
|
};
|
|
636
|
-
ReflectionParser.
|
|
664
|
+
ReflectionParser._isAssetRef = function _isAssetRef(value) {
|
|
637
665
|
return value["refId"] != undefined;
|
|
638
666
|
};
|
|
667
|
+
ReflectionParser._isEntityRef = function _isEntityRef(value) {
|
|
668
|
+
return value["entityId"] != undefined;
|
|
669
|
+
};
|
|
639
670
|
return ReflectionParser;
|
|
640
671
|
}();
|
|
641
672
|
(function() {
|
|
@@ -903,6 +934,8 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
903
934
|
this.assets = new Map();
|
|
904
935
|
this.entityConfigMap = new Map();
|
|
905
936
|
this.rootIds = [];
|
|
937
|
+
this.engine = scene.engine;
|
|
938
|
+
this.resourceManager = scene.engine.resourceManager;
|
|
906
939
|
}
|
|
907
940
|
var _proto = SceneParserContext.prototype;
|
|
908
941
|
_proto.destroy = function destroy() {
|
|
@@ -919,7 +952,7 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
919
952
|
function SceneParser(context) {
|
|
920
953
|
var _this = this;
|
|
921
954
|
this.context = context;
|
|
922
|
-
this._engine =
|
|
955
|
+
this._engine = context.scene.engine;
|
|
923
956
|
this._organizeEntities = this._organizeEntities.bind(this);
|
|
924
957
|
this._parseComponents = this._parseComponents.bind(this);
|
|
925
958
|
this._clearAndResolveScene = this._clearAndResolveScene.bind(this);
|
|
@@ -927,22 +960,24 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
927
960
|
_this._reject = reject;
|
|
928
961
|
_this._resolve = resolve;
|
|
929
962
|
});
|
|
963
|
+
this._reflectionParser = new ReflectionParser(context);
|
|
930
964
|
}
|
|
931
965
|
var _proto = SceneParser.prototype;
|
|
932
966
|
/** start parse the scene */ _proto.start = function start() {
|
|
933
967
|
this._parseEntities().then(this._organizeEntities).then(this._parseComponents).then(this._clearAndResolveScene).then(this._resolve).catch(this._reject);
|
|
934
968
|
};
|
|
935
969
|
_proto._parseEntities = function _parseEntities() {
|
|
970
|
+
var _this = this;
|
|
936
971
|
var entitiesConfig = this.context.originalData.entities;
|
|
937
972
|
var entityConfigMap = this.context.entityConfigMap;
|
|
938
973
|
var entitiesMap = this.context.entityMap;
|
|
939
974
|
var rootIds = this.context.rootIds;
|
|
940
|
-
|
|
975
|
+
this._engine;
|
|
941
976
|
var promises = entitiesConfig.map(function(entityConfig) {
|
|
942
977
|
entityConfigMap.set(entityConfig.id, entityConfig);
|
|
943
978
|
// record root entities
|
|
944
979
|
if (!entityConfig.parent) rootIds.push(entityConfig.id);
|
|
945
|
-
return
|
|
980
|
+
return _this._reflectionParser.parseEntity(entityConfig);
|
|
946
981
|
});
|
|
947
982
|
return Promise.all(promises).then(function(entities) {
|
|
948
983
|
for(var i = 0, l = entities.length; i < l; i++){
|
|
@@ -980,7 +1015,7 @@ var SceneParserContext = /*#__PURE__*/ function() {
|
|
|
980
1015
|
component = entity.getComponent(engineCore.Loader.getClass(key));
|
|
981
1016
|
}
|
|
982
1017
|
component = component || entity.addComponent(engineCore.Loader.getClass(key));
|
|
983
|
-
var promise =
|
|
1018
|
+
var promise = this._reflectionParser.parsePropsAndMethods(component, componentConfig);
|
|
984
1019
|
promises.push(promise);
|
|
985
1020
|
}
|
|
986
1021
|
}
|
|
@@ -1536,10 +1571,10 @@ var TextureWrapMode;
|
|
|
1536
1571
|
/**
|
|
1537
1572
|
* @internal
|
|
1538
1573
|
*/ var GLTFParserContext = /*#__PURE__*/ function() {
|
|
1539
|
-
function GLTFParserContext(glTFResource, resourceManager,
|
|
1574
|
+
function GLTFParserContext(glTFResource, resourceManager, params) {
|
|
1540
1575
|
this.glTFResource = glTFResource;
|
|
1541
1576
|
this.resourceManager = resourceManager;
|
|
1542
|
-
this.
|
|
1577
|
+
this.params = params;
|
|
1543
1578
|
this.accessorBufferCache = {};
|
|
1544
1579
|
this._resourceCache = new Map();
|
|
1545
1580
|
this.contentRestorer = new GLTFContentRestorer(glTFResource);
|
|
@@ -1593,11 +1628,37 @@ var TextureWrapMode;
|
|
|
1593
1628
|
_this.get(9),
|
|
1594
1629
|
_this.get(2)
|
|
1595
1630
|
]).then(function() {
|
|
1631
|
+
var glTFResource = _this.glTFResource;
|
|
1632
|
+
if (glTFResource.skins || glTFResource.animations) {
|
|
1633
|
+
_this._createAnimator(_this, glTFResource.animations);
|
|
1634
|
+
}
|
|
1596
1635
|
_this.resourceManager.addContentRestorer(_this.contentRestorer);
|
|
1597
|
-
return
|
|
1636
|
+
return glTFResource;
|
|
1598
1637
|
});
|
|
1599
1638
|
});
|
|
1600
1639
|
};
|
|
1640
|
+
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
1641
|
+
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
1642
|
+
var animator = defaultSceneRoot.addComponent(engineCore.Animator);
|
|
1643
|
+
var animatorController = new engineCore.AnimatorController();
|
|
1644
|
+
var layer = new engineCore.AnimatorControllerLayer("layer");
|
|
1645
|
+
var animatorStateMachine = new engineCore.AnimatorStateMachine();
|
|
1646
|
+
animatorController.addLayer(layer);
|
|
1647
|
+
animator.animatorController = animatorController;
|
|
1648
|
+
layer.stateMachine = animatorStateMachine;
|
|
1649
|
+
if (animations) {
|
|
1650
|
+
for(var i = 0; i < animations.length; i++){
|
|
1651
|
+
var animationClip = animations[i];
|
|
1652
|
+
var name = animationClip.name;
|
|
1653
|
+
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
1654
|
+
if (uniqueName !== name) {
|
|
1655
|
+
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
1656
|
+
}
|
|
1657
|
+
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
1658
|
+
animatorState.clip = animationClip;
|
|
1659
|
+
}
|
|
1660
|
+
}
|
|
1661
|
+
};
|
|
1601
1662
|
_proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
|
|
1602
1663
|
var _this = this;
|
|
1603
1664
|
var glTFResourceKey = glTFResourceMap[type];
|
|
@@ -2237,7 +2298,7 @@ var SupercompressionScheme;
|
|
|
2237
2298
|
alphaSliceByteLength: sgdReader.nextUint32()
|
|
2238
2299
|
};
|
|
2239
2300
|
}
|
|
2240
|
-
var endpointsByteOffset = sgdByteOffset + sgdReader.
|
|
2301
|
+
var endpointsByteOffset = sgdByteOffset + sgdReader.position;
|
|
2241
2302
|
var selectorsByteOffset = endpointsByteOffset + endpointsByteLength;
|
|
2242
2303
|
var tablesByteOffset = selectorsByteOffset + selectorsByteLength;
|
|
2243
2304
|
var extendedByteOffset = tablesByteOffset + tablesByteLength;
|
|
@@ -2429,6 +2490,25 @@ var AbstractTranscoder = /*#__PURE__*/ function() {
|
|
|
2429
2490
|
}();
|
|
2430
2491
|
|
|
2431
2492
|
/** @internal */ function TranscodeWorkerCode$1() {
|
|
2493
|
+
var initPromise;
|
|
2494
|
+
var init = function init(wasmBinary) {
|
|
2495
|
+
if (!initPromise) {
|
|
2496
|
+
initPromise = new Promise(function(resolve, reject) {
|
|
2497
|
+
var BasisModule = {
|
|
2498
|
+
wasmBinary: wasmBinary,
|
|
2499
|
+
onRuntimeInitialized: function() {
|
|
2500
|
+
return resolve(BasisModule);
|
|
2501
|
+
},
|
|
2502
|
+
onAbort: reject
|
|
2503
|
+
};
|
|
2504
|
+
self["BASIS"](BasisModule);
|
|
2505
|
+
}).then(function(BasisModule) {
|
|
2506
|
+
BasisModule.initializeBasis();
|
|
2507
|
+
return BasisModule.KTX2File;
|
|
2508
|
+
});
|
|
2509
|
+
}
|
|
2510
|
+
return initPromise;
|
|
2511
|
+
};
|
|
2432
2512
|
self.onmessage = function onmessage(event) {
|
|
2433
2513
|
var message = event.data;
|
|
2434
2514
|
switch(message.type){
|
|
@@ -2543,6 +2623,10 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2543
2623
|
cleanup();
|
|
2544
2624
|
throw new Error("Invalid or unsupported .ktx2 file");
|
|
2545
2625
|
}
|
|
2626
|
+
if (!ktx2File.startTranscoding()) {
|
|
2627
|
+
cleanup();
|
|
2628
|
+
throw new Error("KTX2 startTranscoding failed");
|
|
2629
|
+
}
|
|
2546
2630
|
var width = ktx2File.getWidth();
|
|
2547
2631
|
var height = ktx2File.getHeight();
|
|
2548
2632
|
var layerCount = ktx2File.getLayers() || 1;
|
|
@@ -2551,6 +2635,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2551
2635
|
var faceCount = ktx2File.getFaces();
|
|
2552
2636
|
var format = getTranscodeFormatFromTarget(targetFormat, hasAlpha);
|
|
2553
2637
|
var faces = new Array(faceCount);
|
|
2638
|
+
var isBC = format === 2 || format === 3 || format === 7;
|
|
2554
2639
|
for(var face = 0; face < faceCount; face++){
|
|
2555
2640
|
var mipmaps = new Array(levelCount);
|
|
2556
2641
|
for(var mip = 0; mip < levelCount; mip++){
|
|
@@ -2558,8 +2643,15 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2558
2643
|
var mipWidth = void 0, mipHeight = void 0;
|
|
2559
2644
|
for(var layer = 0; layer < layerCount; layer++){
|
|
2560
2645
|
var levelInfo = ktx2File.getImageLevelInfo(mip, layer, face);
|
|
2561
|
-
|
|
2562
|
-
|
|
2646
|
+
// see: https://github.com/KhronosGroup/KTX-Software/issues/254
|
|
2647
|
+
if (isBC && mip === 0 && (width !== levelInfo.width || height !== levelInfo.height)) {
|
|
2648
|
+
width = mipWidth = levelInfo.width;
|
|
2649
|
+
height = mipHeight = levelInfo.height;
|
|
2650
|
+
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.");
|
|
2651
|
+
} else {
|
|
2652
|
+
mipWidth = levelInfo.origWidth;
|
|
2653
|
+
mipHeight = levelInfo.origHeight;
|
|
2654
|
+
}
|
|
2563
2655
|
var dst = new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip, layer, 0, format));
|
|
2564
2656
|
var status = ktx2File.transcodeImage(dst, mip, layer, face, format, 0, -1, -1);
|
|
2565
2657
|
if (!status) {
|
|
@@ -2625,7 +2717,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2625
2717
|
} else {
|
|
2626
2718
|
var funcCode = TranscodeWorkerCode$1.toString();
|
|
2627
2719
|
var transcodeString = funcCode.substring(funcCode.indexOf("{"), funcCode.lastIndexOf("}") + 1);
|
|
2628
|
-
var workerCode = "\n " + jsCode + "\n
|
|
2720
|
+
var workerCode = "\n " + jsCode + "\n " + transcode.toString() + "\n " + transcodeString + "\n ";
|
|
2629
2721
|
var workerURL = URL.createObjectURL(new Blob([
|
|
2630
2722
|
workerCode
|
|
2631
2723
|
], {
|
|
@@ -2871,10 +2963,14 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2871
2963
|
return Loader1.apply(this, arguments);
|
|
2872
2964
|
}
|
|
2873
2965
|
var _proto = KTX2Loader1.prototype;
|
|
2874
|
-
_proto.initialize = function initialize(
|
|
2966
|
+
_proto.initialize = function initialize(_, configuration) {
|
|
2875
2967
|
if (configuration.ktx2Loader) {
|
|
2876
2968
|
var options = configuration.ktx2Loader;
|
|
2877
|
-
if (
|
|
2969
|
+
if (options.priorityFormats) {
|
|
2970
|
+
exports.KTX2Loader._priorityFormats["etc1s"] = options.priorityFormats;
|
|
2971
|
+
exports.KTX2Loader._priorityFormats["uastc"] = options.priorityFormats;
|
|
2972
|
+
}
|
|
2973
|
+
if (options.transcoder === /** Khronos transcoder. */ 1) {
|
|
2878
2974
|
return exports.KTX2Loader._getKhronosTranscoder(options.workerCount).init();
|
|
2879
2975
|
} else {
|
|
2880
2976
|
return exports.KTX2Loader._getBinomialLLCTranscoder(options.workerCount).init();
|
|
@@ -2893,27 +2989,6 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2893
2989
|
});
|
|
2894
2990
|
});
|
|
2895
2991
|
};
|
|
2896
|
-
_proto._isKhronosSupported = function _isKhronosSupported(priorityFormats, engine) {
|
|
2897
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
2898
|
-
exports.KTX2TargetFormat.ASTC,
|
|
2899
|
-
exports.KTX2TargetFormat.ETC,
|
|
2900
|
-
exports.KTX2TargetFormat.BC7,
|
|
2901
|
-
exports.KTX2TargetFormat.BC1_BC3,
|
|
2902
|
-
exports.KTX2TargetFormat.PVRTC,
|
|
2903
|
-
exports.KTX2TargetFormat.R8G8B8A8
|
|
2904
|
-
];
|
|
2905
|
-
var supportedList = new Array();
|
|
2906
|
-
if (Array.isArray(priorityFormats[0])) {
|
|
2907
|
-
for(var i = 0; i < priorityFormats.length; i++){
|
|
2908
|
-
supportedList.push(exports.KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats[i]));
|
|
2909
|
-
}
|
|
2910
|
-
} else {
|
|
2911
|
-
supportedList.push(exports.KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats));
|
|
2912
|
-
}
|
|
2913
|
-
return supportedList.every(function(format) {
|
|
2914
|
-
return KhronosTranscoder.transcoderMap[format];
|
|
2915
|
-
});
|
|
2916
|
-
};
|
|
2917
2992
|
/**
|
|
2918
2993
|
* Destroy ktx2 transcoder worker.
|
|
2919
2994
|
*/ KTX2Loader1.destroy = function destroy() {
|
|
@@ -2926,7 +3001,8 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2926
3001
|
/** @internal */ KTX2Loader1._parseBuffer = function _parseBuffer(buffer, engine, params) {
|
|
2927
3002
|
var _params;
|
|
2928
3003
|
var ktx2Container = new KTX2Container(buffer);
|
|
2929
|
-
var
|
|
3004
|
+
var _params_priorityFormats;
|
|
3005
|
+
var formatPriorities = (_params_priorityFormats = (_params = params) == null ? void 0 : _params.priorityFormats) != null ? _params_priorityFormats : exports.KTX2Loader._priorityFormats[ktx2Container.isUASTC ? "uastc" : "etc1s"];
|
|
2930
3006
|
var targetFormat = exports.KTX2Loader._decideTargetFormat(engine, ktx2Container, formatPriorities);
|
|
2931
3007
|
var transcodeResultPromise;
|
|
2932
3008
|
if (exports.KTX2Loader._isBinomialInit || !KhronosTranscoder.transcoderMap[targetFormat] || !ktx2Container.isUASTC) {
|
|
@@ -2993,18 +3069,22 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2993
3069
|
return targetFormat;
|
|
2994
3070
|
};
|
|
2995
3071
|
KTX2Loader1._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats) {
|
|
2996
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
2997
|
-
exports.KTX2TargetFormat.ASTC,
|
|
2998
|
-
exports.KTX2TargetFormat.ETC,
|
|
2999
|
-
exports.KTX2TargetFormat.BC7,
|
|
3000
|
-
exports.KTX2TargetFormat.BC1_BC3,
|
|
3001
|
-
exports.KTX2TargetFormat.PVRTC
|
|
3002
|
-
];
|
|
3003
3072
|
for(var i = 0; i < priorityFormats.length; i++){
|
|
3004
|
-
var
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3073
|
+
var format = priorityFormats[i];
|
|
3074
|
+
var capabilities = this._supportedMap[format];
|
|
3075
|
+
if (capabilities) {
|
|
3076
|
+
for(var j = 0; j < capabilities.length; j++){
|
|
3077
|
+
if (renderer.canIUse(capabilities[j])) {
|
|
3078
|
+
return format;
|
|
3079
|
+
}
|
|
3080
|
+
}
|
|
3081
|
+
} else {
|
|
3082
|
+
switch(priorityFormats[i]){
|
|
3083
|
+
case exports.KTX2TargetFormat.R8G8B8A8:
|
|
3084
|
+
return format;
|
|
3085
|
+
case exports.KTX2TargetFormat.R8:
|
|
3086
|
+
case exports.KTX2TargetFormat.R8G8:
|
|
3087
|
+
if (renderer.isWebGL2) return format;
|
|
3008
3088
|
}
|
|
3009
3089
|
}
|
|
3010
3090
|
}
|
|
@@ -3041,6 +3121,23 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3041
3121
|
return KTX2Loader1;
|
|
3042
3122
|
}(engineCore.Loader), function() {
|
|
3043
3123
|
_KTX2Loader._isBinomialInit = false;
|
|
3124
|
+
}(), function() {
|
|
3125
|
+
_KTX2Loader._priorityFormats = {
|
|
3126
|
+
etc1s: [
|
|
3127
|
+
exports.KTX2TargetFormat.ETC,
|
|
3128
|
+
exports.KTX2TargetFormat.BC7,
|
|
3129
|
+
exports.KTX2TargetFormat.ASTC,
|
|
3130
|
+
exports.KTX2TargetFormat.BC1_BC3,
|
|
3131
|
+
exports.KTX2TargetFormat.PVRTC
|
|
3132
|
+
],
|
|
3133
|
+
uastc: [
|
|
3134
|
+
exports.KTX2TargetFormat.ASTC,
|
|
3135
|
+
exports.KTX2TargetFormat.BC7,
|
|
3136
|
+
exports.KTX2TargetFormat.ETC,
|
|
3137
|
+
exports.KTX2TargetFormat.BC1_BC3,
|
|
3138
|
+
exports.KTX2TargetFormat.PVRTC
|
|
3139
|
+
]
|
|
3140
|
+
};
|
|
3044
3141
|
}(), function() {
|
|
3045
3142
|
var _obj;
|
|
3046
3143
|
_KTX2Loader._supportedMap = (_obj = {}, _obj[exports.KTX2TargetFormat.ASTC] = [
|
|
@@ -3061,6 +3158,11 @@ exports.KTX2Loader = __decorate([
|
|
|
3061
3158
|
"ktx2"
|
|
3062
3159
|
])
|
|
3063
3160
|
], exports.KTX2Loader);
|
|
3161
|
+
exports.KTX2Transcoder = void 0;
|
|
3162
|
+
(function(KTX2Transcoder) {
|
|
3163
|
+
KTX2Transcoder[KTX2Transcoder[/** BinomialLLC transcoder. */ "BinomialLLC"] = 0] = "BinomialLLC";
|
|
3164
|
+
KTX2Transcoder[KTX2Transcoder["Khronos"] = 1] = "Khronos";
|
|
3165
|
+
})(exports.KTX2Transcoder || (exports.KTX2Transcoder = {}));
|
|
3064
3166
|
|
|
3065
3167
|
/**
|
|
3066
3168
|
* @internal
|
|
@@ -3504,6 +3606,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3504
3606
|
var promises = new Array();
|
|
3505
3607
|
// parse samplers
|
|
3506
3608
|
for(var j = 0, m = samplers.length; j < m; j++)_loop(j);
|
|
3609
|
+
promises.push(context.get(exports.GLTFParserType.Scene));
|
|
3507
3610
|
return Promise.all(promises).then(function() {
|
|
3508
3611
|
for(var j = 0, m = channels.length; j < m; j++){
|
|
3509
3612
|
var gltfChannel = channels[j];
|
|
@@ -3515,6 +3618,10 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3515
3618
|
relativePath = relativePath === "" ? "" + entity.name : entity.name + "/" + relativePath;
|
|
3516
3619
|
entity = entity.parent;
|
|
3517
3620
|
}
|
|
3621
|
+
// If the target node is in the default scene, relativePath will be empty
|
|
3622
|
+
if (context.glTFResource.sceneRoots.indexOf(entity) === -1) {
|
|
3623
|
+
continue;
|
|
3624
|
+
}
|
|
3518
3625
|
var ComponentType = void 0;
|
|
3519
3626
|
var propertyName = void 0;
|
|
3520
3627
|
switch(target.path){
|
|
@@ -3595,12 +3702,12 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3595
3702
|
if (curve2.interpolation === engineCore.InterpolationType.CubicSpine) {
|
|
3596
3703
|
keyframe2.inTangent = Array.from(output.subarray(offset2, offset2 + outputSize));
|
|
3597
3704
|
offset2 += outputSize;
|
|
3598
|
-
keyframe2.value = output.
|
|
3705
|
+
keyframe2.value = output.slice(offset2, offset2 + outputSize);
|
|
3599
3706
|
offset2 += outputSize;
|
|
3600
3707
|
keyframe2.outTangent = Array.from(output.subarray(offset2, offset2 + outputSize));
|
|
3601
3708
|
offset2 += outputSize;
|
|
3602
3709
|
} else {
|
|
3603
|
-
keyframe2.value = output.
|
|
3710
|
+
keyframe2.value = output.slice(offset2, offset2 + outputSize);
|
|
3604
3711
|
offset2 += outputSize;
|
|
3605
3712
|
}
|
|
3606
3713
|
curve2.addKey(keyframe2);
|
|
@@ -3851,7 +3958,7 @@ exports.GLTFMeshParser = (_GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1)
|
|
|
3851
3958
|
return context.get(exports.GLTFParserType.Buffer).then(function(buffers) {
|
|
3852
3959
|
return GLTFUtils.getAccessorData(glTF, indexAccessor, buffers);
|
|
3853
3960
|
});
|
|
3854
|
-
}, context.keepMeshData).then(resolve);
|
|
3961
|
+
}, context.params.keepMeshData).then(resolve);
|
|
3855
3962
|
}
|
|
3856
3963
|
});
|
|
3857
3964
|
};
|
|
@@ -4029,9 +4136,9 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4029
4136
|
}
|
|
4030
4137
|
var _proto = GLTFSceneParser.prototype;
|
|
4031
4138
|
_proto.parse = function parse(context, index) {
|
|
4032
|
-
var _this = this;
|
|
4033
4139
|
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;
|
|
4034
4140
|
var sceneInfo = scenes[index];
|
|
4141
|
+
var sceneExtensions = sceneInfo.extensions;
|
|
4035
4142
|
var engine = glTFResource.engine;
|
|
4036
4143
|
var isDefaultScene = scene === index;
|
|
4037
4144
|
var sceneNodes = sceneInfo.nodes;
|
|
@@ -4057,18 +4164,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4057
4164
|
promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
|
|
4058
4165
|
}
|
|
4059
4166
|
return Promise.all(promises).then(function() {
|
|
4060
|
-
|
|
4061
|
-
return Promise.all([
|
|
4062
|
-
context.get(exports.GLTFParserType.Skin),
|
|
4063
|
-
context.get(exports.GLTFParserType.Animation)
|
|
4064
|
-
]).then(function(param) {
|
|
4065
|
-
var skins = param[0], animations = param[1];
|
|
4066
|
-
if (skins || animations) {
|
|
4067
|
-
_this._createAnimator(context, animations);
|
|
4068
|
-
}
|
|
4069
|
-
return sceneRoot;
|
|
4070
|
-
});
|
|
4071
|
-
}
|
|
4167
|
+
GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
|
|
4072
4168
|
return sceneRoot;
|
|
4073
4169
|
});
|
|
4074
4170
|
};
|
|
@@ -4180,28 +4276,6 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4180
4276
|
for(var i = 0; i < glTFMeshPrimitives.length; i++)_loop(i);
|
|
4181
4277
|
return Promise.all(promises);
|
|
4182
4278
|
};
|
|
4183
|
-
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
4184
|
-
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
4185
|
-
var animator = defaultSceneRoot.addComponent(engineCore.Animator);
|
|
4186
|
-
var animatorController = new engineCore.AnimatorController();
|
|
4187
|
-
var layer = new engineCore.AnimatorControllerLayer("layer");
|
|
4188
|
-
var animatorStateMachine = new engineCore.AnimatorStateMachine();
|
|
4189
|
-
animatorController.addLayer(layer);
|
|
4190
|
-
animator.animatorController = animatorController;
|
|
4191
|
-
layer.stateMachine = animatorStateMachine;
|
|
4192
|
-
if (animations) {
|
|
4193
|
-
for(var i = 0; i < animations.length; i++){
|
|
4194
|
-
var animationClip = animations[i];
|
|
4195
|
-
var name = animationClip.name;
|
|
4196
|
-
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
4197
|
-
if (uniqueName !== name) {
|
|
4198
|
-
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
4199
|
-
}
|
|
4200
|
-
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
4201
|
-
animatorState.clip = animationClip;
|
|
4202
|
-
}
|
|
4203
|
-
}
|
|
4204
|
-
};
|
|
4205
4279
|
_proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
|
|
4206
4280
|
var rootBoneIndex = bones.indexOf(rootBone);
|
|
4207
4281
|
if (rootBoneIndex !== -1) {
|
|
@@ -4351,8 +4425,7 @@ exports.GLTFTextureParser = (_GLTFTextureParser = /*#__PURE__*/ function(GLTFPar
|
|
|
4351
4425
|
mipmap: (_samplerInfo = samplerInfo) == null ? void 0 : _samplerInfo.mipmap
|
|
4352
4426
|
}
|
|
4353
4427
|
}).then(function(texture) {
|
|
4354
|
-
|
|
4355
|
-
(_texture = texture).name || (_texture.name = textureName || imageName || "texture_" + index);
|
|
4428
|
+
texture.name = textureName || imageName || texture.name || "texture_" + index;
|
|
4356
4429
|
useSampler && GLTFUtils.parseSampler(texture, samplerInfo);
|
|
4357
4430
|
return texture;
|
|
4358
4431
|
});
|
|
@@ -4434,11 +4507,12 @@ var GLTFLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
4434
4507
|
}
|
|
4435
4508
|
var _proto = GLTFLoader.prototype;
|
|
4436
4509
|
_proto.load = function load(item, resourceManager) {
|
|
4437
|
-
var _params;
|
|
4438
4510
|
var url = item.url;
|
|
4439
4511
|
var params = item.params;
|
|
4440
4512
|
var glTFResource = new GLTFResource(resourceManager.engine, url);
|
|
4441
|
-
var context = new GLTFParserContext(glTFResource, resourceManager,
|
|
4513
|
+
var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
|
|
4514
|
+
keepMeshData: false
|
|
4515
|
+
}, params));
|
|
4442
4516
|
return context.parse();
|
|
4443
4517
|
};
|
|
4444
4518
|
return GLTFLoader;
|
|
@@ -5086,6 +5160,12 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5086
5160
|
materialShaderData.setTexture(key, texture);
|
|
5087
5161
|
}));
|
|
5088
5162
|
break;
|
|
5163
|
+
case "Boolean":
|
|
5164
|
+
materialShaderData.setInt(key, value ? 1 : 0);
|
|
5165
|
+
break;
|
|
5166
|
+
case "Integer":
|
|
5167
|
+
materialShaderData.setInt(key, Number(value));
|
|
5168
|
+
break;
|
|
5089
5169
|
}
|
|
5090
5170
|
};
|
|
5091
5171
|
var engine = resourceManager.engine;
|
|
@@ -5221,9 +5301,10 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5221
5301
|
var _loop = function(i) {
|
|
5222
5302
|
var atlasItem = atlasItems[i];
|
|
5223
5303
|
if (atlasItem.img) {
|
|
5304
|
+
var _atlasItem_type;
|
|
5224
5305
|
chainPromises.push(resourceManager.load({
|
|
5225
5306
|
url: engineCore.Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
5226
|
-
type: engineCore.AssetType.Texture2D,
|
|
5307
|
+
type: (_atlasItem_type = atlasItem.type) != null ? _atlasItem_type : engineCore.AssetType.Texture2D,
|
|
5227
5308
|
params: {
|
|
5228
5309
|
format: format,
|
|
5229
5310
|
mipmap: mipmap
|
|
@@ -5293,26 +5374,31 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5293
5374
|
var _proto = SpriteLoader.prototype;
|
|
5294
5375
|
_proto.load = function load(item, resourceManager) {
|
|
5295
5376
|
var _this = this;
|
|
5296
|
-
return
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
.getResourceByRef(data.texture).then(function(texture) {
|
|
5308
|
-
resolve(new engineCore.Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border));
|
|
5309
|
-
}).catch(reject);
|
|
5310
|
-
} else {
|
|
5311
|
-
resolve(new engineCore.Sprite(resourceManager.engine, null, data.region, data.pivot, data.border));
|
|
5312
|
-
}
|
|
5313
|
-
}).catch(reject);
|
|
5377
|
+
return this.request(item.url, _extends({}, item, {
|
|
5378
|
+
type: "json"
|
|
5379
|
+
})).then(function(data) {
|
|
5380
|
+
return data.belongToAtlas ? _this._loadFromAtlas(resourceManager, data) : _this._loadFromTexture(resourceManager, data);
|
|
5381
|
+
});
|
|
5382
|
+
};
|
|
5383
|
+
_proto._loadFromAtlas = function _loadFromAtlas(resourceManager, data) {
|
|
5384
|
+
var _this = this;
|
|
5385
|
+
return resourceManager// @ts-ignore
|
|
5386
|
+
.getResourceByRef(data.belongToAtlas).then(function(atlas) {
|
|
5387
|
+
return atlas.getSprite(data.fullPath) || _this._loadFromTexture(resourceManager, data);
|
|
5314
5388
|
});
|
|
5315
5389
|
};
|
|
5390
|
+
_proto._loadFromTexture = function _loadFromTexture(resourceManager, data) {
|
|
5391
|
+
if (data.texture) {
|
|
5392
|
+
return resourceManager// @ts-ignore
|
|
5393
|
+
.getResourceByRef(data.texture).then(function(texture) {
|
|
5394
|
+
return new engineCore.Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border);
|
|
5395
|
+
});
|
|
5396
|
+
} else {
|
|
5397
|
+
return new engineCore.AssetPromise(function(resolve) {
|
|
5398
|
+
resolve(new engineCore.Sprite(resourceManager.engine, null, data.region, data.pivot, data.border));
|
|
5399
|
+
});
|
|
5400
|
+
}
|
|
5401
|
+
};
|
|
5316
5402
|
return SpriteLoader;
|
|
5317
5403
|
}(engineCore.Loader);
|
|
5318
5404
|
SpriteLoader = __decorate([
|
|
@@ -5359,9 +5445,13 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5359
5445
|
type: "image"
|
|
5360
5446
|
});
|
|
5361
5447
|
_this.request(url, requestConfig).then(function(image) {
|
|
5362
|
-
var
|
|
5363
|
-
var
|
|
5364
|
-
var texture = new engineCore.Texture2D(resourceManager.engine, image.width, image.height,
|
|
5448
|
+
var _item_params;
|
|
5449
|
+
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;
|
|
5450
|
+
var texture = new engineCore.Texture2D(resourceManager.engine, image.width, image.height, format, mipmap);
|
|
5451
|
+
texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
|
|
5452
|
+
texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
|
|
5453
|
+
texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
|
|
5454
|
+
texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
|
|
5365
5455
|
texture.setImageSource(image);
|
|
5366
5456
|
texture.generateMipmaps();
|
|
5367
5457
|
if (url.indexOf("data:") !== 0) {
|
|
@@ -5459,6 +5549,39 @@ TextureCubeLoader = __decorate([
|
|
|
5459
5549
|
])
|
|
5460
5550
|
], TextureCubeLoader);
|
|
5461
5551
|
|
|
5552
|
+
var ProjectLoader = /*#__PURE__*/ function(Loader1) {
|
|
5553
|
+
_inherits(ProjectLoader, Loader1);
|
|
5554
|
+
function ProjectLoader() {
|
|
5555
|
+
return Loader1.apply(this, arguments);
|
|
5556
|
+
}
|
|
5557
|
+
var _proto = ProjectLoader.prototype;
|
|
5558
|
+
_proto.load = function load(item, resourceManager) {
|
|
5559
|
+
var _this = this;
|
|
5560
|
+
var engine = resourceManager.engine;
|
|
5561
|
+
return new engineCore.AssetPromise(function(resolve, reject) {
|
|
5562
|
+
_this.request(item.url, {
|
|
5563
|
+
type: "json"
|
|
5564
|
+
}).then(function(data) {
|
|
5565
|
+
// @ts-ignore
|
|
5566
|
+
engine.resourceManager.initVirtualResources(data.files);
|
|
5567
|
+
return resourceManager.load({
|
|
5568
|
+
type: engineCore.AssetType.Scene,
|
|
5569
|
+
url: data.scene
|
|
5570
|
+
}).then(function(scene) {
|
|
5571
|
+
engine.sceneManager.activeScene = scene;
|
|
5572
|
+
resolve();
|
|
5573
|
+
});
|
|
5574
|
+
}).catch(reject);
|
|
5575
|
+
});
|
|
5576
|
+
};
|
|
5577
|
+
return ProjectLoader;
|
|
5578
|
+
}(engineCore.Loader);
|
|
5579
|
+
ProjectLoader = __decorate([
|
|
5580
|
+
engineCore.resourceLoader(engineCore.AssetType.Project, [
|
|
5581
|
+
"proj"
|
|
5582
|
+
], false)
|
|
5583
|
+
], ProjectLoader);
|
|
5584
|
+
|
|
5462
5585
|
var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
5463
5586
|
_inherits(SceneLoader, Loader1);
|
|
5464
5587
|
function SceneLoader() {
|
|
@@ -5476,33 +5599,34 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5476
5599
|
var promises = [];
|
|
5477
5600
|
// parse ambient light
|
|
5478
5601
|
var ambient = data.scene.ambient;
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
// prettier-ignore
|
|
5483
|
-
var customAmbientPromise = resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
|
|
5484
|
-
scene.ambientLight = ambientLight;
|
|
5485
|
-
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5486
|
-
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5487
|
-
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5488
|
-
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5489
|
-
});
|
|
5490
|
-
promises.push(customAmbientPromise);
|
|
5491
|
-
} else if (!useCustomAmbient && ambient.ambientLight) {
|
|
5492
|
-
// @ts-ignore
|
|
5493
|
-
// prettier-ignore
|
|
5494
|
-
var ambientLightPromise = resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
|
|
5495
|
-
scene.ambientLight = ambientLight;
|
|
5496
|
-
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5497
|
-
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5498
|
-
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5499
|
-
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5500
|
-
});
|
|
5501
|
-
promises.push(ambientLightPromise);
|
|
5502
|
-
} else {
|
|
5602
|
+
if (ambient) {
|
|
5603
|
+
var useCustomAmbient = ambient.specularMode === "Custom";
|
|
5604
|
+
var useSH = ambient.diffuseMode === engineCore.DiffuseMode.SphericalHarmonics;
|
|
5503
5605
|
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5504
5606
|
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5607
|
+
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
5505
5608
|
scene.ambientLight.diffuseSolidColor.copyFrom(ambient.diffuseSolidColor);
|
|
5609
|
+
scene.ambientLight.specularTextureDecodeRGBM = true;
|
|
5610
|
+
if (useCustomAmbient && ambient.customAmbientLight) {
|
|
5611
|
+
promises.push(// @ts-ignore
|
|
5612
|
+
resourceManager.getResourceByRef(ambient.customAmbientLight).then(function(ambientLight) {
|
|
5613
|
+
var _ambientLight;
|
|
5614
|
+
scene.ambientLight.specularTexture = (_ambientLight = ambientLight) == null ? void 0 : _ambientLight.specularTexture;
|
|
5615
|
+
}));
|
|
5616
|
+
}
|
|
5617
|
+
if (ambient.ambientLight && (!useCustomAmbient || useSH)) {
|
|
5618
|
+
promises.push(// @ts-ignore
|
|
5619
|
+
resourceManager.getResourceByRef(ambient.ambientLight).then(function(ambientLight) {
|
|
5620
|
+
if (!useCustomAmbient) {
|
|
5621
|
+
var _ambientLight;
|
|
5622
|
+
scene.ambientLight.specularTexture = (_ambientLight = ambientLight) == null ? void 0 : _ambientLight.specularTexture;
|
|
5623
|
+
}
|
|
5624
|
+
if (useSH) {
|
|
5625
|
+
var _ambientLight1;
|
|
5626
|
+
scene.ambientLight.diffuseSphericalHarmonics = (_ambientLight1 = ambientLight) == null ? void 0 : _ambientLight1.diffuseSphericalHarmonics;
|
|
5627
|
+
}
|
|
5628
|
+
}));
|
|
5629
|
+
}
|
|
5506
5630
|
}
|
|
5507
5631
|
var background = data.scene.background;
|
|
5508
5632
|
scene.background.mode = background.mode;
|
|
@@ -5544,6 +5668,9 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5544
5668
|
if (shadow.shadowResolution != undefined) scene.shadowResolution = shadow.shadowResolution;
|
|
5545
5669
|
if (shadow.shadowDistance != undefined) scene.shadowDistance = shadow.shadowDistance;
|
|
5546
5670
|
if (shadow.shadowCascades != undefined) scene.shadowCascades = shadow.shadowCascades;
|
|
5671
|
+
var _shadow_shadowTwoCascadeSplits;
|
|
5672
|
+
scene.shadowTwoCascadeSplits = (_shadow_shadowTwoCascadeSplits = shadow.shadowTwoCascadeSplits) != null ? _shadow_shadowTwoCascadeSplits : scene.shadowTwoCascadeSplits;
|
|
5673
|
+
shadow.shadowFourCascadeSplits && scene.shadowFourCascadeSplits.copyFrom(shadow.shadowFourCascadeSplits);
|
|
5547
5674
|
}
|
|
5548
5675
|
return Promise.all(promises).then(function() {
|
|
5549
5676
|
resolve(scene);
|
|
@@ -5559,13 +5686,13 @@ SceneLoader = __decorate([
|
|
|
5559
5686
|
"scene"
|
|
5560
5687
|
], true)
|
|
5561
5688
|
], SceneLoader);
|
|
5562
|
-
ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item
|
|
5689
|
+
ReflectionParser.registerCustomParseComponent("TextRenderer", /*#__PURE__*/ _async_to_generator(function(instance, item) {
|
|
5563
5690
|
var props;
|
|
5564
5691
|
return __generator(this, function(_state) {
|
|
5565
5692
|
props = item.props;
|
|
5566
5693
|
if (!props.font) {
|
|
5567
5694
|
// @ts-ignore
|
|
5568
|
-
instance.font = engineCore.Font.createFromOS(engine, props.fontFamily || "Arial");
|
|
5695
|
+
instance.font = engineCore.Font.createFromOS(instance.engine, props.fontFamily || "Arial");
|
|
5569
5696
|
}
|
|
5570
5697
|
return [
|
|
5571
5698
|
2,
|
|
@@ -5621,7 +5748,7 @@ var KHR_draco_mesh_compression = (_KHR_draco_mesh_compression = /*#__PURE__*/ fu
|
|
|
5621
5748
|
throw "BlendShape animation is not supported when using draco.";
|
|
5622
5749
|
}, function() {
|
|
5623
5750
|
return decodedGeometry.index.array;
|
|
5624
|
-
}, context.keepMeshData);
|
|
5751
|
+
}, context.params.keepMeshData);
|
|
5625
5752
|
});
|
|
5626
5753
|
});
|
|
5627
5754
|
};
|