@galacean/engine-loader 0.0.0-experimental-double11.13 → 0.0.0-experimental-uploadSameBuffer.0
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 +247 -178
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +247 -178
- package/dist/module.js +248 -179
- package/dist/module.js.map +1 -1
- package/package.json +5 -5
- package/types/Texture2DLoader.d.ts +9 -1
- package/types/gltf/parser/GLTFParserContext.d.ts +1 -0
- package/types/gltf/parser/GLTFSceneParser.d.ts +0 -1
- package/types/index.d.ts +1 -1
- package/types/ktx2/KTX2Loader.d.ts +12 -2
- package/types/resource-deserialize/resources/parser/ReflectionParser.d.ts +1 -1
- package/types/resource-deserialize/resources/schema/BasicSchema.d.ts +2 -0
- package/types/resource-deserialize/resources/schema/MaterialSchema.d.ts +1 -1
- package/types/resource-deserialize/resources/schema/SceneSchema.d.ts +3 -1
- package/types/resource-deserialize/utils/BufferReader.d.ts +1 -1
- package/types/gltf/GLTFParser.d.ts +0 -9
- package/types/gltf/GLTFUtil.d.ts +0 -53
- package/types/gltf/Schema.d.ts +0 -814
- package/types/gltf/extensions/ExtensionParser.d.ts +0 -8
- package/types/gltf/extensions/OASIS_animation.d.ts +0 -1
- package/types/gltf/extensions/OASIS_materials_remap.d.ts +0 -1
- package/types/gltf/extensions/Schema.d.ts +0 -142
- package/types/gltf/parser/AnimationParser.d.ts +0 -7
- package/types/gltf/parser/BufferParser.d.ts +0 -7
- package/types/gltf/parser/EntityParser.d.ts +0 -9
- package/types/gltf/parser/MaterialParser.d.ts +0 -8
- package/types/gltf/parser/MeshParser.d.ts +0 -13
- package/types/gltf/parser/Parser.d.ts +0 -21
- package/types/gltf/parser/ParserContext.d.ts +0 -46
- package/types/gltf/parser/SceneParser.d.ts +0 -11
- package/types/gltf/parser/SkinParser.d.ts +0 -6
- package/types/gltf/parser/TextureParser.d.ts +0 -8
- package/types/gltf/parser/Validator.d.ts +0 -5
- package/types/resource-deserialize/resources/animationClip/type.d.ts +0 -30
- package/types/resource-deserialize/resources/animatorController/AnimatorControllerDecoder.d.ts +0 -6
- package/types/resource-deserialize/resources/animatorController/type.d.ts +0 -0
- package/types/resource-deserialize/resources/prefab/PrefabDesign.d.ts +0 -70
- package/types/resource-deserialize/resources/prefab/PrefabParser.d.ts +0 -5
- package/types/resource-deserialize/resources/prefab/ReflectionParser.d.ts +0 -14
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.
|
|
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
|
}
|
|
@@ -539,15 +538,23 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
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
|
_proto.parseClassObject = function parseClassObject(item) {
|
|
547
|
+
var _this = this;
|
|
546
548
|
var Class = engineCore.Loader.getClass(item.class);
|
|
547
549
|
var _item_constructParams;
|
|
548
550
|
var params = (_item_constructParams = item.constructParams) != null ? _item_constructParams : [];
|
|
549
|
-
|
|
550
|
-
|
|
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
|
+
});
|
|
551
558
|
};
|
|
552
559
|
_proto.parsePropsAndMethods = function parsePropsAndMethods(instance, item) {
|
|
553
560
|
var promises = [];
|
|
@@ -555,16 +562,14 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
555
562
|
for(var methodName in item.methods){
|
|
556
563
|
var methodParams = item.methods[methodName];
|
|
557
564
|
for(var i = 0, count = methodParams.length; i < count; i++){
|
|
558
|
-
|
|
559
|
-
var promise = this.parseMethod(instance, methodName, params);
|
|
560
|
-
promises.push(promise);
|
|
565
|
+
promises.push(this.parseMethod(instance, methodName, methodParams[i]));
|
|
561
566
|
}
|
|
562
567
|
}
|
|
563
568
|
}
|
|
564
569
|
if (item.props) {
|
|
565
570
|
var _this = this, _loop = function(key) {
|
|
566
571
|
var value = item.props[key];
|
|
567
|
-
var promise = _this.parseBasicType(value).then(function(v) {
|
|
572
|
+
var promise = _this.parseBasicType(value, instance[key]).then(function(v) {
|
|
568
573
|
return instance[key] = v;
|
|
569
574
|
});
|
|
570
575
|
promises.push(promise);
|
|
@@ -586,7 +591,7 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
586
591
|
return (_instance = instance)[methodName].apply(_instance, [].concat(result));
|
|
587
592
|
});
|
|
588
593
|
};
|
|
589
|
-
_proto.parseBasicType = function parseBasicType(value) {
|
|
594
|
+
_proto.parseBasicType = function parseBasicType(value, originValue) {
|
|
590
595
|
var _this = this;
|
|
591
596
|
if (Array.isArray(value)) {
|
|
592
597
|
return Promise.all(value.map(function(item) {
|
|
@@ -603,13 +608,33 @@ var ReflectionParser = /*#__PURE__*/ function() {
|
|
|
603
608
|
} else if (ReflectionParser._isEntityRef(value)) {
|
|
604
609
|
// entity reference
|
|
605
610
|
return Promise.resolve(this._context.entityMap.get(value.entityId));
|
|
606
|
-
} else {
|
|
607
|
-
|
|
608
|
-
|
|
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
|
+
});
|
|
609
634
|
}
|
|
610
|
-
} else {
|
|
611
|
-
return Promise.resolve(value);
|
|
612
635
|
}
|
|
636
|
+
// primitive type
|
|
637
|
+
return Promise.resolve(value);
|
|
613
638
|
};
|
|
614
639
|
_proto._getEntityByConfig = function _getEntityByConfig(entityConfig) {
|
|
615
640
|
// @ts-ignore
|
|
@@ -1603,11 +1628,37 @@ var TextureWrapMode;
|
|
|
1603
1628
|
_this.get(9),
|
|
1604
1629
|
_this.get(2)
|
|
1605
1630
|
]).then(function() {
|
|
1631
|
+
var glTFResource = _this.glTFResource;
|
|
1632
|
+
if (glTFResource.skins || glTFResource.animations) {
|
|
1633
|
+
_this._createAnimator(_this, glTFResource.animations);
|
|
1634
|
+
}
|
|
1606
1635
|
_this.resourceManager.addContentRestorer(_this.contentRestorer);
|
|
1607
|
-
return
|
|
1636
|
+
return glTFResource;
|
|
1608
1637
|
});
|
|
1609
1638
|
});
|
|
1610
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
|
+
};
|
|
1611
1662
|
_proto._handleSubAsset = function _handleSubAsset(resource, type, index) {
|
|
1612
1663
|
var _this = this;
|
|
1613
1664
|
var glTFResourceKey = glTFResourceMap[type];
|
|
@@ -2584,6 +2635,7 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2584
2635
|
var faceCount = ktx2File.getFaces();
|
|
2585
2636
|
var format = getTranscodeFormatFromTarget(targetFormat, hasAlpha);
|
|
2586
2637
|
var faces = new Array(faceCount);
|
|
2638
|
+
var isBC = format === 2 || format === 3 || format === 7;
|
|
2587
2639
|
for(var face = 0; face < faceCount; face++){
|
|
2588
2640
|
var mipmaps = new Array(levelCount);
|
|
2589
2641
|
for(var mip = 0; mip < levelCount; mip++){
|
|
@@ -2591,8 +2643,15 @@ function transcode(buffer, targetFormat, KTX2File) {
|
|
|
2591
2643
|
var mipWidth = void 0, mipHeight = void 0;
|
|
2592
2644
|
for(var layer = 0; layer < layerCount; layer++){
|
|
2593
2645
|
var levelInfo = ktx2File.getImageLevelInfo(mip, layer, face);
|
|
2594
|
-
|
|
2595
|
-
|
|
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
|
+
}
|
|
2596
2655
|
var dst = new Uint8Array(ktx2File.getImageTranscodedSizeInBytes(mip, layer, 0, format));
|
|
2597
2656
|
var status = ktx2File.transcodeImage(dst, mip, layer, face, format, 0, -1, -1);
|
|
2598
2657
|
if (!status) {
|
|
@@ -2904,11 +2963,14 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2904
2963
|
return Loader1.apply(this, arguments);
|
|
2905
2964
|
}
|
|
2906
2965
|
var _proto = KTX2Loader1.prototype;
|
|
2907
|
-
_proto.initialize = function initialize(
|
|
2966
|
+
_proto.initialize = function initialize(_, configuration) {
|
|
2908
2967
|
if (configuration.ktx2Loader) {
|
|
2909
2968
|
var options = configuration.ktx2Loader;
|
|
2910
|
-
if (options.priorityFormats)
|
|
2911
|
-
|
|
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) {
|
|
2912
2974
|
return exports.KTX2Loader._getKhronosTranscoder(options.workerCount).init();
|
|
2913
2975
|
} else {
|
|
2914
2976
|
return exports.KTX2Loader._getBinomialLLCTranscoder(options.workerCount).init();
|
|
@@ -2927,17 +2989,6 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2927
2989
|
});
|
|
2928
2990
|
});
|
|
2929
2991
|
};
|
|
2930
|
-
_proto._isKhronosSupported = function _isKhronosSupported(priorityFormats, engine) {
|
|
2931
|
-
if (priorityFormats === void 0) priorityFormats = [
|
|
2932
|
-
exports.KTX2TargetFormat.ASTC,
|
|
2933
|
-
exports.KTX2TargetFormat.ETC,
|
|
2934
|
-
exports.KTX2TargetFormat.BC7,
|
|
2935
|
-
exports.KTX2TargetFormat.BC1_BC3,
|
|
2936
|
-
exports.KTX2TargetFormat.PVRTC,
|
|
2937
|
-
exports.KTX2TargetFormat.R8G8B8A8
|
|
2938
|
-
];
|
|
2939
|
-
return !!KhronosTranscoder.transcoderMap[exports.KTX2Loader._detectSupportedFormat(engine._hardwareRenderer, priorityFormats)];
|
|
2940
|
-
};
|
|
2941
2992
|
/**
|
|
2942
2993
|
* Destroy ktx2 transcoder worker.
|
|
2943
2994
|
*/ KTX2Loader1.destroy = function destroy() {
|
|
@@ -2951,7 +3002,7 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
2951
3002
|
var _params;
|
|
2952
3003
|
var ktx2Container = new KTX2Container(buffer);
|
|
2953
3004
|
var _params_priorityFormats;
|
|
2954
|
-
var formatPriorities = (_params_priorityFormats = (_params = params) == null ? void 0 : _params.priorityFormats) != null ? _params_priorityFormats : exports.KTX2Loader._priorityFormats;
|
|
3005
|
+
var formatPriorities = (_params_priorityFormats = (_params = params) == null ? void 0 : _params.priorityFormats) != null ? _params_priorityFormats : exports.KTX2Loader._priorityFormats[ktx2Container.isUASTC ? "uastc" : "etc1s"];
|
|
2955
3006
|
var targetFormat = exports.KTX2Loader._decideTargetFormat(engine, ktx2Container, formatPriorities);
|
|
2956
3007
|
var transcodeResultPromise;
|
|
2957
3008
|
if (exports.KTX2Loader._isBinomialInit || !KhronosTranscoder.transcoderMap[targetFormat] || !ktx2Container.isUASTC) {
|
|
@@ -3019,11 +3070,21 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3019
3070
|
};
|
|
3020
3071
|
KTX2Loader1._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats) {
|
|
3021
3072
|
for(var i = 0; i < priorityFormats.length; i++){
|
|
3022
|
-
var
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
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;
|
|
3027
3088
|
}
|
|
3028
3089
|
}
|
|
3029
3090
|
}
|
|
@@ -3061,13 +3122,22 @@ exports.KTX2Loader = (_KTX2Loader = /*#__PURE__*/ function(Loader1) {
|
|
|
3061
3122
|
}(engineCore.Loader), function() {
|
|
3062
3123
|
_KTX2Loader._isBinomialInit = false;
|
|
3063
3124
|
}(), function() {
|
|
3064
|
-
_KTX2Loader._priorityFormats =
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
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
|
+
};
|
|
3071
3141
|
}(), function() {
|
|
3072
3142
|
var _obj;
|
|
3073
3143
|
_KTX2Loader._supportedMap = (_obj = {}, _obj[exports.KTX2TargetFormat.ASTC] = [
|
|
@@ -3088,6 +3158,11 @@ exports.KTX2Loader = __decorate([
|
|
|
3088
3158
|
"ktx2"
|
|
3089
3159
|
])
|
|
3090
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 = {}));
|
|
3091
3166
|
|
|
3092
3167
|
/**
|
|
3093
3168
|
* @internal
|
|
@@ -3531,6 +3606,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3531
3606
|
var promises = new Array();
|
|
3532
3607
|
// parse samplers
|
|
3533
3608
|
for(var j = 0, m = samplers.length; j < m; j++)_loop(j);
|
|
3609
|
+
promises.push(context.get(exports.GLTFParserType.Scene));
|
|
3534
3610
|
return Promise.all(promises).then(function() {
|
|
3535
3611
|
for(var j = 0, m = channels.length; j < m; j++){
|
|
3536
3612
|
var gltfChannel = channels[j];
|
|
@@ -3542,6 +3618,10 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
3542
3618
|
relativePath = relativePath === "" ? "" + entity.name : entity.name + "/" + relativePath;
|
|
3543
3619
|
entity = entity.parent;
|
|
3544
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
|
+
}
|
|
3545
3625
|
var ComponentType = void 0;
|
|
3546
3626
|
var propertyName = void 0;
|
|
3547
3627
|
switch(target.path){
|
|
@@ -4056,7 +4136,6 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4056
4136
|
}
|
|
4057
4137
|
var _proto = GLTFSceneParser.prototype;
|
|
4058
4138
|
_proto.parse = function parse(context, index) {
|
|
4059
|
-
var _this = this;
|
|
4060
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;
|
|
4061
4140
|
var sceneInfo = scenes[index];
|
|
4062
4141
|
var sceneExtensions = sceneInfo.extensions;
|
|
@@ -4086,18 +4165,6 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4086
4165
|
}
|
|
4087
4166
|
return Promise.all(promises).then(function() {
|
|
4088
4167
|
GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
|
|
4089
|
-
if (isDefaultScene) {
|
|
4090
|
-
return Promise.all([
|
|
4091
|
-
context.get(exports.GLTFParserType.Skin),
|
|
4092
|
-
context.get(exports.GLTFParserType.Animation)
|
|
4093
|
-
]).then(function(param) {
|
|
4094
|
-
var skins = param[0], animations = param[1];
|
|
4095
|
-
if (skins || animations) {
|
|
4096
|
-
_this._createAnimator(context, animations);
|
|
4097
|
-
}
|
|
4098
|
-
return sceneRoot;
|
|
4099
|
-
});
|
|
4100
|
-
}
|
|
4101
4168
|
return sceneRoot;
|
|
4102
4169
|
});
|
|
4103
4170
|
};
|
|
@@ -4209,28 +4276,6 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
|
|
|
4209
4276
|
for(var i = 0; i < glTFMeshPrimitives.length; i++)_loop(i);
|
|
4210
4277
|
return Promise.all(promises);
|
|
4211
4278
|
};
|
|
4212
|
-
_proto._createAnimator = function _createAnimator(context, animations) {
|
|
4213
|
-
var defaultSceneRoot = context.glTFResource.defaultSceneRoot;
|
|
4214
|
-
var animator = defaultSceneRoot.addComponent(engineCore.Animator);
|
|
4215
|
-
var animatorController = new engineCore.AnimatorController();
|
|
4216
|
-
var layer = new engineCore.AnimatorControllerLayer("layer");
|
|
4217
|
-
var animatorStateMachine = new engineCore.AnimatorStateMachine();
|
|
4218
|
-
animatorController.addLayer(layer);
|
|
4219
|
-
animator.animatorController = animatorController;
|
|
4220
|
-
layer.stateMachine = animatorStateMachine;
|
|
4221
|
-
if (animations) {
|
|
4222
|
-
for(var i = 0; i < animations.length; i++){
|
|
4223
|
-
var animationClip = animations[i];
|
|
4224
|
-
var name = animationClip.name;
|
|
4225
|
-
var uniqueName = animatorStateMachine.makeUniqueStateName(name);
|
|
4226
|
-
if (uniqueName !== name) {
|
|
4227
|
-
console.warn("AnimatorState name is existed, name: " + name + " reset to " + uniqueName);
|
|
4228
|
-
}
|
|
4229
|
-
var animatorState = animatorStateMachine.addState(uniqueName);
|
|
4230
|
-
animatorState.clip = animationClip;
|
|
4231
|
-
}
|
|
4232
|
-
}
|
|
4233
|
-
};
|
|
4234
4279
|
_proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
|
|
4235
4280
|
var rootBoneIndex = bones.indexOf(rootBone);
|
|
4236
4281
|
if (rootBoneIndex !== -1) {
|
|
@@ -5115,6 +5160,12 @@ var MaterialLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5115
5160
|
materialShaderData.setTexture(key, texture);
|
|
5116
5161
|
}));
|
|
5117
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;
|
|
5118
5169
|
}
|
|
5119
5170
|
};
|
|
5120
5171
|
var engine = resourceManager.engine;
|
|
@@ -5250,9 +5301,10 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5250
5301
|
var _loop = function(i) {
|
|
5251
5302
|
var atlasItem = atlasItems[i];
|
|
5252
5303
|
if (atlasItem.img) {
|
|
5304
|
+
var _atlasItem_type;
|
|
5253
5305
|
chainPromises.push(resourceManager.load({
|
|
5254
5306
|
url: engineCore.Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
|
|
5255
|
-
type: engineCore.AssetType.Texture2D,
|
|
5307
|
+
type: (_atlasItem_type = atlasItem.type) != null ? _atlasItem_type : engineCore.AssetType.Texture2D,
|
|
5256
5308
|
params: {
|
|
5257
5309
|
format: format,
|
|
5258
5310
|
mipmap: mipmap
|
|
@@ -5322,26 +5374,31 @@ var SpriteLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5322
5374
|
var _proto = SpriteLoader.prototype;
|
|
5323
5375
|
_proto.load = function load(item, resourceManager) {
|
|
5324
5376
|
var _this = this;
|
|
5325
|
-
return
|
|
5326
|
-
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
.getResourceByRef(data.texture).then(function(texture) {
|
|
5337
|
-
resolve(new engineCore.Sprite(resourceManager.engine, texture, data.region, data.pivot, data.border));
|
|
5338
|
-
}).catch(reject);
|
|
5339
|
-
} else {
|
|
5340
|
-
resolve(new engineCore.Sprite(resourceManager.engine, null, data.region, data.pivot, data.border));
|
|
5341
|
-
}
|
|
5342
|
-
}).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);
|
|
5343
5388
|
});
|
|
5344
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
|
+
};
|
|
5345
5402
|
return SpriteLoader;
|
|
5346
5403
|
}(engineCore.Loader);
|
|
5347
5404
|
SpriteLoader = __decorate([
|
|
@@ -5388,9 +5445,13 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5388
5445
|
type: "image"
|
|
5389
5446
|
});
|
|
5390
5447
|
_this.request(url, requestConfig).then(function(image) {
|
|
5391
|
-
var
|
|
5392
|
-
var
|
|
5393
|
-
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;
|
|
5394
5455
|
texture.setImageSource(image);
|
|
5395
5456
|
texture.generateMipmaps();
|
|
5396
5457
|
if (url.indexOf("data:") !== 0) {
|
|
@@ -5538,29 +5599,34 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5538
5599
|
var promises = [];
|
|
5539
5600
|
// parse ambient light
|
|
5540
5601
|
var ambient = data.scene.ambient;
|
|
5541
|
-
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
|
|
5546
|
-
|
|
5547
|
-
|
|
5548
|
-
|
|
5549
|
-
|
|
5550
|
-
|
|
5551
|
-
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
-
|
|
5555
|
-
|
|
5556
|
-
|
|
5557
|
-
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5561
|
-
|
|
5562
|
-
|
|
5563
|
-
|
|
5602
|
+
if (ambient) {
|
|
5603
|
+
var useCustomAmbient = ambient.specularMode === "Custom";
|
|
5604
|
+
var useSH = ambient.diffuseMode === engineCore.DiffuseMode.SphericalHarmonics;
|
|
5605
|
+
scene.ambientLight.diffuseIntensity = ambient.diffuseIntensity;
|
|
5606
|
+
scene.ambientLight.specularIntensity = ambient.specularIntensity;
|
|
5607
|
+
scene.ambientLight.diffuseMode = ambient.diffuseMode;
|
|
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
|
+
}
|
|
5564
5630
|
}
|
|
5565
5631
|
var background = data.scene.background;
|
|
5566
5632
|
scene.background.mode = background.mode;
|
|
@@ -5602,6 +5668,9 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
|
|
|
5602
5668
|
if (shadow.shadowResolution != undefined) scene.shadowResolution = shadow.shadowResolution;
|
|
5603
5669
|
if (shadow.shadowDistance != undefined) scene.shadowDistance = shadow.shadowDistance;
|
|
5604
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);
|
|
5605
5674
|
}
|
|
5606
5675
|
return Promise.all(promises).then(function() {
|
|
5607
5676
|
resolve(scene);
|