@realsee/five 6.4.0-alpha.2 → 6.4.0-alpha.21
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/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.Camera.html +5 -4
- package/docs/classes/five.Five.html +53 -53
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +24 -37
- package/docs/classes/five.ModelViewLayer.html +6 -6
- package/docs/classes/five.PBMMeshMaterial.html +37 -37
- package/docs/classes/five.PBMPointCloudMaterial.html +34 -34
- package/docs/classes/five.TextureLoader.html +2 -2
- package/docs/classes/five.Tile.html +2 -1
- package/docs/classes/five.Tile3DModel.html +2 -1
- package/docs/classes/five.TileCubeTextureTarget.html +3 -2
- package/docs/classes/five.TileRequestScheduler.html +2 -2
- package/docs/classes/five.Tileset.html +1 -1
- package/docs/classes/five.Work.html +14 -14
- package/docs/functions/five.loadGltf.html +1 -0
- package/docs/functions/five.loadX3p.html +1 -0
- package/docs/functions/five.parseWork.html +1 -1
- package/docs/interfaces/five.FiveInitArgs.html +2 -2
- package/docs/interfaces/five.FiveLoadOptions.html +13 -26
- package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.PBMParameters.html +13 -13
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +6 -4
- package/docs/interfaces/five.Tile3dLayerOptions.html +27 -0
- package/docs/interfaces/five.TileHeader.html +2 -2
- package/docs/interfaces/five.TilesetHeader.html +4 -4
- package/docs/interfaces/five.TrajectoryHeader.html +2 -2
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +6 -4
- package/docs/interfaces/five.WorkCubeImage.html +8 -8
- package/docs/interfaces/five.WorkImage.html +10 -10
- package/docs/interfaces/five.WorkInitial.html +8 -8
- package/docs/interfaces/five.WorkModel.html +6 -6
- package/docs/interfaces/five.WorkModelLayer.html +5 -0
- package/docs/interfaces/five.WorkObserver.html +20 -20
- package/docs/interfaces/five.WorkResolvedObserver.html +20 -20
- package/docs/interfaces/five.WorkTile.html +2 -2
- package/docs/interfaces/five.WorkVideo.html +4 -4
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +6 -4
- package/docs/modules/five.html +5 -1
- package/docs/types/five.Mirror.html +1 -1
- package/docs/types/five.ModelMaterialValues.html +1 -1
- package/docs/types/five.Models.html +5 -5
- package/docs/types/five.ParseWorkOptions.html +1 -1
- package/docs/types/five.ParsedResultType.html +1 -1
- package/docs/types/five.Tile3dOptions.html +1 -0
- package/docs/types/five.TileRequestOrder.html +1 -1
- package/docs/types/five.TileRequestSchedulerOptions.html +1 -1
- package/docs/types/five.Works.html +1 -1
- package/five/index.d.ts +70 -75
- package/five/index.js +94 -94
- package/five/index.mjs +6825 -6603
- package/gltf-loader/index.js +5 -5
- package/gltf-loader/index.mjs +534 -515
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/package.json +1 -1
- package/plugins/index.js +2 -2
- package/plugins/index.mjs +2 -2
- package/react/index.d.ts +1 -1
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/shader-lib/index.js +2 -2
- package/shader-lib/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +5 -5
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +2 -2
- package/umd/five-react.js +2 -2
- package/umd/five-shader-lib.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +51 -51
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.d.ts +1 -1
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/docs/functions/five.loadGlb.html +0 -1
package/gltf-loader/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated:
|
|
5
|
-
* Version: 6.4.0-alpha.
|
|
4
|
+
* Generated: 2/27/2025
|
|
5
|
+
* Version: 6.4.0-alpha.21
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -253,42 +253,42 @@
|
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
255
|
*/import * as De from "three";
|
|
256
|
-
import { Loader as
|
|
257
|
-
var
|
|
258
|
-
return
|
|
259
|
-
u.__proto__ =
|
|
260
|
-
} || function(u,
|
|
261
|
-
for (var v in
|
|
262
|
-
},
|
|
256
|
+
import { Loader as ye, LoaderUtils as pe, FileLoader as _e, Color as re, SpotLight as or, PointLight as ir, DirectionalLight as ur, MeshBasicMaterial as he, MeshPhysicalMaterial as ke, Vector2 as Be, MeshStandardMaterial as ve, TangentSpaceNormalMap as lr, Interpolant as Ke, MeshPhongMaterial as fr, TextureLoader as cr, InterleavedBuffer as dr, InterleavedBufferAttribute as pr, BufferAttribute as Re, LinearFilter as Ve, LinearMipmapLinearFilter as je, RepeatWrapping as Pe, RGBFormat as Xe, PointsMaterial as hr, Material as ze, LineBasicMaterial as vr, DoubleSide as Tr, sRGBEncoding as We, BufferGeometry as Ze, SkinnedMesh as gr, Mesh as mr, LineSegments as Ar, Line as Sr, LineLoop as Er, Points as yr, Group as Ue, PerspectiveCamera as _r, MathUtils as Rr, OrthographicCamera as Lr, InterpolateLinear as Ye, AnimationClip as Mr, Bone as wr, Object3D as Ir, PropertyBinding as br, Matrix4 as qe, NearestFilter as xr, NearestMipmapNearestFilter as Cr, LinearMipmapNearestFilter as Or, NearestMipmapLinearFilter as Fr, ClampToEdgeWrapping as Dr, MirroredRepeatWrapping as Pr, InterpolateDiscrete as Ur, RGBAFormat as $e, FrontSide as Gr, TriangleFanDrawMode as Je, TriangleStripDrawMode as Nr, VectorKeyframeTrack as Hr, QuaternionKeyframeTrack as kr, NumberKeyframeTrack as Br, Skeleton as Kr, Box3 as Vr, Vector3 as Ee, Sphere as jr, CompressedTextureLoader as er, RGB_ETC1_Format as Xr, RGBA_S3TC_DXT5_Format as zr, RGBA_S3TC_DXT3_Format as Wr, RGB_S3TC_DXT1_Format as Yr } from "three";
|
|
257
|
+
var Ge = function(p, T) {
|
|
258
|
+
return Ge = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(u, m) {
|
|
259
|
+
u.__proto__ = m;
|
|
260
|
+
} || function(u, m) {
|
|
261
|
+
for (var v in m) Object.prototype.hasOwnProperty.call(m, v) && (u[v] = m[v]);
|
|
262
|
+
}, Ge(p, T);
|
|
263
263
|
};
|
|
264
|
-
function
|
|
264
|
+
function rr(p, T) {
|
|
265
265
|
if (typeof T != "function" && T !== null)
|
|
266
266
|
throw new TypeError("Class extends value " + String(T) + " is not a constructor or null");
|
|
267
|
-
|
|
267
|
+
Ge(p, T);
|
|
268
268
|
function u() {
|
|
269
269
|
this.constructor = p;
|
|
270
270
|
}
|
|
271
271
|
p.prototype = T === null ? Object.create(T) : (u.prototype = T.prototype, new u());
|
|
272
272
|
}
|
|
273
|
-
var
|
|
273
|
+
var qr = function() {
|
|
274
274
|
function p(e) {
|
|
275
|
-
|
|
275
|
+
ye.call(this, e), this.dracoLoader = null, this.ddsLoader = null;
|
|
276
276
|
}
|
|
277
|
-
p.prototype = Object.assign(Object.create(
|
|
277
|
+
p.prototype = Object.assign(Object.create(ye.prototype), {
|
|
278
278
|
constructor: p,
|
|
279
279
|
load: function(e, r, t, n) {
|
|
280
280
|
var a = this, i;
|
|
281
|
-
this.resourcePath !== "" ? i = this.resourcePath : this.path !== "" ? i = this.path : i =
|
|
282
|
-
var s = function(
|
|
283
|
-
n ? n(
|
|
284
|
-
}, o = new
|
|
285
|
-
o.setPath(this.path), o.setResponseType("arraybuffer"), o.setRequestHeader(this.requestHeader), a.crossOrigin === "use-credentials" && o.setWithCredentials(!0), o.load(e, function(
|
|
281
|
+
this.resourcePath !== "" ? i = this.resourcePath : this.path !== "" ? i = this.path : i = pe.extractUrlBase(e), a.manager.itemStart(e);
|
|
282
|
+
var s = function(l) {
|
|
283
|
+
n ? n(l) : console.error(l), a.manager.itemError(e), a.manager.itemEnd(e);
|
|
284
|
+
}, o = new _e(a.manager);
|
|
285
|
+
o.setPath(this.path), o.setResponseType("arraybuffer"), o.setRequestHeader(this.requestHeader), a.crossOrigin === "use-credentials" && o.setWithCredentials(!0), o.load(e, function(l) {
|
|
286
286
|
try {
|
|
287
|
-
a.parse(
|
|
288
|
-
r(
|
|
287
|
+
a.parse(l, i, function(f) {
|
|
288
|
+
r(f), a.manager.itemEnd(e);
|
|
289
289
|
}, s);
|
|
290
|
-
} catch (
|
|
291
|
-
s(
|
|
290
|
+
} catch (f) {
|
|
291
|
+
s(f);
|
|
292
292
|
}
|
|
293
293
|
}, t, s);
|
|
294
294
|
},
|
|
@@ -303,17 +303,17 @@ var Wr = function() {
|
|
|
303
303
|
if (typeof e == "string")
|
|
304
304
|
a = e;
|
|
305
305
|
else {
|
|
306
|
-
var s =
|
|
307
|
-
if (s ===
|
|
306
|
+
var s = pe.decodeText(new Uint8Array(e, 0, 4));
|
|
307
|
+
if (s === F) {
|
|
308
308
|
try {
|
|
309
|
-
i[u.KHR_BINARY_GLTF] = new
|
|
309
|
+
i[u.KHR_BINARY_GLTF] = new P(e);
|
|
310
310
|
} catch (d) {
|
|
311
311
|
n && n(d);
|
|
312
312
|
return;
|
|
313
313
|
}
|
|
314
314
|
a = i[u.KHR_BINARY_GLTF].content;
|
|
315
315
|
} else
|
|
316
|
-
a =
|
|
316
|
+
a = pe.decodeText(new Uint8Array(e));
|
|
317
317
|
}
|
|
318
318
|
var o = JSON.parse(a);
|
|
319
319
|
if (o.asset === void 0 || o.asset.version[0] < 2) {
|
|
@@ -321,46 +321,49 @@ var Wr = function() {
|
|
|
321
321
|
return;
|
|
322
322
|
}
|
|
323
323
|
if (o.extensionsUsed)
|
|
324
|
-
for (var
|
|
325
|
-
var
|
|
326
|
-
switch (
|
|
324
|
+
for (var l = 0; l < o.extensionsUsed.length; ++l) {
|
|
325
|
+
var f = o.extensionsUsed[l], h = o.extensionsRequired || [];
|
|
326
|
+
switch (f) {
|
|
327
327
|
case u.KHR_LIGHTS_PUNCTUAL:
|
|
328
|
-
i[
|
|
328
|
+
i[f] = new v(o);
|
|
329
329
|
break;
|
|
330
330
|
case u.KHR_MATERIALS_CLEARCOAT:
|
|
331
|
-
i[
|
|
331
|
+
i[f] = new _();
|
|
332
332
|
break;
|
|
333
333
|
case u.KHR_MATERIALS_TRANSMISSION:
|
|
334
|
-
i[
|
|
334
|
+
i[f] = new x();
|
|
335
335
|
break;
|
|
336
336
|
case u.KHR_MATERIALS_UNLIT:
|
|
337
|
-
i[
|
|
337
|
+
i[f] = new g();
|
|
338
338
|
break;
|
|
339
339
|
case u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:
|
|
340
|
-
i[
|
|
340
|
+
i[f] = new K();
|
|
341
341
|
break;
|
|
342
342
|
case u.KHR_DRACO_MESH_COMPRESSION:
|
|
343
|
-
i[
|
|
343
|
+
i[f] = new b(o, this.dracoLoader);
|
|
344
344
|
break;
|
|
345
345
|
case u.MSFT_TEXTURE_DDS:
|
|
346
|
-
i[
|
|
346
|
+
i[f] = new m(this.ddsLoader);
|
|
347
347
|
break;
|
|
348
348
|
case u.KHR_TEXTURE_TRANSFORM:
|
|
349
|
-
i[
|
|
349
|
+
i[f] = new M();
|
|
350
350
|
break;
|
|
351
351
|
case u.KHR_MESH_QUANTIZATION:
|
|
352
|
-
i[
|
|
352
|
+
i[f] = new ne();
|
|
353
|
+
break;
|
|
354
|
+
case u.REALSEE_MATERIALS_LIGHTMAP:
|
|
355
|
+
i[f] = new J();
|
|
353
356
|
break;
|
|
354
357
|
default:
|
|
355
|
-
h.indexOf(
|
|
358
|
+
h.indexOf(f) >= 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + f + '".');
|
|
356
359
|
}
|
|
357
360
|
}
|
|
358
|
-
var
|
|
361
|
+
var c = new C(o, i, {
|
|
359
362
|
path: r || this.resourcePath || "",
|
|
360
363
|
crossOrigin: this.crossOrigin,
|
|
361
364
|
manager: this.manager
|
|
362
365
|
});
|
|
363
|
-
|
|
366
|
+
c.fileLoader.setRequestHeader(this.requestHeader), c.parse(t, n);
|
|
364
367
|
}
|
|
365
368
|
});
|
|
366
369
|
function T() {
|
|
@@ -390,9 +393,10 @@ var Wr = function() {
|
|
|
390
393
|
KHR_MATERIALS_UNLIT: "KHR_materials_unlit",
|
|
391
394
|
KHR_TEXTURE_TRANSFORM: "KHR_texture_transform",
|
|
392
395
|
KHR_MESH_QUANTIZATION: "KHR_mesh_quantization",
|
|
393
|
-
MSFT_TEXTURE_DDS: "MSFT_texture_dds"
|
|
396
|
+
MSFT_TEXTURE_DDS: "MSFT_texture_dds",
|
|
397
|
+
REALSEE_MATERIALS_LIGHTMAP: "REALSEE_materials_lightmap"
|
|
394
398
|
};
|
|
395
|
-
function
|
|
399
|
+
function m(e) {
|
|
396
400
|
if (!e)
|
|
397
401
|
throw new Error("THREE.GLTFLoader: Attempting to load .dds texture without importing DDSLoader");
|
|
398
402
|
this.name = u.MSFT_TEXTURE_DDS, this.ddsLoader = e;
|
|
@@ -403,18 +407,18 @@ var Wr = function() {
|
|
|
403
407
|
this.lightDefs = r.lights || [];
|
|
404
408
|
}
|
|
405
409
|
v.prototype.loadLight = function(e) {
|
|
406
|
-
var r = this.lightDefs[e], t, n = new
|
|
410
|
+
var r = this.lightDefs[e], t, n = new re(16777215);
|
|
407
411
|
r.color !== void 0 && n.fromArray(r.color);
|
|
408
412
|
var a = r.range !== void 0 ? r.range : 0;
|
|
409
413
|
switch (r.type) {
|
|
410
414
|
case "directional":
|
|
411
|
-
t = new
|
|
415
|
+
t = new ur(n), t.target.position.set(0, 0, -1), t.add(t.target);
|
|
412
416
|
break;
|
|
413
417
|
case "point":
|
|
414
|
-
t = new
|
|
418
|
+
t = new ir(n), t.distance = a;
|
|
415
419
|
break;
|
|
416
420
|
case "spot":
|
|
417
|
-
t = new
|
|
421
|
+
t = new or(n), t.distance = a, r.spot = r.spot || {}, r.spot.innerConeAngle = r.spot.innerConeAngle !== void 0 ? r.spot.innerConeAngle : 0, r.spot.outerConeAngle = r.spot.outerConeAngle !== void 0 ? r.spot.outerConeAngle : Math.PI / 4, t.angle = r.spot.outerConeAngle, t.penumbra = 1 - r.spot.innerConeAngle / r.spot.outerConeAngle, t.target.position.set(0, 0, -1), t.add(t.target);
|
|
418
422
|
break;
|
|
419
423
|
default:
|
|
420
424
|
throw new Error('THREE.GLTFLoader: Unexpected light type, "' + r.type + '".');
|
|
@@ -425,10 +429,10 @@ var Wr = function() {
|
|
|
425
429
|
this.name = u.KHR_MATERIALS_UNLIT;
|
|
426
430
|
}
|
|
427
431
|
g.prototype.getMaterialType = function() {
|
|
428
|
-
return
|
|
432
|
+
return he;
|
|
429
433
|
}, g.prototype.extendParams = function(e, r, t) {
|
|
430
434
|
var n = [];
|
|
431
|
-
e.color = new
|
|
435
|
+
e.color = new re(1, 1, 1), e.opacity = 1;
|
|
432
436
|
var a = r.pbrMetallicRoughness;
|
|
433
437
|
if (a) {
|
|
434
438
|
if (Array.isArray(a.baseColorFactor)) {
|
|
@@ -439,16 +443,16 @@ var Wr = function() {
|
|
|
439
443
|
}
|
|
440
444
|
return Promise.all(n);
|
|
441
445
|
};
|
|
442
|
-
function
|
|
446
|
+
function _() {
|
|
443
447
|
this.name = u.KHR_MATERIALS_CLEARCOAT;
|
|
444
448
|
}
|
|
445
|
-
|
|
449
|
+
_.prototype.getMaterialType = function() {
|
|
446
450
|
return ke;
|
|
447
|
-
},
|
|
451
|
+
}, _.prototype.extendParams = function(e, r, t) {
|
|
448
452
|
var n = [], a = r.extensions[this.name];
|
|
449
453
|
if (a.clearcoatFactor !== void 0 && (e.clearcoat = a.clearcoatFactor), a.clearcoatTexture !== void 0 && n.push(t.assignTexture(e, "clearcoatMap", a.clearcoatTexture)), a.clearcoatRoughnessFactor !== void 0 && (e.clearcoatRoughness = a.clearcoatRoughnessFactor), a.clearcoatRoughnessTexture !== void 0 && n.push(t.assignTexture(e, "clearcoatRoughnessMap", a.clearcoatRoughnessTexture)), a.clearcoatNormalTexture !== void 0 && (n.push(t.assignTexture(e, "clearcoatNormalMap", a.clearcoatNormalTexture)), a.clearcoatNormalTexture.scale !== void 0)) {
|
|
450
454
|
var i = a.clearcoatNormalTexture.scale;
|
|
451
|
-
e.clearcoatNormalScale = new
|
|
455
|
+
e.clearcoatNormalScale = new Be(i, i);
|
|
452
456
|
}
|
|
453
457
|
return Promise.all(n);
|
|
454
458
|
};
|
|
@@ -459,29 +463,29 @@ var Wr = function() {
|
|
|
459
463
|
return ke;
|
|
460
464
|
}, x.prototype.extendParams = function(e, r, t) {
|
|
461
465
|
var n = [], a = r.extensions[this.name];
|
|
462
|
-
return a.transmissionFactor !== void 0 && (e.premultipliedAlpha = !0, e.transparent = !0, e.opacity =
|
|
466
|
+
return a.transmissionFactor !== void 0 && (e.premultipliedAlpha = !0, e.transparent = !0, e.opacity = e.opacity !== void 0 ? e.opacity : 0.5), Promise.all(n);
|
|
463
467
|
};
|
|
464
|
-
var
|
|
465
|
-
function
|
|
468
|
+
var F = "glTF", R = 12, I = { JSON: 1313821514, BIN: 5130562 };
|
|
469
|
+
function P(e) {
|
|
466
470
|
this.name = u.KHR_BINARY_GLTF, this.content = null, this.body = null;
|
|
467
|
-
var r = new DataView(e, 0,
|
|
471
|
+
var r = new DataView(e, 0, R);
|
|
468
472
|
if (this.header = {
|
|
469
|
-
magic:
|
|
473
|
+
magic: pe.decodeText(new Uint8Array(e.slice(0, 4))),
|
|
470
474
|
version: r.getUint32(4, !0),
|
|
471
475
|
length: r.getUint32(8, !0)
|
|
472
|
-
}, this.header.magic !==
|
|
476
|
+
}, this.header.magic !== F)
|
|
473
477
|
throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
|
|
474
478
|
if (this.header.version < 2)
|
|
475
479
|
throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
|
|
476
|
-
for (var t = new DataView(e,
|
|
480
|
+
for (var t = new DataView(e, R), n = 0; n < t.byteLength; ) {
|
|
477
481
|
var a = t.getUint32(n, !0);
|
|
478
482
|
n += 4;
|
|
479
483
|
var i = t.getUint32(n, !0);
|
|
480
|
-
if (n += 4, i ===
|
|
481
|
-
var s = new Uint8Array(e,
|
|
482
|
-
this.content =
|
|
483
|
-
} else if (i ===
|
|
484
|
-
var o =
|
|
484
|
+
if (n += 4, i === I.JSON) {
|
|
485
|
+
var s = new Uint8Array(e, R + n, a);
|
|
486
|
+
this.content = pe.decodeText(s);
|
|
487
|
+
} else if (i === I.BIN) {
|
|
488
|
+
var o = R + n;
|
|
485
489
|
this.body = e.slice(o, o + a);
|
|
486
490
|
}
|
|
487
491
|
n += a;
|
|
@@ -489,33 +493,33 @@ var Wr = function() {
|
|
|
489
493
|
if (this.content === null)
|
|
490
494
|
throw new Error("THREE.GLTFLoader: JSON content not found.");
|
|
491
495
|
}
|
|
492
|
-
function
|
|
496
|
+
function b(e, r) {
|
|
493
497
|
if (!r)
|
|
494
498
|
throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
|
|
495
499
|
this.name = u.KHR_DRACO_MESH_COMPRESSION, this.json = e, this.dracoLoader = r, this.dracoLoader.preload();
|
|
496
500
|
}
|
|
497
|
-
|
|
498
|
-
var t = this.json, n = this.dracoLoader, a = e.extensions[this.name].bufferView, i = e.extensions[this.name].attributes, s = {}, o = {},
|
|
499
|
-
for (var
|
|
500
|
-
var h =
|
|
501
|
-
s[h] = i[
|
|
501
|
+
b.prototype.decodePrimitive = function(e, r) {
|
|
502
|
+
var t = this.json, n = this.dracoLoader, a = e.extensions[this.name].bufferView, i = e.extensions[this.name].attributes, s = {}, o = {}, l = {};
|
|
503
|
+
for (var f in i) {
|
|
504
|
+
var h = le[f] || f.toLowerCase();
|
|
505
|
+
s[h] = i[f];
|
|
502
506
|
}
|
|
503
|
-
for (
|
|
504
|
-
var h =
|
|
505
|
-
if (i[
|
|
506
|
-
var
|
|
507
|
-
|
|
507
|
+
for (f in e.attributes) {
|
|
508
|
+
var h = le[f] || f.toLowerCase();
|
|
509
|
+
if (i[f] !== void 0) {
|
|
510
|
+
var c = t.accessors[e.attributes[f]], d = Q[c.componentType];
|
|
511
|
+
l[h] = d, o[h] = c.normalized === !0;
|
|
508
512
|
}
|
|
509
513
|
}
|
|
510
|
-
return r.getDependency("bufferView", a).then(function(
|
|
511
|
-
return new Promise(function(
|
|
512
|
-
n.decodeDracoFile(
|
|
513
|
-
for (var
|
|
514
|
-
var
|
|
515
|
-
O !== void 0 && (
|
|
514
|
+
return r.getDependency("bufferView", a).then(function(A) {
|
|
515
|
+
return new Promise(function(y) {
|
|
516
|
+
n.decodeDracoFile(A, function(E) {
|
|
517
|
+
for (var S in E.attributes) {
|
|
518
|
+
var L = E.attributes[S], O = o[S];
|
|
519
|
+
O !== void 0 && (L.normalized = O);
|
|
516
520
|
}
|
|
517
|
-
|
|
518
|
-
}, s,
|
|
521
|
+
y(E);
|
|
522
|
+
}, s, l);
|
|
519
523
|
});
|
|
520
524
|
});
|
|
521
525
|
};
|
|
@@ -526,7 +530,7 @@ var Wr = function() {
|
|
|
526
530
|
return e = e.clone(), r.offset !== void 0 && e.offset.fromArray(r.offset), r.rotation !== void 0 && (e.rotation = r.rotation), r.scale !== void 0 && e.repeat.fromArray(r.scale), r.texCoord !== void 0 && console.warn('THREE.GLTFLoader: Custom UV sets in "' + this.name + '" extension not yet supported.'), e.needsUpdate = !0, e;
|
|
527
531
|
};
|
|
528
532
|
function w(e) {
|
|
529
|
-
|
|
533
|
+
ve.call(this), this.isGLTFSpecularGlossinessMaterial = !0;
|
|
530
534
|
var r = [
|
|
531
535
|
"#ifdef USE_SPECULARMAP",
|
|
532
536
|
" uniform sampler2D specularMap;",
|
|
@@ -565,14 +569,14 @@ var Wr = function() {
|
|
|
565
569
|
"material.specularColor = specularFactor.rgb;"
|
|
566
570
|
].join(`
|
|
567
571
|
`), s = {
|
|
568
|
-
specular: { value: new
|
|
572
|
+
specular: { value: new re().setHex(16777215) },
|
|
569
573
|
glossiness: { value: 1 },
|
|
570
574
|
specularMap: { value: null },
|
|
571
575
|
glossinessMap: { value: null }
|
|
572
576
|
};
|
|
573
577
|
this._extraUniforms = s, this.onBeforeCompile = function(o) {
|
|
574
|
-
for (var
|
|
575
|
-
o.uniforms[
|
|
578
|
+
for (var l in s)
|
|
579
|
+
o.uniforms[l] = s[l];
|
|
576
580
|
o.fragmentShader = o.fragmentShader.replace("uniform float roughness;", "uniform vec3 specular;"), o.fragmentShader = o.fragmentShader.replace("uniform float metalness;", "uniform float glossiness;"), o.fragmentShader = o.fragmentShader.replace("#include <roughnessmap_pars_fragment>", r), o.fragmentShader = o.fragmentShader.replace("#include <metalnessmap_pars_fragment>", t), o.fragmentShader = o.fragmentShader.replace("#include <roughnessmap_fragment>", n), o.fragmentShader = o.fragmentShader.replace("#include <metalnessmap_fragment>", a), o.fragmentShader = o.fragmentShader.replace("#include <lights_physical_fragment>", i);
|
|
577
581
|
}, Object.defineProperties(
|
|
578
582
|
this,
|
|
@@ -612,8 +616,8 @@ var Wr = function() {
|
|
|
612
616
|
}
|
|
613
617
|
), delete this.metalness, delete this.roughness, delete this.metalnessMap, delete this.roughnessMap, this.setValues(e);
|
|
614
618
|
}
|
|
615
|
-
w.prototype = Object.create(
|
|
616
|
-
return
|
|
619
|
+
w.prototype = Object.create(ve.prototype), w.prototype.constructor = w, w.prototype.copy = function(e) {
|
|
620
|
+
return ve.prototype.copy.call(this, e), this.specularMap = e.specularMap, this.specular.copy(e.specular), this.glossinessMap = e.glossinessMap, this.glossiness = e.glossiness, delete this.metalness, delete this.roughness, delete this.metalnessMap, delete this.roughnessMap, this;
|
|
617
621
|
};
|
|
618
622
|
function K() {
|
|
619
623
|
return {
|
|
@@ -649,13 +653,13 @@ var Wr = function() {
|
|
|
649
653
|
},
|
|
650
654
|
extendParams: function(e, r, t) {
|
|
651
655
|
var n = r.extensions[this.name];
|
|
652
|
-
e.color = new
|
|
656
|
+
e.color = new re(1, 1, 1), e.opacity = 1;
|
|
653
657
|
var a = [];
|
|
654
658
|
if (Array.isArray(n.diffuseFactor)) {
|
|
655
659
|
var i = n.diffuseFactor;
|
|
656
660
|
e.color.fromArray(i), e.opacity = i[3];
|
|
657
661
|
}
|
|
658
|
-
if (n.diffuseTexture !== void 0 && a.push(t.assignTexture(e, "map", n.diffuseTexture)), e.emissive = new
|
|
662
|
+
if (n.diffuseTexture !== void 0 && a.push(t.assignTexture(e, "map", n.diffuseTexture)), e.emissive = new re(0, 0, 0), e.glossiness = n.glossinessFactor !== void 0 ? n.glossinessFactor : 1, e.specular = new re(1, 1, 1), Array.isArray(n.specularFactor) && e.specular.fromArray(n.specularFactor), n.specularGlossinessTexture !== void 0) {
|
|
659
663
|
var s = n.specularGlossinessTexture;
|
|
660
664
|
a.push(t.assignTexture(e, "glossinessMap", s)), a.push(t.assignTexture(e, "specularMap", s));
|
|
661
665
|
}
|
|
@@ -663,28 +667,39 @@ var Wr = function() {
|
|
|
663
667
|
},
|
|
664
668
|
createMaterial: function(e) {
|
|
665
669
|
var r = new w(e);
|
|
666
|
-
return r.fog = !0, r.color = e.color, r.map = e.map === void 0 ? null : e.map, r.lightMap = null, r.lightMapIntensity = 1, r.aoMap = e.aoMap === void 0 ? null : e.aoMap, r.aoMapIntensity = 1, r.emissive = e.emissive, r.emissiveIntensity = 1, r.emissiveMap = e.emissiveMap === void 0 ? null : e.emissiveMap, r.bumpMap = e.bumpMap === void 0 ? null : e.bumpMap, r.bumpScale = 1, r.normalMap = e.normalMap === void 0 ? null : e.normalMap, r.normalMapType =
|
|
670
|
+
return r.fog = !0, r.color = e.color, r.map = e.map === void 0 ? null : e.map, r.lightMap = null, r.lightMapIntensity = 1, r.aoMap = e.aoMap === void 0 ? null : e.aoMap, r.aoMapIntensity = 1, r.emissive = e.emissive, r.emissiveIntensity = 1, r.emissiveMap = e.emissiveMap === void 0 ? null : e.emissiveMap, r.bumpMap = e.bumpMap === void 0 ? null : e.bumpMap, r.bumpScale = 1, r.normalMap = e.normalMap === void 0 ? null : e.normalMap, r.normalMapType = lr, e.normalScale && (r.normalScale = e.normalScale), r.displacementMap = null, r.displacementScale = 1, r.displacementBias = 0, r.specularMap = e.specularMap === void 0 ? null : e.specularMap, r.specular = e.specular, r.glossinessMap = e.glossinessMap === void 0 ? null : e.glossinessMap, r.glossiness = e.glossiness, r.alphaMap = null, r.envMap = e.envMap === void 0 ? null : e.envMap, r.envMapIntensity = 1, r.refractionRatio = 0.98, r;
|
|
667
671
|
}
|
|
668
672
|
};
|
|
669
673
|
}
|
|
670
|
-
function
|
|
674
|
+
function ne() {
|
|
671
675
|
this.name = u.KHR_MESH_QUANTIZATION;
|
|
672
676
|
}
|
|
673
|
-
function
|
|
674
|
-
|
|
677
|
+
function D(e, r, t, n) {
|
|
678
|
+
Ke.call(this, e, r, t, n);
|
|
675
679
|
}
|
|
676
|
-
|
|
680
|
+
D.prototype = Object.create(Ke.prototype), D.prototype.constructor = D, D.prototype.copySampleValue_ = function(e) {
|
|
677
681
|
for (var r = this.resultBuffer, t = this.sampleValues, n = this.valueSize, a = e * n * 3 + n, i = 0; i !== n; i++)
|
|
678
682
|
r[i] = t[a + i];
|
|
679
683
|
return r;
|
|
680
|
-
},
|
|
681
|
-
for (var a = this.resultBuffer, i = this.sampleValues, s = this.valueSize, o = s * 2,
|
|
682
|
-
var
|
|
683
|
-
a[
|
|
684
|
+
}, D.prototype.beforeStart_ = D.prototype.copySampleValue_, D.prototype.afterEnd_ = D.prototype.copySampleValue_, D.prototype.interpolate_ = function(e, r, t, n) {
|
|
685
|
+
for (var a = this.resultBuffer, i = this.sampleValues, s = this.valueSize, o = s * 2, l = s * 3, f = n - r, h = (t - r) / f, c = h * h, d = c * h, A = e * l, y = A - l, E = -2 * d + 3 * c, S = d - c, L = 1 - E, O = S - c + h, G = 0; G !== s; G++) {
|
|
686
|
+
var te = i[y + G + s], ae = i[y + G + o] * f, $ = i[A + G + s], B = i[A + G] * f;
|
|
687
|
+
a[G] = L * te + O * ae + E * $ + S * B;
|
|
684
688
|
}
|
|
685
689
|
return a;
|
|
686
690
|
};
|
|
687
|
-
|
|
691
|
+
function J(e) {
|
|
692
|
+
this.parser = e, this.name = u.REALSEE_MATERIALS_LIGHTMAP;
|
|
693
|
+
}
|
|
694
|
+
J.prototype.getMaterialType = function(e) {
|
|
695
|
+
return fr;
|
|
696
|
+
}, J.prototype.extendParams = function(e, r, t) {
|
|
697
|
+
if (!r.extensions || !r.extensions[this.name])
|
|
698
|
+
return Promise.resolve();
|
|
699
|
+
var n = [], a = r.extensions[this.name];
|
|
700
|
+
return a.lightMapTexture !== void 0 && n.push(t.assignTexture(e, "lightMap", a.lightMapTexture)), a.lightMapIntensity !== void 0 && (e.lightMapIntensity = a.lightMapIntensity), Promise.all(n);
|
|
701
|
+
};
|
|
702
|
+
var H = {
|
|
688
703
|
FLOAT: 5126,
|
|
689
704
|
//FLOAT_MAT2: 35674,
|
|
690
705
|
FLOAT_MAT3: 35675,
|
|
@@ -704,24 +719,24 @@ var Wr = function() {
|
|
|
704
719
|
TRIANGLE_FAN: 6,
|
|
705
720
|
UNSIGNED_BYTE: 5121,
|
|
706
721
|
UNSIGNED_SHORT: 5123
|
|
707
|
-
},
|
|
722
|
+
}, Q = {
|
|
708
723
|
5120: Int8Array,
|
|
709
724
|
5121: Uint8Array,
|
|
710
725
|
5122: Int16Array,
|
|
711
726
|
5123: Uint16Array,
|
|
712
727
|
5125: Uint32Array,
|
|
713
728
|
5126: Float32Array
|
|
714
|
-
},
|
|
715
|
-
9728:
|
|
716
|
-
9729:
|
|
717
|
-
9984:
|
|
718
|
-
9985:
|
|
719
|
-
9986:
|
|
720
|
-
9987:
|
|
721
|
-
},
|
|
722
|
-
33071:
|
|
723
|
-
33648:
|
|
724
|
-
10497:
|
|
729
|
+
}, Z = {
|
|
730
|
+
9728: xr,
|
|
731
|
+
9729: Ve,
|
|
732
|
+
9984: Cr,
|
|
733
|
+
9985: Or,
|
|
734
|
+
9986: Fr,
|
|
735
|
+
9987: je
|
|
736
|
+
}, X = {
|
|
737
|
+
33071: Dr,
|
|
738
|
+
33648: Pr,
|
|
739
|
+
10497: Pe
|
|
725
740
|
}, z = {
|
|
726
741
|
SCALAR: 1,
|
|
727
742
|
VEC2: 2,
|
|
@@ -730,7 +745,7 @@ var Wr = function() {
|
|
|
730
745
|
MAT2: 4,
|
|
731
746
|
MAT3: 9,
|
|
732
747
|
MAT4: 16
|
|
733
|
-
},
|
|
748
|
+
}, le = {
|
|
734
749
|
POSITION: "position",
|
|
735
750
|
NORMAL: "normal",
|
|
736
751
|
TANGENT: "tangent",
|
|
@@ -739,72 +754,72 @@ var Wr = function() {
|
|
|
739
754
|
COLOR_0: "color",
|
|
740
755
|
WEIGHTS_0: "skinWeight",
|
|
741
756
|
JOINTS_0: "skinIndex"
|
|
742
|
-
},
|
|
757
|
+
}, V = {
|
|
743
758
|
scale: "scale",
|
|
744
759
|
translation: "position",
|
|
745
760
|
rotation: "quaternion",
|
|
746
761
|
weights: "morphTargetInfluences"
|
|
747
|
-
},
|
|
762
|
+
}, Le = {
|
|
748
763
|
CUBICSPLINE: void 0,
|
|
749
764
|
// We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
|
|
750
765
|
// keyframe track will be initialized with a default interpolation type, then modified.
|
|
751
|
-
LINEAR:
|
|
752
|
-
STEP:
|
|
753
|
-
},
|
|
766
|
+
LINEAR: Ye,
|
|
767
|
+
STEP: Ur
|
|
768
|
+
}, fe = {
|
|
754
769
|
OPAQUE: "OPAQUE",
|
|
755
770
|
MASK: "MASK",
|
|
756
771
|
BLEND: "BLEND"
|
|
757
|
-
},
|
|
758
|
-
"image/png":
|
|
759
|
-
"image/jpeg":
|
|
772
|
+
}, Te = {
|
|
773
|
+
"image/png": $e,
|
|
774
|
+
"image/jpeg": Xe
|
|
760
775
|
};
|
|
761
|
-
function
|
|
776
|
+
function ge(e, r) {
|
|
762
777
|
return typeof e != "string" || e === "" ? "" : (/^https?:\/\//i.test(r) && /^\//.test(e) && (r = r.replace(/(^https?:\/\/[^\/]+).*/i, "$1")), /^(https?:)?\/\//i.test(e) || /^data:.*,.*$/i.test(e) || /^blob:.*$/i.test(e) ? e : r + e);
|
|
763
778
|
}
|
|
764
|
-
function
|
|
765
|
-
return e.DefaultMaterial === void 0 && (e.DefaultMaterial = new
|
|
779
|
+
function Me(e) {
|
|
780
|
+
return e.DefaultMaterial === void 0 && (e.DefaultMaterial = new ve({
|
|
766
781
|
color: 16777215,
|
|
767
782
|
emissive: 0,
|
|
768
783
|
metalness: 1,
|
|
769
784
|
roughness: 1,
|
|
770
785
|
transparent: !1,
|
|
771
786
|
depthTest: !0,
|
|
772
|
-
side:
|
|
787
|
+
side: Gr
|
|
773
788
|
})), e.DefaultMaterial;
|
|
774
789
|
}
|
|
775
|
-
function
|
|
790
|
+
function oe(e, r, t) {
|
|
776
791
|
for (var n in t.extensions)
|
|
777
792
|
e[n] === void 0 && (r.userData.gltfExtensions = r.userData.gltfExtensions || {}, r.userData.gltfExtensions[n] = t.extensions[n]);
|
|
778
793
|
}
|
|
779
794
|
function W(e, r) {
|
|
780
795
|
r.extras !== void 0 && (typeof r.extras == "object" ? Object.assign(e.userData, r.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + r.extras));
|
|
781
796
|
}
|
|
782
|
-
function
|
|
797
|
+
function we(e, r, t) {
|
|
783
798
|
for (var n = !1, a = !1, i = 0, s = r.length; i < s; i++) {
|
|
784
799
|
var o = r[i];
|
|
785
800
|
if (o.POSITION !== void 0 && (n = !0), o.NORMAL !== void 0 && (a = !0), n && a) break;
|
|
786
801
|
}
|
|
787
802
|
if (!n && !a) return Promise.resolve(e);
|
|
788
|
-
for (var
|
|
803
|
+
for (var l = [], f = [], i = 0, s = r.length; i < s; i++) {
|
|
789
804
|
var o = r[i];
|
|
790
805
|
if (n) {
|
|
791
806
|
var h = o.POSITION !== void 0 ? t.getDependency("accessor", o.POSITION) : e.attributes.position;
|
|
792
|
-
|
|
807
|
+
l.push(h);
|
|
793
808
|
}
|
|
794
809
|
if (a) {
|
|
795
810
|
var h = o.NORMAL !== void 0 ? t.getDependency("accessor", o.NORMAL) : e.attributes.normal;
|
|
796
|
-
|
|
811
|
+
f.push(h);
|
|
797
812
|
}
|
|
798
813
|
}
|
|
799
814
|
return Promise.all([
|
|
800
|
-
Promise.all(
|
|
801
|
-
Promise.all(
|
|
802
|
-
]).then(function(
|
|
803
|
-
var d =
|
|
804
|
-
return n && (e.morphAttributes.position = d), a && (e.morphAttributes.normal =
|
|
815
|
+
Promise.all(l),
|
|
816
|
+
Promise.all(f)
|
|
817
|
+
]).then(function(c) {
|
|
818
|
+
var d = c[0], A = c[1];
|
|
819
|
+
return n && (e.morphAttributes.position = d), a && (e.morphAttributes.normal = A), e.morphTargetsRelative = !0, e;
|
|
805
820
|
});
|
|
806
821
|
}
|
|
807
|
-
function
|
|
822
|
+
function Ie(e, r) {
|
|
808
823
|
if (e.updateMorphTargets(), r.weights !== void 0)
|
|
809
824
|
for (var t = 0, n = r.weights.length; t < n; t++)
|
|
810
825
|
e.morphTargetInfluences[t] = r.weights[t];
|
|
@@ -818,19 +833,19 @@ var Wr = function() {
|
|
|
818
833
|
console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
|
|
819
834
|
}
|
|
820
835
|
}
|
|
821
|
-
function
|
|
836
|
+
function U(e) {
|
|
822
837
|
var r = e.extensions && e.extensions[u.KHR_DRACO_MESH_COMPRESSION], t;
|
|
823
|
-
return r ? t = "draco:" + r.bufferView + ":" + r.indices + ":" +
|
|
838
|
+
return r ? t = "draco:" + r.bufferView + ":" + r.indices + ":" + Y(r.attributes) : t = e.indices + ":" + Y(e.attributes) + ":" + e.mode, t;
|
|
824
839
|
}
|
|
825
|
-
function
|
|
840
|
+
function Y(e) {
|
|
826
841
|
for (var r = "", t = Object.keys(e).sort(), n = 0, a = t.length; n < a; n++)
|
|
827
842
|
r += t[n] + ":" + e[t[n]] + ";";
|
|
828
843
|
return r;
|
|
829
844
|
}
|
|
830
|
-
function
|
|
831
|
-
this.json = e || {}, this.extensions = r || {}, this.options = t || {}, this.cache = new T(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.textureLoader = new cr(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.fileLoader = new
|
|
845
|
+
function C(e, r, t) {
|
|
846
|
+
this.json = e || {}, this.extensions = r || {}, this.options = t || {}, this.cache = new T(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.textureLoader = new cr(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.fileLoader = new _e(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
|
|
832
847
|
}
|
|
833
|
-
|
|
848
|
+
C.prototype.parse = function(e, r) {
|
|
834
849
|
var t = this, n = this.json, a = this.extensions;
|
|
835
850
|
this.cache.removeAll(), this.markDefs(), Promise.all([
|
|
836
851
|
this.getDependencies("scene"),
|
|
@@ -846,18 +861,18 @@ var Wr = function() {
|
|
|
846
861
|
parser: t,
|
|
847
862
|
userData: {}
|
|
848
863
|
};
|
|
849
|
-
|
|
864
|
+
oe(a, s, n), W(s, n), e(s);
|
|
850
865
|
}).catch(r);
|
|
851
|
-
},
|
|
866
|
+
}, C.prototype.markDefs = function() {
|
|
852
867
|
for (var e = this.json.nodes || [], r = this.json.skins || [], t = this.json.meshes || [], n = {}, a = {}, i = 0, s = r.length; i < s; i++)
|
|
853
|
-
for (var o = r[i].joints,
|
|
854
|
-
e[o[
|
|
855
|
-
for (var h = 0,
|
|
868
|
+
for (var o = r[i].joints, l = 0, f = o.length; l < f; l++)
|
|
869
|
+
e[o[l]].isBone = !0;
|
|
870
|
+
for (var h = 0, c = e.length; h < c; h++) {
|
|
856
871
|
var d = e[h];
|
|
857
872
|
d.mesh !== void 0 && (n[d.mesh] === void 0 && (n[d.mesh] = a[d.mesh] = 0), n[d.mesh]++, d.skin !== void 0 && (t[d.mesh].isSkinnedMesh = !0));
|
|
858
873
|
}
|
|
859
874
|
this.json.meshReferences = n, this.json.meshUses = a;
|
|
860
|
-
},
|
|
875
|
+
}, C.prototype.getDependency = function(e, r) {
|
|
861
876
|
var t = e + ":" + r, n = this.cache.get(t);
|
|
862
877
|
if (!n) {
|
|
863
878
|
switch (e) {
|
|
@@ -903,7 +918,7 @@ var Wr = function() {
|
|
|
903
918
|
this.cache.add(t, n);
|
|
904
919
|
}
|
|
905
920
|
return n;
|
|
906
|
-
},
|
|
921
|
+
}, C.prototype.getDependencies = function(e) {
|
|
907
922
|
var r = this.cache.get(e);
|
|
908
923
|
if (!r) {
|
|
909
924
|
var t = this, n = this.json[e + (e === "mesh" ? "es" : "s")] || [];
|
|
@@ -912,7 +927,7 @@ var Wr = function() {
|
|
|
912
927
|
})), this.cache.add(e, r);
|
|
913
928
|
}
|
|
914
929
|
return r;
|
|
915
|
-
},
|
|
930
|
+
}, C.prototype.loadBuffer = function(e) {
|
|
916
931
|
var r = this.json.buffers[e], t = this.fileLoader;
|
|
917
932
|
if (r.type && r.type !== "arraybuffer")
|
|
918
933
|
throw new Error("THREE.GLTFLoader: " + r.type + " buffer type is not supported.");
|
|
@@ -920,60 +935,60 @@ var Wr = function() {
|
|
|
920
935
|
return Promise.resolve(this.extensions[u.KHR_BINARY_GLTF].body);
|
|
921
936
|
var n = this.options;
|
|
922
937
|
return new Promise(function(a, i) {
|
|
923
|
-
t.load(
|
|
938
|
+
t.load(ge(r.uri, n.path), a, void 0, function() {
|
|
924
939
|
i(new Error('THREE.GLTFLoader: Failed to load buffer "' + r.uri + '".'));
|
|
925
940
|
});
|
|
926
941
|
});
|
|
927
|
-
},
|
|
942
|
+
}, C.prototype.loadBufferView = function(e) {
|
|
928
943
|
var r = this.json.bufferViews[e];
|
|
929
944
|
return this.getDependency("buffer", r.buffer).then(function(t) {
|
|
930
945
|
var n = r.byteLength || 0, a = r.byteOffset || 0;
|
|
931
946
|
return t.slice(a, a + n);
|
|
932
947
|
});
|
|
933
|
-
},
|
|
948
|
+
}, C.prototype.loadAccessor = function(e) {
|
|
934
949
|
var r = this, t = this.json, n = this.json.accessors[e];
|
|
935
950
|
if (n.bufferView === void 0 && n.sparse === void 0)
|
|
936
951
|
return Promise.resolve(null);
|
|
937
952
|
var a = [];
|
|
938
953
|
return n.bufferView !== void 0 ? a.push(this.getDependency("bufferView", n.bufferView)) : a.push(null), n.sparse !== void 0 && (a.push(this.getDependency("bufferView", n.sparse.indices.bufferView)), a.push(this.getDependency("bufferView", n.sparse.values.bufferView))), Promise.all(a).then(function(i) {
|
|
939
|
-
var s = i[0], o = z[n.type],
|
|
954
|
+
var s = i[0], o = z[n.type], l = Q[n.componentType], f = l.BYTES_PER_ELEMENT, h = f * o, c = n.byteOffset || 0, d = n.bufferView !== void 0 ? t.bufferViews[n.bufferView].byteStride : void 0, A = n.normalized === !0, y, E;
|
|
940
955
|
if (d && d !== h) {
|
|
941
|
-
var
|
|
942
|
-
O || (
|
|
956
|
+
var S = Math.floor(c / d), L = "InterleavedBuffer:" + n.bufferView + ":" + n.componentType + ":" + S + ":" + n.count, O = r.cache.get(L);
|
|
957
|
+
O || (y = new l(s, S * d, n.count * d / f), O = new dr(y, d / f), r.cache.add(L, O)), E = new pr(O, o, c % d / f, A);
|
|
943
958
|
} else
|
|
944
|
-
s === null ?
|
|
959
|
+
s === null ? y = new l(n.count * o) : y = new l(s, c, n.count * o), E = new Re(y, o, A);
|
|
945
960
|
if (n.sparse !== void 0) {
|
|
946
|
-
var
|
|
947
|
-
s !== null && (
|
|
948
|
-
for (var N = 0, be =
|
|
949
|
-
var
|
|
950
|
-
if (
|
|
961
|
+
var G = z.SCALAR, te = Q[n.sparse.indices.componentType], ae = n.sparse.indices.byteOffset || 0, $ = n.sparse.values.byteOffset || 0, B = new te(i[1], ae, n.sparse.count * G), ue = new l(i[2], $, n.sparse.count * o);
|
|
962
|
+
s !== null && (E = new Re(E.array.slice(), E.itemSize, E.normalized));
|
|
963
|
+
for (var N = 0, be = B.length; N < be; N++) {
|
|
964
|
+
var se = B[N];
|
|
965
|
+
if (E.setX(se, ue[N * o]), o >= 2 && E.setY(se, ue[N * o + 1]), o >= 3 && E.setZ(se, ue[N * o + 2]), o >= 4 && E.setW(se, ue[N * o + 3]), o >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
|
|
951
966
|
}
|
|
952
967
|
}
|
|
953
|
-
return
|
|
968
|
+
return E;
|
|
954
969
|
});
|
|
955
|
-
},
|
|
956
|
-
var r = this, t = this.json, n = this.options, a = this.textureLoader, i = self.URL || self.webkitURL, s = t.textures[e], o = s.extensions || {},
|
|
957
|
-
o[u.MSFT_TEXTURE_DDS] ?
|
|
958
|
-
var
|
|
959
|
-
return
|
|
970
|
+
}, C.prototype.loadTexture = function(e) {
|
|
971
|
+
var r = this, t = this.json, n = this.options, a = this.textureLoader, i = self.URL || self.webkitURL, s = t.textures[e], o = s.extensions || {}, l;
|
|
972
|
+
o[u.MSFT_TEXTURE_DDS] ? l = t.images[o[u.MSFT_TEXTURE_DDS].source] : l = t.images[s.source];
|
|
973
|
+
var f = l.uri, h = !1;
|
|
974
|
+
return l.bufferView !== void 0 && (f = r.getDependency("bufferView", l.bufferView).then(function(c) {
|
|
960
975
|
h = !0;
|
|
961
|
-
var d = new Blob([
|
|
962
|
-
return
|
|
963
|
-
})), Promise.resolve(
|
|
964
|
-
var d = n.manager.getHandler(
|
|
965
|
-
return d || (d = o[u.MSFT_TEXTURE_DDS] ? r.extensions[u.MSFT_TEXTURE_DDS].ddsLoader : a), new Promise(function(
|
|
966
|
-
d.load(
|
|
976
|
+
var d = new Blob([c], { type: l.mimeType });
|
|
977
|
+
return f = i.createObjectURL(d), f;
|
|
978
|
+
})), Promise.resolve(f).then(function(c) {
|
|
979
|
+
var d = n.manager.getHandler(c);
|
|
980
|
+
return d || (d = o[u.MSFT_TEXTURE_DDS] ? r.extensions[u.MSFT_TEXTURE_DDS].ddsLoader : a), new Promise(function(A, y) {
|
|
981
|
+
d.load(ge(c, n.path), A, void 0, y);
|
|
967
982
|
});
|
|
968
|
-
}).then(function(
|
|
969
|
-
h === !0 && i.revokeObjectURL(
|
|
970
|
-
var d = t.samplers || {},
|
|
971
|
-
return
|
|
983
|
+
}).then(function(c) {
|
|
984
|
+
h === !0 && i.revokeObjectURL(f), c.flipY = !1, s.name && (c.name = s.name), l.mimeType in Te && (c.format = Te[l.mimeType]);
|
|
985
|
+
var d = t.samplers || {}, A = d[s.sampler] || {};
|
|
986
|
+
return c.magFilter = Z[A.magFilter] || Ve, c.minFilter = Z[A.minFilter] || je, c.wrapS = X[A.wrapS] || Pe, c.wrapT = X[A.wrapT] || Pe, r.associations.set(c, {
|
|
972
987
|
type: "textures",
|
|
973
988
|
index: e
|
|
974
|
-
}),
|
|
989
|
+
}), c;
|
|
975
990
|
});
|
|
976
|
-
},
|
|
991
|
+
}, C.prototype.assignTexture = function(e, r, t) {
|
|
977
992
|
var n = this;
|
|
978
993
|
return this.getDependency("texture", t.index).then(function(a) {
|
|
979
994
|
if (!a.isCompressedTexture)
|
|
@@ -983,74 +998,78 @@ var Wr = function() {
|
|
|
983
998
|
case "metalnessMap":
|
|
984
999
|
case "normalMap":
|
|
985
1000
|
case "roughnessMap":
|
|
986
|
-
a.format =
|
|
1001
|
+
a.format = Xe;
|
|
987
1002
|
break;
|
|
988
1003
|
}
|
|
989
1004
|
if (t.texCoord !== void 0 && t.texCoord != 0 && !(r === "aoMap" && t.texCoord == 1) && console.warn("THREE.GLTFLoader: Custom UV set " + t.texCoord + " for texture " + r + " not yet supported."), n.extensions[u.KHR_TEXTURE_TRANSFORM]) {
|
|
990
1005
|
var i = t.extensions !== void 0 ? t.extensions[u.KHR_TEXTURE_TRANSFORM] : void 0;
|
|
991
1006
|
if (i) {
|
|
992
|
-
var s =
|
|
993
|
-
a = n.extensions[u.KHR_TEXTURE_TRANSFORM].extendTexture(a, i),
|
|
1007
|
+
var s = n.associations.get(a);
|
|
1008
|
+
a = n.extensions[u.KHR_TEXTURE_TRANSFORM].extendTexture(a, i), n.associations.set(a, s);
|
|
994
1009
|
}
|
|
995
1010
|
}
|
|
996
1011
|
e[r] = a;
|
|
997
1012
|
});
|
|
998
|
-
},
|
|
999
|
-
var r = e.geometry, t = e.material, n = r.attributes.tangent !== void 0, a = r.attributes.color !== void 0, i = r.attributes.normal === void 0, s = e.isSkinnedMesh === !0, o = Object.keys(r.morphAttributes).length > 0,
|
|
1013
|
+
}, C.prototype.assignFinalMaterial = function(e) {
|
|
1014
|
+
var r = e.geometry, t = e.material, n = r.attributes.tangent !== void 0, a = r.attributes.color !== void 0, i = r.attributes.normal === void 0, s = e.isSkinnedMesh === !0, o = Object.keys(r.morphAttributes).length > 0, l = o && r.morphAttributes.normal !== void 0;
|
|
1000
1015
|
if (e.isPoints) {
|
|
1001
|
-
var
|
|
1002
|
-
h || (h = new
|
|
1016
|
+
var f = "PointsMaterial:" + t.uuid, h = this.cache.get(f);
|
|
1017
|
+
h || (h = new hr(), ze.prototype.copy.call(h, t), h.color.copy(t.color), h.map = t.map, h.sizeAttenuation = !1, this.cache.add(f, h)), t = h;
|
|
1003
1018
|
} else if (e.isLine) {
|
|
1004
|
-
var
|
|
1005
|
-
|
|
1019
|
+
var f = "LineBasicMaterial:" + t.uuid, c = this.cache.get(f);
|
|
1020
|
+
c || (c = new vr(), ze.prototype.copy.call(c, t), c.color.copy(t.color), this.cache.add(f, c)), t = c;
|
|
1006
1021
|
}
|
|
1007
1022
|
if (n || a || i || s || o) {
|
|
1008
|
-
var
|
|
1009
|
-
t.isGLTFSpecularGlossinessMaterial && (
|
|
1010
|
-
var d = this.cache.get(
|
|
1011
|
-
d || (d = t.clone(), s && (d.skinning = !0), n && (d.vertexTangents = !0), a && (d.vertexColors = !0), i && (d.flatShading = !0), o && (d.morphTargets = !0),
|
|
1023
|
+
var f = "ClonedMaterial:" + t.uuid + ":";
|
|
1024
|
+
t.isGLTFSpecularGlossinessMaterial && (f += "specular-glossiness:"), s && (f += "skinning:"), n && (f += "vertex-tangents:"), a && (f += "vertex-colors:"), i && (f += "flat-shading:"), o && (f += "morph-targets:"), l && (f += "morph-normals:");
|
|
1025
|
+
var d = this.cache.get(f);
|
|
1026
|
+
d || (d = t.clone(), s && (d.skinning = !0), n && (d.vertexTangents = !0), a && (d.vertexColors = !0), i && (d.flatShading = !0), o && (d.morphTargets = !0), l && (d.morphNormals = !0), this.cache.add(f, d), this.associations.set(d, this.associations.get(t))), t = d;
|
|
1012
1027
|
}
|
|
1013
1028
|
t.aoMap && r.attributes.uv2 === void 0 && r.attributes.uv !== void 0 && r.setAttribute("uv2", r.attributes.uv), t.normalScale && !n && (t.normalScale.y = -t.normalScale.y), t.clearcoatNormalScale && !n && (t.clearcoatNormalScale.y = -t.clearcoatNormalScale.y), e.material = t;
|
|
1014
|
-
},
|
|
1015
|
-
var r = this, t = this.json, n = this.extensions, a = t.materials[e], i, s = {}, o = a.extensions || {},
|
|
1029
|
+
}, C.prototype.loadMaterial = function(e) {
|
|
1030
|
+
var r = this, t = this.json, n = this.extensions, a = t.materials[e], i, s = {}, o = a.extensions || {}, l = [];
|
|
1016
1031
|
if (o[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]) {
|
|
1017
|
-
var
|
|
1018
|
-
i =
|
|
1032
|
+
var f = n[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];
|
|
1033
|
+
i = f.getMaterialType(), l.push(f.extendParams(s, a, r));
|
|
1019
1034
|
} else if (o[u.KHR_MATERIALS_UNLIT]) {
|
|
1020
1035
|
var h = n[u.KHR_MATERIALS_UNLIT];
|
|
1021
|
-
i = h.getMaterialType(),
|
|
1036
|
+
i = h.getMaterialType(), l.push(h.extendParams(s, a, r));
|
|
1022
1037
|
} else {
|
|
1023
|
-
i =
|
|
1024
|
-
var
|
|
1025
|
-
if (s.color = new
|
|
1026
|
-
var d =
|
|
1038
|
+
i = ve;
|
|
1039
|
+
var c = a.pbrMetallicRoughness || {};
|
|
1040
|
+
if (s.color = new re(1, 1, 1), s.opacity = 1, Array.isArray(c.baseColorFactor)) {
|
|
1041
|
+
var d = c.baseColorFactor;
|
|
1027
1042
|
s.color.fromArray(d), s.opacity = d[3];
|
|
1028
1043
|
}
|
|
1029
|
-
|
|
1044
|
+
c.baseColorTexture !== void 0 && l.push(r.assignTexture(s, "map", c.baseColorTexture)), s.metalness = c.metallicFactor !== void 0 ? c.metallicFactor : 1, s.roughness = c.roughnessFactor !== void 0 ? c.roughnessFactor : 1, c.metallicRoughnessTexture !== void 0 && (l.push(r.assignTexture(s, "metalnessMap", c.metallicRoughnessTexture)), l.push(r.assignTexture(s, "roughnessMap", c.metallicRoughnessTexture)));
|
|
1030
1045
|
}
|
|
1031
|
-
a.doubleSided === !0 && (s.side =
|
|
1032
|
-
var
|
|
1033
|
-
if (
|
|
1034
|
-
var
|
|
1035
|
-
i =
|
|
1046
|
+
a.doubleSided === !0 && (s.side = Tr);
|
|
1047
|
+
var A = a.alphaMode || fe.OPAQUE;
|
|
1048
|
+
if (A === fe.BLEND ? (s.transparent = !0, s.depthWrite = !1) : (s.transparent = !1, A === fe.MASK && (s.alphaTest = a.alphaCutoff !== void 0 ? a.alphaCutoff : 0.5)), a.normalTexture !== void 0 && i !== he && (l.push(r.assignTexture(s, "normalMap", a.normalTexture)), s.normalScale = new Be(1, 1), a.normalTexture.scale !== void 0 && s.normalScale.set(a.normalTexture.scale, a.normalTexture.scale)), a.occlusionTexture !== void 0 && i !== he && (l.push(r.assignTexture(s, "aoMap", a.occlusionTexture)), a.occlusionTexture.strength !== void 0 && (s.aoMapIntensity = a.occlusionTexture.strength)), a.emissiveFactor !== void 0 && i !== he && (s.emissive = new re().fromArray(a.emissiveFactor)), a.emissiveTexture !== void 0 && i !== he && l.push(r.assignTexture(s, "emissiveMap", a.emissiveTexture)), o[u.KHR_MATERIALS_CLEARCOAT]) {
|
|
1049
|
+
var y = n[u.KHR_MATERIALS_CLEARCOAT];
|
|
1050
|
+
i = y.getMaterialType(), l.push(y.extendParams(s, { extensions: o }, r));
|
|
1036
1051
|
}
|
|
1037
1052
|
if (o[u.KHR_MATERIALS_TRANSMISSION]) {
|
|
1038
|
-
var
|
|
1039
|
-
i =
|
|
1053
|
+
var y = n[u.KHR_MATERIALS_TRANSMISSION];
|
|
1054
|
+
i = y.getMaterialType(), l.push(y.extendParams(s, { extensions: o }, r));
|
|
1040
1055
|
}
|
|
1041
|
-
|
|
1042
|
-
var
|
|
1043
|
-
|
|
1056
|
+
if (o[u.REALSEE_MATERIALS_LIGHTMAP]) {
|
|
1057
|
+
var E = n[u.REALSEE_MATERIALS_LIGHTMAP];
|
|
1058
|
+
i = E.getMaterialType(), l.push(E.extendParams(s, { extensions: o }, r));
|
|
1059
|
+
}
|
|
1060
|
+
return Promise.all(l).then(function() {
|
|
1061
|
+
var S;
|
|
1062
|
+
return i === w ? S = n[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(s) : S = new i(s), a.name && (S.name = a.name), S.map && (S.map.encoding = We), S.emissiveMap && (S.emissiveMap.encoding = We), W(S, a), r.associations.set(S, { type: "materials", index: e }), a.extensions && oe(n, S, a), S;
|
|
1044
1063
|
});
|
|
1045
1064
|
};
|
|
1046
|
-
function
|
|
1047
|
-
var n = r.attributes, a = new
|
|
1065
|
+
function me(e, r, t) {
|
|
1066
|
+
var n = r.attributes, a = new Vr();
|
|
1048
1067
|
if (n.POSITION !== void 0) {
|
|
1049
1068
|
var i = t.json.accessors[n.POSITION], s = i.min, o = i.max;
|
|
1050
1069
|
if (s !== void 0 && o !== void 0)
|
|
1051
1070
|
a.set(
|
|
1052
|
-
new
|
|
1053
|
-
new
|
|
1071
|
+
new Ee(s[0], s[1], s[2]),
|
|
1072
|
+
new Ee(o[0], o[1], o[2])
|
|
1054
1073
|
);
|
|
1055
1074
|
else {
|
|
1056
1075
|
console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
|
|
@@ -1058,43 +1077,43 @@ var Wr = function() {
|
|
|
1058
1077
|
}
|
|
1059
1078
|
} else
|
|
1060
1079
|
return;
|
|
1061
|
-
var
|
|
1062
|
-
if (
|
|
1063
|
-
for (var
|
|
1064
|
-
var
|
|
1065
|
-
if (
|
|
1066
|
-
var i = t.json.accessors[
|
|
1067
|
-
s !== void 0 && o !== void 0 ? (h.setX(Math.max(Math.abs(s[0]), Math.abs(o[0]))), h.setY(Math.max(Math.abs(s[1]), Math.abs(o[1]))), h.setZ(Math.max(Math.abs(s[2]), Math.abs(o[2]))),
|
|
1080
|
+
var l = r.targets;
|
|
1081
|
+
if (l !== void 0) {
|
|
1082
|
+
for (var f = new Ee(), h = new Ee(), c = 0, d = l.length; c < d; c++) {
|
|
1083
|
+
var A = l[c];
|
|
1084
|
+
if (A.POSITION !== void 0) {
|
|
1085
|
+
var i = t.json.accessors[A.POSITION], s = i.min, o = i.max;
|
|
1086
|
+
s !== void 0 && o !== void 0 ? (h.setX(Math.max(Math.abs(s[0]), Math.abs(o[0]))), h.setY(Math.max(Math.abs(s[1]), Math.abs(o[1]))), h.setZ(Math.max(Math.abs(s[2]), Math.abs(o[2]))), f.max(h)) : console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
|
|
1068
1087
|
}
|
|
1069
1088
|
}
|
|
1070
|
-
a.expandByVector(
|
|
1089
|
+
a.expandByVector(f);
|
|
1071
1090
|
}
|
|
1072
1091
|
e.boundingBox = a;
|
|
1073
|
-
var
|
|
1074
|
-
a.getCenter(
|
|
1092
|
+
var y = new jr();
|
|
1093
|
+
a.getCenter(y.center), y.radius = a.min.distanceTo(a.max) / 2, e.boundingSphere = y;
|
|
1075
1094
|
}
|
|
1076
|
-
function
|
|
1095
|
+
function j(e, r, t) {
|
|
1077
1096
|
var n = r.attributes, a = [];
|
|
1078
|
-
function i(
|
|
1079
|
-
return t.getDependency("accessor",
|
|
1080
|
-
e.setAttribute(h,
|
|
1097
|
+
function i(f, h) {
|
|
1098
|
+
return t.getDependency("accessor", f).then(function(c) {
|
|
1099
|
+
e.setAttribute(h, c);
|
|
1081
1100
|
});
|
|
1082
1101
|
}
|
|
1083
1102
|
for (var s in n) {
|
|
1084
|
-
var o =
|
|
1103
|
+
var o = le[s] || s.toLowerCase();
|
|
1085
1104
|
o in e.attributes || a.push(i(n[s], o));
|
|
1086
1105
|
}
|
|
1087
1106
|
if (r.indices !== void 0 && !e.index) {
|
|
1088
|
-
var
|
|
1089
|
-
e.setIndex(
|
|
1107
|
+
var l = t.getDependency("accessor", r.indices).then(function(f) {
|
|
1108
|
+
e.setIndex(f);
|
|
1090
1109
|
});
|
|
1091
|
-
a.push(
|
|
1110
|
+
a.push(l);
|
|
1092
1111
|
}
|
|
1093
|
-
return W(e, r),
|
|
1094
|
-
return r.targets !== void 0 ?
|
|
1112
|
+
return W(e, r), me(e, r, t), Promise.all(a).then(function() {
|
|
1113
|
+
return r.targets !== void 0 ? we(e, r.targets, t) : e;
|
|
1095
1114
|
});
|
|
1096
1115
|
}
|
|
1097
|
-
function
|
|
1116
|
+
function ie(e, r) {
|
|
1098
1117
|
var t = e.getIndex();
|
|
1099
1118
|
if (t === null) {
|
|
1100
1119
|
var n = [], a = e.getAttribute("position");
|
|
@@ -1106,77 +1125,77 @@ var Wr = function() {
|
|
|
1106
1125
|
return console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), e;
|
|
1107
1126
|
}
|
|
1108
1127
|
var s = t.count - 2, o = [];
|
|
1109
|
-
if (r ===
|
|
1128
|
+
if (r === Je)
|
|
1110
1129
|
for (var i = 1; i <= s; i++)
|
|
1111
1130
|
o.push(t.getX(0)), o.push(t.getX(i)), o.push(t.getX(i + 1));
|
|
1112
1131
|
else
|
|
1113
1132
|
for (var i = 0; i < s; i++)
|
|
1114
1133
|
i % 2 === 0 ? (o.push(t.getX(i)), o.push(t.getX(i + 1)), o.push(t.getX(i + 2))) : (o.push(t.getX(i + 2)), o.push(t.getX(i + 1)), o.push(t.getX(i)));
|
|
1115
1134
|
o.length / 3 !== s && console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
|
|
1116
|
-
var
|
|
1117
|
-
return
|
|
1135
|
+
var l = e.clone();
|
|
1136
|
+
return l.setIndex(o), l;
|
|
1118
1137
|
}
|
|
1119
|
-
return
|
|
1138
|
+
return C.prototype.loadGeometries = function(e) {
|
|
1120
1139
|
var r = this, t = this.extensions, n = this.primitiveCache;
|
|
1121
1140
|
function a(d) {
|
|
1122
|
-
return t[u.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(d, r).then(function(
|
|
1123
|
-
return
|
|
1141
|
+
return t[u.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(d, r).then(function(A) {
|
|
1142
|
+
return j(A, d, r);
|
|
1124
1143
|
});
|
|
1125
1144
|
}
|
|
1126
1145
|
for (var i = [], s = 0, o = e.length; s < o; s++) {
|
|
1127
|
-
var
|
|
1146
|
+
var l = e[s], f = U(l), h = n[f];
|
|
1128
1147
|
if (h)
|
|
1129
1148
|
i.push(h.promise);
|
|
1130
1149
|
else {
|
|
1131
|
-
var
|
|
1132
|
-
|
|
1150
|
+
var c;
|
|
1151
|
+
l.extensions && l.extensions[u.KHR_DRACO_MESH_COMPRESSION] ? c = a(l) : c = j(new Ze(), l, r), n[f] = { primitive: l, promise: c }, i.push(c);
|
|
1133
1152
|
}
|
|
1134
1153
|
}
|
|
1135
1154
|
return Promise.all(i);
|
|
1136
|
-
},
|
|
1155
|
+
}, C.prototype.loadMesh = function(e) {
|
|
1137
1156
|
for (var r = this, t = this.json, n = t.meshes[e], a = n.primitives, i = [], s = 0, o = a.length; s < o; s++) {
|
|
1138
|
-
var
|
|
1139
|
-
i.push(
|
|
1157
|
+
var l = a[s].material === void 0 ? Me(this.cache) : this.getDependency("material", a[s].material);
|
|
1158
|
+
i.push(l);
|
|
1140
1159
|
}
|
|
1141
|
-
return i.push(r.loadGeometries(a)), Promise.all(i).then(function(
|
|
1142
|
-
for (var h =
|
|
1143
|
-
var
|
|
1144
|
-
if (
|
|
1145
|
-
|
|
1146
|
-
else if (
|
|
1147
|
-
|
|
1148
|
-
else if (
|
|
1149
|
-
|
|
1150
|
-
else if (
|
|
1151
|
-
|
|
1152
|
-
else if (
|
|
1153
|
-
|
|
1160
|
+
return i.push(r.loadGeometries(a)), Promise.all(i).then(function(f) {
|
|
1161
|
+
for (var h = f.slice(0, f.length - 1), c = f[f.length - 1], d = [], A = 0, y = c.length; A < y; A++) {
|
|
1162
|
+
var E = c[A], S = a[A], L, O = h[A];
|
|
1163
|
+
if (S.mode === H.TRIANGLES || S.mode === H.TRIANGLE_STRIP || S.mode === H.TRIANGLE_FAN || S.mode === void 0)
|
|
1164
|
+
L = n.isSkinnedMesh === !0 ? new gr(E, O) : new mr(E, O), L.isSkinnedMesh === !0 && !L.geometry.attributes.skinWeight.normalized && L.normalizeSkinWeights(), S.mode === H.TRIANGLE_STRIP ? L.geometry = ie(L.geometry, Nr) : S.mode === H.TRIANGLE_FAN && (L.geometry = ie(L.geometry, Je));
|
|
1165
|
+
else if (S.mode === H.LINES)
|
|
1166
|
+
L = new Ar(E, O);
|
|
1167
|
+
else if (S.mode === H.LINE_STRIP)
|
|
1168
|
+
L = new Sr(E, O);
|
|
1169
|
+
else if (S.mode === H.LINE_LOOP)
|
|
1170
|
+
L = new Er(E, O);
|
|
1171
|
+
else if (S.mode === H.POINTS)
|
|
1172
|
+
L = new yr(E, O);
|
|
1154
1173
|
else
|
|
1155
|
-
throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " +
|
|
1156
|
-
Object.keys(
|
|
1174
|
+
throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + S.mode);
|
|
1175
|
+
Object.keys(L.geometry.morphAttributes).length > 0 && Ie(L, n), L.name = n.name || "mesh_" + e, c.length > 1 && (L.name += "_" + A), W(L, n), r.assignFinalMaterial(L), d.push(L);
|
|
1157
1176
|
}
|
|
1158
1177
|
if (d.length === 1)
|
|
1159
1178
|
return d[0];
|
|
1160
|
-
for (var
|
|
1161
|
-
|
|
1162
|
-
return
|
|
1179
|
+
for (var G = new Ue(), A = 0, y = d.length; A < y; A++)
|
|
1180
|
+
G.add(d[A]);
|
|
1181
|
+
return G;
|
|
1163
1182
|
});
|
|
1164
|
-
},
|
|
1183
|
+
}, C.prototype.loadCamera = function(e) {
|
|
1165
1184
|
var r, t = this.json.cameras[e], n = t[t.type];
|
|
1166
1185
|
if (!n) {
|
|
1167
1186
|
console.warn("THREE.GLTFLoader: Missing camera parameters.");
|
|
1168
1187
|
return;
|
|
1169
1188
|
}
|
|
1170
|
-
return t.type === "perspective" ? r = new
|
|
1171
|
-
},
|
|
1189
|
+
return t.type === "perspective" ? r = new _r(Rr.radToDeg(n.yfov), n.aspectRatio || 1, n.znear || 1, n.zfar || 2e6) : t.type === "orthographic" && (r = new Lr(-n.xmag, n.xmag, n.ymag, -n.ymag, n.znear, n.zfar)), t.name && (r.name = t.name), W(r, t), Promise.resolve(r);
|
|
1190
|
+
}, C.prototype.loadSkin = function(e) {
|
|
1172
1191
|
var r = this.json.skins[e], t = { joints: r.joints };
|
|
1173
1192
|
return r.inverseBindMatrices === void 0 ? Promise.resolve(t) : this.getDependency("accessor", r.inverseBindMatrices).then(function(n) {
|
|
1174
1193
|
return t.inverseBindMatrices = n, t;
|
|
1175
1194
|
});
|
|
1176
|
-
},
|
|
1177
|
-
for (var r = this.json, t = r.animations[e], n = [], a = [], i = [], s = [], o = [],
|
|
1178
|
-
var h = t.channels[
|
|
1179
|
-
n.push(this.getDependency("node",
|
|
1195
|
+
}, C.prototype.loadAnimation = function(e) {
|
|
1196
|
+
for (var r = this.json, t = r.animations[e], n = [], a = [], i = [], s = [], o = [], l = 0, f = t.channels.length; l < f; l++) {
|
|
1197
|
+
var h = t.channels[l], c = t.samplers[h.sampler], d = h.target, A = d.node !== void 0 ? d.node : d.id, y = t.parameters !== void 0 ? t.parameters[c.input] : c.input, E = t.parameters !== void 0 ? t.parameters[c.output] : c.output;
|
|
1198
|
+
n.push(this.getDependency("node", A)), a.push(this.getDependency("accessor", y)), i.push(this.getDependency("accessor", E)), s.push(c), o.push(d);
|
|
1180
1199
|
}
|
|
1181
1200
|
return Promise.all([
|
|
1182
1201
|
Promise.all(n),
|
|
@@ -1184,115 +1203,115 @@ var Wr = function() {
|
|
|
1184
1203
|
Promise.all(i),
|
|
1185
1204
|
Promise.all(s),
|
|
1186
1205
|
Promise.all(o)
|
|
1187
|
-
]).then(function(
|
|
1188
|
-
for (var
|
|
1189
|
-
var N =
|
|
1206
|
+
]).then(function(S) {
|
|
1207
|
+
for (var L = S[0], O = S[1], G = S[2], te = S[3], ae = S[4], $ = [], B = 0, ue = L.length; B < ue; B++) {
|
|
1208
|
+
var N = L[B], be = O[B], se = G[B], xe = te[B], Ce = ae[B];
|
|
1190
1209
|
if (N !== void 0) {
|
|
1191
1210
|
N.updateMatrix(), N.matrixAutoUpdate = !0;
|
|
1192
|
-
var
|
|
1193
|
-
switch (
|
|
1194
|
-
case
|
|
1195
|
-
|
|
1211
|
+
var Ae;
|
|
1212
|
+
switch (V[Ce.path]) {
|
|
1213
|
+
case V.weights:
|
|
1214
|
+
Ae = Br;
|
|
1196
1215
|
break;
|
|
1197
|
-
case
|
|
1198
|
-
|
|
1216
|
+
case V.rotation:
|
|
1217
|
+
Ae = kr;
|
|
1199
1218
|
break;
|
|
1200
|
-
case
|
|
1201
|
-
case
|
|
1219
|
+
case V.position:
|
|
1220
|
+
case V.scale:
|
|
1202
1221
|
default:
|
|
1203
|
-
|
|
1222
|
+
Ae = Hr;
|
|
1204
1223
|
break;
|
|
1205
1224
|
}
|
|
1206
|
-
var
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
}) :
|
|
1210
|
-
var
|
|
1211
|
-
if (
|
|
1225
|
+
var nr = N.name ? N.name : N.uuid, tr = xe.interpolation !== void 0 ? Le[xe.interpolation] : Ye, Se = [];
|
|
1226
|
+
V[Ce.path] === V.weights ? N.traverse(function(de) {
|
|
1227
|
+
de.isMesh === !0 && de.morphTargetInfluences && Se.push(de.name ? de.name : de.uuid);
|
|
1228
|
+
}) : Se.push(nr);
|
|
1229
|
+
var q = se.array;
|
|
1230
|
+
if (se.normalized) {
|
|
1212
1231
|
var ce;
|
|
1213
|
-
if (
|
|
1232
|
+
if (q.constructor === Int8Array)
|
|
1214
1233
|
ce = 1 / 127;
|
|
1215
|
-
else if (
|
|
1234
|
+
else if (q.constructor === Uint8Array)
|
|
1216
1235
|
ce = 1 / 255;
|
|
1217
|
-
else if (
|
|
1236
|
+
else if (q.constructor == Int16Array)
|
|
1218
1237
|
ce = 1 / 32767;
|
|
1219
|
-
else if (
|
|
1238
|
+
else if (q.constructor === Uint16Array)
|
|
1220
1239
|
ce = 1 / 65535;
|
|
1221
1240
|
else
|
|
1222
1241
|
throw new Error("THREE.GLTFLoader: Unsupported output accessor component type.");
|
|
1223
|
-
for (var
|
|
1224
|
-
|
|
1225
|
-
|
|
1242
|
+
for (var He = new Float32Array(q.length), ee = 0, Oe = q.length; ee < Oe; ee++)
|
|
1243
|
+
He[ee] = q[ee] * ce;
|
|
1244
|
+
q = He;
|
|
1226
1245
|
}
|
|
1227
|
-
for (var
|
|
1228
|
-
var
|
|
1229
|
-
|
|
1246
|
+
for (var ee = 0, Oe = Se.length; ee < Oe; ee++) {
|
|
1247
|
+
var Fe = new Ae(
|
|
1248
|
+
Se[ee] + "." + V[Ce.path],
|
|
1230
1249
|
be.array,
|
|
1231
|
-
|
|
1232
|
-
|
|
1250
|
+
q,
|
|
1251
|
+
tr
|
|
1233
1252
|
);
|
|
1234
|
-
|
|
1235
|
-
return new
|
|
1236
|
-
},
|
|
1253
|
+
xe.interpolation === "CUBICSPLINE" && (Fe.createInterpolant = function(sr) {
|
|
1254
|
+
return new D(this.times, this.values, this.getValueSize() / 3, sr);
|
|
1255
|
+
}, Fe.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0), $.push(Fe);
|
|
1237
1256
|
}
|
|
1238
1257
|
}
|
|
1239
1258
|
}
|
|
1240
|
-
var
|
|
1241
|
-
return new
|
|
1259
|
+
var ar = t.name ? t.name : "animation_" + e;
|
|
1260
|
+
return new Mr(ar, void 0, $);
|
|
1242
1261
|
});
|
|
1243
|
-
},
|
|
1262
|
+
}, C.prototype.loadNode = function(e) {
|
|
1244
1263
|
var r = this.json, t = this.extensions, n = this, a = r.meshReferences, i = r.meshUses, s = r.nodes[e];
|
|
1245
1264
|
return function() {
|
|
1246
1265
|
var o = [];
|
|
1247
|
-
return s.mesh !== void 0 && o.push(n.getDependency("mesh", s.mesh).then(function(
|
|
1248
|
-
var
|
|
1266
|
+
return s.mesh !== void 0 && o.push(n.getDependency("mesh", s.mesh).then(function(l) {
|
|
1267
|
+
var f;
|
|
1249
1268
|
if (a[s.mesh] > 1) {
|
|
1250
1269
|
var h = i[s.mesh]++;
|
|
1251
|
-
|
|
1270
|
+
f = l.clone(), f.name += "_instance_" + h;
|
|
1252
1271
|
} else
|
|
1253
|
-
|
|
1254
|
-
return s.weights !== void 0 &&
|
|
1255
|
-
if (
|
|
1256
|
-
for (var d = 0,
|
|
1257
|
-
|
|
1258
|
-
}),
|
|
1272
|
+
f = l;
|
|
1273
|
+
return s.weights !== void 0 && f.traverse(function(c) {
|
|
1274
|
+
if (c.isMesh)
|
|
1275
|
+
for (var d = 0, A = s.weights.length; d < A; d++)
|
|
1276
|
+
c.morphTargetInfluences[d] = s.weights[d];
|
|
1277
|
+
}), f;
|
|
1259
1278
|
})), s.camera !== void 0 && o.push(n.getDependency("camera", s.camera)), s.extensions && s.extensions[u.KHR_LIGHTS_PUNCTUAL] && s.extensions[u.KHR_LIGHTS_PUNCTUAL].light !== void 0 && o.push(n.getDependency("light", s.extensions[u.KHR_LIGHTS_PUNCTUAL].light)), Promise.all(o);
|
|
1260
1279
|
}().then(function(o) {
|
|
1261
|
-
var
|
|
1262
|
-
if (s.isBone === !0 ?
|
|
1263
|
-
for (var
|
|
1264
|
-
|
|
1265
|
-
if (s.name && (
|
|
1266
|
-
var
|
|
1267
|
-
|
|
1280
|
+
var l;
|
|
1281
|
+
if (s.isBone === !0 ? l = new wr() : o.length > 1 ? l = new Ue() : o.length === 1 ? l = o[0] : l = new Ir(), l !== o[0])
|
|
1282
|
+
for (var f = 0, h = o.length; f < h; f++)
|
|
1283
|
+
l.add(o[f]);
|
|
1284
|
+
if (s.name && (l.userData.name = s.name, l.name = br.sanitizeNodeName(s.name)), W(l, s), s.extensions && oe(t, l, s), s.matrix !== void 0) {
|
|
1285
|
+
var c = new qe();
|
|
1286
|
+
c.fromArray(s.matrix), l.applyMatrix4(c);
|
|
1268
1287
|
} else
|
|
1269
|
-
s.translation !== void 0 &&
|
|
1270
|
-
return n.associations.set(
|
|
1288
|
+
s.translation !== void 0 && l.position.fromArray(s.translation), s.rotation !== void 0 && l.quaternion.fromArray(s.rotation), s.scale !== void 0 && l.scale.fromArray(s.scale);
|
|
1289
|
+
return n.associations.set(l, { type: "nodes", index: e }), l;
|
|
1271
1290
|
});
|
|
1272
|
-
},
|
|
1291
|
+
}, C.prototype.loadScene = /* @__PURE__ */ function() {
|
|
1273
1292
|
function e(r, t, n, a) {
|
|
1274
1293
|
var i = n.nodes[r];
|
|
1275
1294
|
return a.getDependency("node", r).then(function(s) {
|
|
1276
1295
|
if (i.skin === void 0) return s;
|
|
1277
1296
|
var o;
|
|
1278
|
-
return a.getDependency("skin", i.skin).then(function(
|
|
1279
|
-
o =
|
|
1280
|
-
for (var
|
|
1281
|
-
|
|
1282
|
-
return Promise.all(
|
|
1283
|
-
}).then(function(
|
|
1284
|
-
return s.traverse(function(
|
|
1285
|
-
if (
|
|
1286
|
-
for (var h = [],
|
|
1287
|
-
var
|
|
1288
|
-
if (
|
|
1289
|
-
h.push(
|
|
1290
|
-
var
|
|
1291
|
-
o.inverseBindMatrices !== void 0 &&
|
|
1297
|
+
return a.getDependency("skin", i.skin).then(function(l) {
|
|
1298
|
+
o = l;
|
|
1299
|
+
for (var f = [], h = 0, c = o.joints.length; h < c; h++)
|
|
1300
|
+
f.push(a.getDependency("node", o.joints[h]));
|
|
1301
|
+
return Promise.all(f);
|
|
1302
|
+
}).then(function(l) {
|
|
1303
|
+
return s.traverse(function(f) {
|
|
1304
|
+
if (f.isMesh) {
|
|
1305
|
+
for (var h = [], c = [], d = 0, A = l.length; d < A; d++) {
|
|
1306
|
+
var y = l[d];
|
|
1307
|
+
if (y) {
|
|
1308
|
+
h.push(y);
|
|
1309
|
+
var E = new qe();
|
|
1310
|
+
o.inverseBindMatrices !== void 0 && E.fromArray(o.inverseBindMatrices.array, d * 16), c.push(E);
|
|
1292
1311
|
} else
|
|
1293
1312
|
console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', o.joints[d]);
|
|
1294
1313
|
}
|
|
1295
|
-
|
|
1314
|
+
f.bind(new Kr(h, c), f.matrixWorld);
|
|
1296
1315
|
}
|
|
1297
1316
|
}), s;
|
|
1298
1317
|
});
|
|
@@ -1300,25 +1319,25 @@ var Wr = function() {
|
|
|
1300
1319
|
t.add(s);
|
|
1301
1320
|
var o = [];
|
|
1302
1321
|
if (i.children)
|
|
1303
|
-
for (var
|
|
1304
|
-
var
|
|
1305
|
-
o.push(e(
|
|
1322
|
+
for (var l = i.children, f = 0, h = l.length; f < h; f++) {
|
|
1323
|
+
var c = l[f];
|
|
1324
|
+
o.push(e(c, s, n, a));
|
|
1306
1325
|
}
|
|
1307
1326
|
return Promise.all(o);
|
|
1308
1327
|
});
|
|
1309
1328
|
}
|
|
1310
1329
|
return function(t) {
|
|
1311
|
-
var n = this.json, a = this.extensions, i = this.json.scenes[t], s = this, o = new
|
|
1312
|
-
i.name && (o.name = i.name), W(o, i), i.extensions &&
|
|
1313
|
-
for (var
|
|
1314
|
-
|
|
1315
|
-
return Promise.all(
|
|
1330
|
+
var n = this.json, a = this.extensions, i = this.json.scenes[t], s = this, o = new Ue();
|
|
1331
|
+
i.name && (o.name = i.name), W(o, i), i.extensions && oe(a, o, i);
|
|
1332
|
+
for (var l = i.nodes || [], f = [], h = 0, c = l.length; h < c; h++)
|
|
1333
|
+
f.push(e(l[h], o, n, s));
|
|
1334
|
+
return Promise.all(f).then(function() {
|
|
1316
1335
|
return o;
|
|
1317
1336
|
});
|
|
1318
1337
|
};
|
|
1319
1338
|
}(), p;
|
|
1320
|
-
}(),
|
|
1321
|
-
|
|
1339
|
+
}(), k = function(p) {
|
|
1340
|
+
ye.call(this, p), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
|
|
1322
1341
|
position: "POSITION",
|
|
1323
1342
|
normal: "NORMAL",
|
|
1324
1343
|
color: "COLOR",
|
|
@@ -1330,8 +1349,8 @@ var Wr = function() {
|
|
|
1330
1349
|
uv: "Float32Array"
|
|
1331
1350
|
};
|
|
1332
1351
|
};
|
|
1333
|
-
|
|
1334
|
-
constructor:
|
|
1352
|
+
k.prototype = Object.assign(Object.create(ye.prototype), {
|
|
1353
|
+
constructor: k,
|
|
1335
1354
|
setDecoderPath: function(p) {
|
|
1336
1355
|
return this.decoderPath = p, this;
|
|
1337
1356
|
},
|
|
@@ -1353,34 +1372,34 @@ B.prototype = Object.assign(Object.create(Se.prototype), {
|
|
|
1353
1372
|
setSkipDequantization: function() {
|
|
1354
1373
|
console.warn("THREE.DRACOLoader: The .setSkipDequantization() method has been removed.");
|
|
1355
1374
|
},
|
|
1356
|
-
load: function(p, T, u,
|
|
1357
|
-
var v = new
|
|
1375
|
+
load: function(p, T, u, m) {
|
|
1376
|
+
var v = new _e(this.manager);
|
|
1358
1377
|
v.setPath(this.path), v.setResponseType("arraybuffer"), this.crossOrigin === "use-credentials" && v.setWithCredentials(!0), v.load(p, (g) => {
|
|
1359
|
-
var
|
|
1378
|
+
var _ = {
|
|
1360
1379
|
attributeIDs: this.defaultAttributeIDs,
|
|
1361
1380
|
attributeTypes: this.defaultAttributeTypes,
|
|
1362
1381
|
useUniqueIDs: !1
|
|
1363
1382
|
};
|
|
1364
|
-
this.decodeGeometry(g,
|
|
1365
|
-
}, u,
|
|
1383
|
+
this.decodeGeometry(g, _).then(T).catch(m);
|
|
1384
|
+
}, u, m);
|
|
1366
1385
|
},
|
|
1367
1386
|
/** @deprecated Kept for backward-compatibility with previous DRACOLoader versions. */
|
|
1368
|
-
decodeDracoFile: function(p, T, u,
|
|
1387
|
+
decodeDracoFile: function(p, T, u, m) {
|
|
1369
1388
|
var v = {
|
|
1370
1389
|
attributeIDs: u || this.defaultAttributeIDs,
|
|
1371
|
-
attributeTypes:
|
|
1390
|
+
attributeTypes: m || this.defaultAttributeTypes,
|
|
1372
1391
|
useUniqueIDs: !!u
|
|
1373
1392
|
};
|
|
1374
1393
|
this.decodeGeometry(p, v).then(T);
|
|
1375
1394
|
},
|
|
1376
1395
|
decodeGeometry: function(p, T) {
|
|
1377
1396
|
for (var u in T.attributeTypes) {
|
|
1378
|
-
var
|
|
1379
|
-
|
|
1397
|
+
var m = T.attributeTypes[u];
|
|
1398
|
+
m.BYTES_PER_ELEMENT !== void 0 && (T.attributeTypes[u] = m.name);
|
|
1380
1399
|
}
|
|
1381
1400
|
var v = JSON.stringify(T);
|
|
1382
|
-
if (
|
|
1383
|
-
var g =
|
|
1401
|
+
if (k.taskCache.has(p)) {
|
|
1402
|
+
var g = k.taskCache.get(p);
|
|
1384
1403
|
if (g.key === v)
|
|
1385
1404
|
return g.promise;
|
|
1386
1405
|
if (p.byteLength === 0)
|
|
@@ -1388,29 +1407,29 @@ B.prototype = Object.assign(Object.create(Se.prototype), {
|
|
|
1388
1407
|
"THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred."
|
|
1389
1408
|
);
|
|
1390
1409
|
}
|
|
1391
|
-
var
|
|
1392
|
-
|
|
1393
|
-
}))).then((
|
|
1394
|
-
return
|
|
1395
|
-
|
|
1396
|
-
}),
|
|
1410
|
+
var _, x = this.workerNextTaskID++, F = p.byteLength, R = this._getWorker(x, F).then((I) => (_ = I, new Promise((P, b) => {
|
|
1411
|
+
_._callbacks[x] = { resolve: P, reject: b }, _.postMessage({ type: "decode", id: x, taskConfig: T, buffer: p }, [p]);
|
|
1412
|
+
}))).then((I) => this._createGeometry(I.geometry));
|
|
1413
|
+
return R.catch(() => !0).then(() => {
|
|
1414
|
+
_ && x && this._releaseTask(_, x);
|
|
1415
|
+
}), k.taskCache.set(p, {
|
|
1397
1416
|
key: v,
|
|
1398
|
-
promise:
|
|
1399
|
-
}),
|
|
1417
|
+
promise: R
|
|
1418
|
+
}), R;
|
|
1400
1419
|
},
|
|
1401
1420
|
_createGeometry: function(p) {
|
|
1402
|
-
var T = new
|
|
1403
|
-
p.index && T.setIndex(new
|
|
1421
|
+
var T = new Ze();
|
|
1422
|
+
p.index && T.setIndex(new Re(p.index.array, 1));
|
|
1404
1423
|
for (var u = 0; u < p.attributes.length; u++) {
|
|
1405
|
-
var
|
|
1406
|
-
T.setAttribute(v, new
|
|
1424
|
+
var m = p.attributes[u], v = m.name, g = m.array, _ = m.itemSize;
|
|
1425
|
+
T.setAttribute(v, new Re(g, _));
|
|
1407
1426
|
}
|
|
1408
1427
|
return T;
|
|
1409
1428
|
},
|
|
1410
1429
|
_loadLibrary: function(p, T) {
|
|
1411
|
-
var u = new
|
|
1412
|
-
return u.setPath(this.decoderPath), u.setResponseType(T), new Promise((
|
|
1413
|
-
u.load(p,
|
|
1430
|
+
var u = new _e(this.manager);
|
|
1431
|
+
return u.setPath(this.decoderPath), u.setResponseType(T), new Promise((m, v) => {
|
|
1432
|
+
u.load(p, m, void 0, v);
|
|
1414
1433
|
});
|
|
1415
1434
|
},
|
|
1416
1435
|
preload: function() {
|
|
@@ -1420,11 +1439,11 @@ B.prototype = Object.assign(Object.create(Se.prototype), {
|
|
|
1420
1439
|
if (this.decoderPending) return this.decoderPending;
|
|
1421
1440
|
var p = typeof WebAssembly != "object" || this.decoderConfig.type === "js", T = [];
|
|
1422
1441
|
return p ? T.push(this._loadLibrary("draco_decoder.js", "text")) : (T.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), T.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(T).then((u) => {
|
|
1423
|
-
var
|
|
1442
|
+
var m = u[0];
|
|
1424
1443
|
p || (this.decoderConfig.wasmBinary = u[1]);
|
|
1425
|
-
var v =
|
|
1444
|
+
var v = k.DRACOWorker.toString(), g = [
|
|
1426
1445
|
"/* draco decoder */",
|
|
1427
|
-
|
|
1446
|
+
m,
|
|
1428
1447
|
"",
|
|
1429
1448
|
"/* worker */",
|
|
1430
1449
|
v.substring(v.indexOf("{") + 1, v.lastIndexOf("}"))
|
|
@@ -1451,8 +1470,8 @@ B.prototype = Object.assign(Object.create(Se.prototype), {
|
|
|
1451
1470
|
}
|
|
1452
1471
|
}, this.workerPool.push(u);
|
|
1453
1472
|
} else
|
|
1454
|
-
this.workerPool.sort(function(
|
|
1455
|
-
return
|
|
1473
|
+
this.workerPool.sort(function(m, v) {
|
|
1474
|
+
return m._taskLoad > v._taskLoad ? -1 : 1;
|
|
1456
1475
|
});
|
|
1457
1476
|
var u = this.workerPool[this.workerPool.length - 1];
|
|
1458
1477
|
return u._taskCosts[p] = T, u._taskLoad += T, u;
|
|
@@ -1470,232 +1489,232 @@ B.prototype = Object.assign(Object.create(Se.prototype), {
|
|
|
1470
1489
|
return this.workerPool.length = 0, this;
|
|
1471
1490
|
}
|
|
1472
1491
|
});
|
|
1473
|
-
|
|
1492
|
+
k.DRACOWorker = function() {
|
|
1474
1493
|
var p, T;
|
|
1475
1494
|
onmessage = function(v) {
|
|
1476
1495
|
var g = v.data;
|
|
1477
1496
|
switch (g.type) {
|
|
1478
1497
|
case "init":
|
|
1479
|
-
p = g.decoderConfig, T = new Promise(function(
|
|
1480
|
-
p.onModuleLoaded = function(
|
|
1481
|
-
|
|
1498
|
+
p = g.decoderConfig, T = new Promise(function(F) {
|
|
1499
|
+
p.onModuleLoaded = function(R) {
|
|
1500
|
+
F({ draco: R });
|
|
1482
1501
|
}, DracoDecoderModule(p);
|
|
1483
1502
|
});
|
|
1484
1503
|
break;
|
|
1485
1504
|
case "decode":
|
|
1486
|
-
var
|
|
1487
|
-
T.then((
|
|
1488
|
-
var
|
|
1489
|
-
|
|
1505
|
+
var _ = g.buffer, x = g.taskConfig;
|
|
1506
|
+
T.then((F) => {
|
|
1507
|
+
var R = F.draco, I = new R.Decoder(), P = new R.DecoderBuffer();
|
|
1508
|
+
P.Init(new Int8Array(_), _.byteLength);
|
|
1490
1509
|
try {
|
|
1491
|
-
var
|
|
1492
|
-
|
|
1510
|
+
var b = u(R, I, P, x), M = b.attributes.map((w) => w.array.buffer);
|
|
1511
|
+
b.index && M.push(b.index.array.buffer), self.postMessage({ type: "decode", id: g.id, geometry: b }, M);
|
|
1493
1512
|
} catch (w) {
|
|
1494
1513
|
console.error(w), self.postMessage({ type: "error", id: g.id, error: w.message });
|
|
1495
1514
|
} finally {
|
|
1496
|
-
|
|
1515
|
+
R.destroy(P), R.destroy(I);
|
|
1497
1516
|
}
|
|
1498
1517
|
});
|
|
1499
1518
|
break;
|
|
1500
1519
|
}
|
|
1501
1520
|
};
|
|
1502
|
-
function u(v, g,
|
|
1503
|
-
var
|
|
1504
|
-
if (
|
|
1505
|
-
|
|
1506
|
-
else if (
|
|
1507
|
-
|
|
1521
|
+
function u(v, g, _, x) {
|
|
1522
|
+
var F = x.attributeIDs, R = x.attributeTypes, I, P, b = g.GetEncodedGeometryType(_);
|
|
1523
|
+
if (b === v.TRIANGULAR_MESH)
|
|
1524
|
+
I = new v.Mesh(), P = g.DecodeBufferToMesh(_, I);
|
|
1525
|
+
else if (b === v.POINT_CLOUD)
|
|
1526
|
+
I = new v.PointCloud(), P = g.DecodeBufferToPointCloud(_, I);
|
|
1508
1527
|
else
|
|
1509
1528
|
throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
|
|
1510
|
-
if (!
|
|
1511
|
-
throw new Error("THREE.DRACOLoader: Decoding failed: " +
|
|
1529
|
+
if (!P.ok() || I.ptr === 0)
|
|
1530
|
+
throw new Error("THREE.DRACOLoader: Decoding failed: " + P.error_msg());
|
|
1512
1531
|
var M = { index: null, attributes: [] };
|
|
1513
|
-
for (var w in
|
|
1514
|
-
var K = self[
|
|
1532
|
+
for (var w in F) {
|
|
1533
|
+
var K = self[R[w]], ne, D;
|
|
1515
1534
|
if (x.useUniqueIDs)
|
|
1516
|
-
|
|
1535
|
+
D = F[w], ne = g.GetAttributeByUniqueId(I, D);
|
|
1517
1536
|
else {
|
|
1518
|
-
if (
|
|
1519
|
-
|
|
1537
|
+
if (D = g.GetAttributeId(I, v[F[w]]), D === -1) continue;
|
|
1538
|
+
ne = g.GetAttribute(I, D);
|
|
1520
1539
|
}
|
|
1521
|
-
M.attributes.push(
|
|
1540
|
+
M.attributes.push(m(v, g, I, w, K, ne));
|
|
1522
1541
|
}
|
|
1523
|
-
if (
|
|
1524
|
-
for (var
|
|
1525
|
-
g.GetFaceFromMesh(
|
|
1526
|
-
for (var
|
|
1527
|
-
|
|
1542
|
+
if (b === v.TRIANGULAR_MESH) {
|
|
1543
|
+
for (var J = I.num_faces(), H = J * 3, Q = new Uint32Array(H), Z = new v.DracoInt32Array(), X = 0; X < J; ++X) {
|
|
1544
|
+
g.GetFaceFromMesh(I, X, Z);
|
|
1545
|
+
for (var z = 0; z < 3; ++z)
|
|
1546
|
+
Q[X * 3 + z] = Z.GetValue(z);
|
|
1528
1547
|
}
|
|
1529
|
-
M.index = { array:
|
|
1548
|
+
M.index = { array: Q, itemSize: 1 }, v.destroy(Z);
|
|
1530
1549
|
}
|
|
1531
|
-
return v.destroy(
|
|
1550
|
+
return v.destroy(I), M;
|
|
1532
1551
|
}
|
|
1533
|
-
function
|
|
1534
|
-
var
|
|
1535
|
-
switch (
|
|
1552
|
+
function m(v, g, _, x, F, R) {
|
|
1553
|
+
var I = R.num_components(), P = _.num_points(), b = P * I, M, w;
|
|
1554
|
+
switch (F) {
|
|
1536
1555
|
case Float32Array:
|
|
1537
|
-
M = new v.DracoFloat32Array(), g.GetAttributeFloatForAllPoints(
|
|
1556
|
+
M = new v.DracoFloat32Array(), g.GetAttributeFloatForAllPoints(_, R, M), w = new Float32Array(b);
|
|
1538
1557
|
break;
|
|
1539
1558
|
case Int8Array:
|
|
1540
|
-
M = new v.DracoInt8Array(), g.GetAttributeInt8ForAllPoints(
|
|
1559
|
+
M = new v.DracoInt8Array(), g.GetAttributeInt8ForAllPoints(_, R, M), w = new Int8Array(b);
|
|
1541
1560
|
break;
|
|
1542
1561
|
case Int16Array:
|
|
1543
|
-
M = new v.DracoInt16Array(), g.GetAttributeInt16ForAllPoints(
|
|
1562
|
+
M = new v.DracoInt16Array(), g.GetAttributeInt16ForAllPoints(_, R, M), w = new Int16Array(b);
|
|
1544
1563
|
break;
|
|
1545
1564
|
case Int32Array:
|
|
1546
|
-
M = new v.DracoInt32Array(), g.GetAttributeInt32ForAllPoints(
|
|
1565
|
+
M = new v.DracoInt32Array(), g.GetAttributeInt32ForAllPoints(_, R, M), w = new Int32Array(b);
|
|
1547
1566
|
break;
|
|
1548
1567
|
case Uint8Array:
|
|
1549
|
-
M = new v.DracoUInt8Array(), g.GetAttributeUInt8ForAllPoints(
|
|
1568
|
+
M = new v.DracoUInt8Array(), g.GetAttributeUInt8ForAllPoints(_, R, M), w = new Uint8Array(b);
|
|
1550
1569
|
break;
|
|
1551
1570
|
case Uint16Array:
|
|
1552
|
-
M = new v.DracoUInt16Array(), g.GetAttributeUInt16ForAllPoints(
|
|
1571
|
+
M = new v.DracoUInt16Array(), g.GetAttributeUInt16ForAllPoints(_, R, M), w = new Uint16Array(b);
|
|
1553
1572
|
break;
|
|
1554
1573
|
case Uint32Array:
|
|
1555
|
-
M = new v.DracoUInt32Array(), g.GetAttributeUInt32ForAllPoints(
|
|
1574
|
+
M = new v.DracoUInt32Array(), g.GetAttributeUInt32ForAllPoints(_, R, M), w = new Uint32Array(b);
|
|
1556
1575
|
break;
|
|
1557
1576
|
default:
|
|
1558
1577
|
throw new Error("THREE.DRACOLoader: Unexpected attribute type.");
|
|
1559
1578
|
}
|
|
1560
|
-
for (var K = 0; K <
|
|
1579
|
+
for (var K = 0; K < b; K++)
|
|
1561
1580
|
w[K] = M.GetValue(K);
|
|
1562
1581
|
return v.destroy(M), {
|
|
1563
1582
|
name: x,
|
|
1564
1583
|
array: w,
|
|
1565
|
-
itemSize:
|
|
1584
|
+
itemSize: I
|
|
1566
1585
|
};
|
|
1567
1586
|
}
|
|
1568
1587
|
};
|
|
1569
|
-
|
|
1570
|
-
|
|
1588
|
+
k.taskCache = /* @__PURE__ */ new WeakMap();
|
|
1589
|
+
k.setDecoderPath = function() {
|
|
1571
1590
|
console.warn("THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.");
|
|
1572
1591
|
};
|
|
1573
|
-
|
|
1592
|
+
k.setDecoderConfig = function() {
|
|
1574
1593
|
console.warn("THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.");
|
|
1575
1594
|
};
|
|
1576
|
-
|
|
1595
|
+
k.releaseDecoderModule = function() {
|
|
1577
1596
|
console.warn("THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.");
|
|
1578
1597
|
};
|
|
1579
|
-
|
|
1598
|
+
k.getDecoderModule = function() {
|
|
1580
1599
|
console.warn("THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.");
|
|
1581
1600
|
};
|
|
1582
|
-
var
|
|
1583
|
-
|
|
1601
|
+
var Ne = function(p) {
|
|
1602
|
+
er.call(this, p);
|
|
1584
1603
|
};
|
|
1585
|
-
|
|
1586
|
-
constructor:
|
|
1604
|
+
Ne.prototype = Object.assign(Object.create(er.prototype), {
|
|
1605
|
+
constructor: Ne,
|
|
1587
1606
|
parse: function(p, T) {
|
|
1588
|
-
var u = { mipmaps: [], width: 0, height: 0, format: null, mipmapCount: 1 },
|
|
1589
|
-
function M(
|
|
1590
|
-
return
|
|
1607
|
+
var u = { mipmaps: [], width: 0, height: 0, format: null, mipmapCount: 1 }, m = 542327876, v = 131072, g = 512, _ = 1024, x = 2048, F = 4096, R = 8192, I = 16384, P = 32768, b = 4;
|
|
1608
|
+
function M(l) {
|
|
1609
|
+
return l.charCodeAt(0) + (l.charCodeAt(1) << 8) + (l.charCodeAt(2) << 16) + (l.charCodeAt(3) << 24);
|
|
1591
1610
|
}
|
|
1592
|
-
function w(
|
|
1611
|
+
function w(l) {
|
|
1593
1612
|
return String.fromCharCode(
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1613
|
+
l & 255,
|
|
1614
|
+
l >> 8 & 255,
|
|
1615
|
+
l >> 16 & 255,
|
|
1616
|
+
l >> 24 & 255
|
|
1598
1617
|
);
|
|
1599
1618
|
}
|
|
1600
|
-
function K(
|
|
1601
|
-
for (var
|
|
1602
|
-
for (var
|
|
1603
|
-
var
|
|
1604
|
-
|
|
1605
|
-
var te =
|
|
1606
|
-
|
|
1607
|
-
var
|
|
1608
|
-
|
|
1609
|
-
var
|
|
1610
|
-
|
|
1619
|
+
function K(l, f, h, c) {
|
|
1620
|
+
for (var d = h * c * 4, A = new Uint8Array(l, f, d), y = new Uint8Array(d), E = 0, S = 0, L = 0; L < c; L++)
|
|
1621
|
+
for (var O = 0; O < h; O++) {
|
|
1622
|
+
var G = A[S];
|
|
1623
|
+
S++;
|
|
1624
|
+
var te = A[S];
|
|
1625
|
+
S++;
|
|
1626
|
+
var ae = A[S];
|
|
1627
|
+
S++;
|
|
1628
|
+
var $ = A[S];
|
|
1629
|
+
S++, y[E] = ae, E++, y[E] = te, E++, y[E] = G, E++, y[E] = $, E++;
|
|
1611
1630
|
}
|
|
1612
|
-
return
|
|
1631
|
+
return y;
|
|
1613
1632
|
}
|
|
1614
|
-
var
|
|
1615
|
-
if (
|
|
1633
|
+
var ne = M("DXT1"), D = M("DXT3"), J = M("DXT5"), H = M("ETC1"), Q = 31, Z = 0, X = 1, z = 2, le = 3, V = 4, Le = 7, fe = 20, Te = 21, ge = 22, Me = 23, oe = 24, W = 25, we = 26, Ie = 28, U = new Int32Array(p, 0, Q);
|
|
1634
|
+
if (U[Z] !== m)
|
|
1616
1635
|
return console.error("THREE.DDSLoader.parse: Invalid magic number in DDS header."), u;
|
|
1617
|
-
if (!
|
|
1636
|
+
if (!U[fe] & b)
|
|
1618
1637
|
return console.error("THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code."), u;
|
|
1619
|
-
var
|
|
1620
|
-
switch (
|
|
1621
|
-
case
|
|
1622
|
-
|
|
1638
|
+
var Y, C = U[Te], me = !1;
|
|
1639
|
+
switch (C) {
|
|
1640
|
+
case ne:
|
|
1641
|
+
Y = 8, u.format = Yr;
|
|
1623
1642
|
break;
|
|
1624
|
-
case
|
|
1625
|
-
|
|
1643
|
+
case D:
|
|
1644
|
+
Y = 16, u.format = Wr;
|
|
1626
1645
|
break;
|
|
1627
|
-
case
|
|
1628
|
-
|
|
1646
|
+
case J:
|
|
1647
|
+
Y = 16, u.format = zr;
|
|
1629
1648
|
break;
|
|
1630
|
-
case
|
|
1631
|
-
|
|
1649
|
+
case H:
|
|
1650
|
+
Y = 8, u.format = Xr;
|
|
1632
1651
|
break;
|
|
1633
1652
|
default:
|
|
1634
|
-
if (
|
|
1635
|
-
|
|
1653
|
+
if (U[ge] === 32 && U[Me] & 16711680 && U[oe] & 65280 && U[W] & 255 && U[we] & 4278190080)
|
|
1654
|
+
me = !0, Y = 64, u.format = $e;
|
|
1636
1655
|
else
|
|
1637
|
-
return console.error("THREE.DDSLoader.parse: Unsupported FourCC code ", w(
|
|
1656
|
+
return console.error("THREE.DDSLoader.parse: Unsupported FourCC code ", w(C)), u;
|
|
1638
1657
|
}
|
|
1639
|
-
u.mipmapCount = 1,
|
|
1640
|
-
var
|
|
1641
|
-
if (u.isCubemap = !!(
|
|
1658
|
+
u.mipmapCount = 1, U[z] & v && T !== !1 && (u.mipmapCount = Math.max(1, U[Le]));
|
|
1659
|
+
var j = U[Ie];
|
|
1660
|
+
if (u.isCubemap = !!(j & g), u.isCubemap && (!(j & _) || !(j & x) || !(j & F) || !(j & R) || !(j & I) || !(j & P)))
|
|
1642
1661
|
return console.error("THREE.DDSLoader.parse: Incomplete cubemap faces"), u;
|
|
1643
|
-
u.width =
|
|
1644
|
-
for (var
|
|
1645
|
-
for (var
|
|
1646
|
-
if (
|
|
1647
|
-
var
|
|
1662
|
+
u.width = U[V], u.height = U[le];
|
|
1663
|
+
for (var ie = U[X] + 4, e = u.isCubemap ? 6 : 1, r = 0; r < e; r++)
|
|
1664
|
+
for (var t = u.width, n = u.height, a = 0; a < u.mipmapCount; a++) {
|
|
1665
|
+
if (me)
|
|
1666
|
+
var i = K(p, ie, t, n), s = i.length;
|
|
1648
1667
|
else
|
|
1649
|
-
var
|
|
1650
|
-
var
|
|
1651
|
-
u.mipmaps.push(
|
|
1668
|
+
var s = Math.max(4, t) / 4 * Math.max(4, n) / 4 * Y, i = new Uint8Array(p, ie, s);
|
|
1669
|
+
var o = { data: i, width: t, height: n };
|
|
1670
|
+
u.mipmaps.push(o), ie += s, t = Math.max(t >> 1, 1), n = Math.max(n >> 1, 1);
|
|
1652
1671
|
}
|
|
1653
1672
|
return u;
|
|
1654
1673
|
}
|
|
1655
1674
|
});
|
|
1656
|
-
var
|
|
1675
|
+
var Qe = (
|
|
1657
1676
|
/** @class */
|
|
1658
1677
|
function(p) {
|
|
1659
|
-
|
|
1678
|
+
rr(T, p);
|
|
1660
1679
|
function T(u) {
|
|
1661
|
-
var
|
|
1662
|
-
return
|
|
1680
|
+
var m = p.call(this) || this;
|
|
1681
|
+
return m.needsRender = !0, u && u.children.length && m.add.apply(m, u.children), m.mixer = new De.AnimationMixer(m), m;
|
|
1663
1682
|
}
|
|
1664
1683
|
return T.prototype.clone = function() {
|
|
1665
|
-
var u = p.prototype.clone.call(this, !0),
|
|
1666
|
-
return u.mixer =
|
|
1684
|
+
var u = p.prototype.clone.call(this, !0), m = new De.AnimationMixer(u);
|
|
1685
|
+
return u.mixer = m, u.needsRender = !0, u;
|
|
1667
1686
|
}, T;
|
|
1668
1687
|
}(De.Group)
|
|
1669
|
-
),
|
|
1688
|
+
), Jr = "https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/", $r = (
|
|
1670
1689
|
/** @class */
|
|
1671
1690
|
function(p) {
|
|
1672
|
-
|
|
1691
|
+
rr(T, p);
|
|
1673
1692
|
function T(u) {
|
|
1674
|
-
var
|
|
1675
|
-
return
|
|
1693
|
+
var m = p.call(this, u) || this;
|
|
1694
|
+
return m.ddsLoader = new Ne(u), m.dracoLoader = new k(u), m.dracoLoader.setDecoderPath(Jr), m;
|
|
1676
1695
|
}
|
|
1677
1696
|
return Object.defineProperty(T, "version", {
|
|
1678
1697
|
get: function() {
|
|
1679
|
-
return "6.4.0-alpha.
|
|
1698
|
+
return "6.4.0-alpha.21";
|
|
1680
1699
|
},
|
|
1681
1700
|
enumerable: !1,
|
|
1682
1701
|
configurable: !0
|
|
1683
|
-
}), T.prototype.load = function(u,
|
|
1684
|
-
return p.prototype.load.call(this, u,
|
|
1685
|
-
}, T.prototype.parse = function(u,
|
|
1686
|
-
return p.prototype.parse.call(this, u,
|
|
1687
|
-
var x = new
|
|
1688
|
-
return
|
|
1702
|
+
}), T.prototype.load = function(u, m, v, g) {
|
|
1703
|
+
return p.prototype.load.call(this, u, m, v, g);
|
|
1704
|
+
}, T.prototype.parse = function(u, m, v, g) {
|
|
1705
|
+
return p.prototype.parse.call(this, u, m, function(_) {
|
|
1706
|
+
var x = new Qe(_.scene), F = _.scenes.map(function(R) {
|
|
1707
|
+
return R === _.scene ? x : new Qe(R);
|
|
1689
1708
|
});
|
|
1690
|
-
v(Object.assign(
|
|
1709
|
+
v(Object.assign(_, { scene: x, scenes: F }));
|
|
1691
1710
|
}, g);
|
|
1692
1711
|
}, T;
|
|
1693
|
-
}(
|
|
1712
|
+
}(qr)
|
|
1694
1713
|
);
|
|
1695
1714
|
export {
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1715
|
+
Ne as DDSLoader,
|
|
1716
|
+
k as DRACOLoader,
|
|
1717
|
+
$r as GLTFLoader,
|
|
1718
|
+
Qe as GLTFObject,
|
|
1719
|
+
qr as THREEGLTFLoader
|
|
1701
1720
|
};
|