@loaders.gl/i3s 3.1.0-beta.1 → 3.1.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/bundle.js +306 -253
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/i3s-attribute-loader.js +147 -62
- package/dist/es5/i3s-attribute-loader.js.map +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +36 -8
- package/dist/es5/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/es5/i3s-content-loader.js +36 -10
- package/dist/es5/i3s-content-loader.js.map +1 -1
- package/dist/es5/i3s-loader.js +175 -51
- package/dist/es5/i3s-loader.js.map +1 -1
- package/dist/es5/i3s-node-page-loader.js +51 -8
- package/dist/es5/i3s-node-page-loader.js.map +1 -1
- package/dist/es5/index.js +6 -6
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +328 -173
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/es5/lib/parsers/constants.js +9 -28
- package/dist/es5/lib/parsers/constants.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-attribute.js +69 -27
- package/dist/es5/lib/parsers/parse-i3s-attribute.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js +62 -28
- package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +416 -314
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s.js +109 -49
- package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js +8 -4
- package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -1
- package/dist/es5/lib/utils/url-utils.js +14 -17
- package/dist/es5/lib/utils/url-utils.js.map +1 -1
- package/dist/es5/types.js +10 -2
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js.map +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/esm/i3s-content-loader.js +1 -1
- package/dist/esm/i3s-content-loader.js.map +1 -1
- package/dist/esm/i3s-loader.js +1 -1
- package/dist/esm/i3s-loader.js.map +1 -1
- package/dist/esm/i3s-node-page-loader.js +1 -1
- package/dist/esm/i3s-node-page-loader.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js +33 -23
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/esm/lib/parsers/constants.js +2 -18
- package/dist/esm/lib/parsers/constants.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +44 -61
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s.js +40 -25
- package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
- package/dist/esm/lib/utils/url-utils.js +2 -3
- package/dist/esm/lib/utils/url-utils.js.map +1 -1
- package/dist/esm/types.js +7 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/i3s-content-worker.js +235 -188
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts +20 -20
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.js +33 -32
- package/dist/lib/parsers/constants.d.ts +1 -17
- package/dist/lib/parsers/constants.d.ts.map +1 -1
- package/dist/lib/parsers/constants.js +3 -21
- package/dist/lib/parsers/parse-i3s-attribute.d.ts +1 -1
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts +2 -2
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s-tile-content.js +35 -61
- package/dist/lib/parsers/parse-i3s.d.ts +5 -3
- package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s.js +37 -32
- package/dist/lib/utils/url-utils.d.ts +6 -6
- package/dist/lib/utils/url-utils.d.ts.map +1 -1
- package/dist/lib/utils/url-utils.js +5 -5
- package/dist/types.d.ts +289 -74
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -1
- package/package.json +9 -9
- package/src/index.ts +3 -3
- package/src/lib/helpers/i3s-nodepages-tiles.ts +71 -55
- package/src/lib/parsers/constants.ts +2 -22
- package/src/lib/parsers/parse-i3s-tile-content.ts +74 -103
- package/src/lib/parsers/parse-i3s.ts +48 -37
- package/src/lib/utils/url-utils.ts +7 -7
- package/src/types.ts +302 -93
package/dist/bundle.js
CHANGED
|
@@ -463,6 +463,9 @@
|
|
|
463
463
|
const workerOptions = options[worker.id] || {};
|
|
464
464
|
const workerFile = `${worker.id}-worker.js`;
|
|
465
465
|
let url = workerOptions.workerUrl;
|
|
466
|
+
if (!url && worker.id === "compression") {
|
|
467
|
+
url = options.workerUrl;
|
|
468
|
+
}
|
|
466
469
|
if (options._workerType === "test") {
|
|
467
470
|
url = `modules/${worker.module}/dist/${workerFile}`;
|
|
468
471
|
}
|
|
@@ -7114,11 +7117,11 @@
|
|
|
7114
7117
|
}
|
|
7115
7118
|
});
|
|
7116
7119
|
|
|
7117
|
-
// ../textures/src/lib/gl-
|
|
7118
|
-
var
|
|
7119
|
-
var
|
|
7120
|
-
"../textures/src/lib/gl-
|
|
7121
|
-
|
|
7120
|
+
// ../textures/src/lib/gl-extensions.ts
|
|
7121
|
+
var GL_EXTENSIONS_CONSTANTS;
|
|
7122
|
+
var init_gl_extensions = __esm({
|
|
7123
|
+
"../textures/src/lib/gl-extensions.ts"() {
|
|
7124
|
+
GL_EXTENSIONS_CONSTANTS = {
|
|
7122
7125
|
COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
|
|
7123
7126
|
COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
|
|
7124
7127
|
COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
|
|
@@ -7363,74 +7366,74 @@
|
|
|
7363
7366
|
var VULKAN_TO_WEBGL_FORMAT_MAP;
|
|
7364
7367
|
var init_ktx_format_helper = __esm({
|
|
7365
7368
|
"../textures/src/lib/utils/ktx-format-helper.ts"() {
|
|
7366
|
-
|
|
7369
|
+
init_gl_extensions();
|
|
7367
7370
|
VULKAN_TO_WEBGL_FORMAT_MAP = {
|
|
7368
|
-
131:
|
|
7369
|
-
132:
|
|
7370
|
-
133:
|
|
7371
|
-
134:
|
|
7372
|
-
135:
|
|
7373
|
-
136:
|
|
7374
|
-
137:
|
|
7375
|
-
138:
|
|
7376
|
-
139:
|
|
7377
|
-
140:
|
|
7378
|
-
141:
|
|
7379
|
-
142:
|
|
7380
|
-
147:
|
|
7381
|
-
148:
|
|
7382
|
-
149:
|
|
7383
|
-
150:
|
|
7384
|
-
151:
|
|
7385
|
-
152:
|
|
7386
|
-
153:
|
|
7387
|
-
154:
|
|
7388
|
-
155:
|
|
7389
|
-
156:
|
|
7390
|
-
157:
|
|
7391
|
-
158:
|
|
7392
|
-
159:
|
|
7393
|
-
160:
|
|
7394
|
-
161:
|
|
7395
|
-
162:
|
|
7396
|
-
163:
|
|
7397
|
-
164:
|
|
7398
|
-
165:
|
|
7399
|
-
166:
|
|
7400
|
-
167:
|
|
7401
|
-
168:
|
|
7402
|
-
169:
|
|
7403
|
-
170:
|
|
7404
|
-
171:
|
|
7405
|
-
172:
|
|
7406
|
-
173:
|
|
7407
|
-
174:
|
|
7408
|
-
175:
|
|
7409
|
-
176:
|
|
7410
|
-
177:
|
|
7411
|
-
178:
|
|
7412
|
-
179:
|
|
7413
|
-
180:
|
|
7414
|
-
181:
|
|
7415
|
-
182:
|
|
7416
|
-
183:
|
|
7417
|
-
184:
|
|
7418
|
-
1000054e3:
|
|
7419
|
-
1000054001:
|
|
7420
|
-
1000066e3:
|
|
7421
|
-
1000066001:
|
|
7422
|
-
1000066002:
|
|
7423
|
-
1000066003:
|
|
7424
|
-
1000066004:
|
|
7425
|
-
1000066005:
|
|
7426
|
-
1000066006:
|
|
7427
|
-
1000066007:
|
|
7428
|
-
1000066008:
|
|
7429
|
-
1000066009:
|
|
7430
|
-
1000066010:
|
|
7431
|
-
1000066011:
|
|
7432
|
-
1000066012:
|
|
7433
|
-
1000066013:
|
|
7371
|
+
131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
7372
|
+
132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
|
|
7373
|
+
133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
|
|
7374
|
+
134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
|
|
7375
|
+
135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
7376
|
+
136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
|
|
7377
|
+
137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
7378
|
+
138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
|
|
7379
|
+
139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
|
|
7380
|
+
140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
|
|
7381
|
+
141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
|
|
7382
|
+
142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
|
|
7383
|
+
147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
|
|
7384
|
+
148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
|
|
7385
|
+
149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
7386
|
+
150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
7387
|
+
151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
|
|
7388
|
+
152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
|
|
7389
|
+
153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
|
|
7390
|
+
154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
|
|
7391
|
+
155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
|
|
7392
|
+
156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
|
|
7393
|
+
157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
7394
|
+
158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
|
|
7395
|
+
159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
7396
|
+
160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
|
|
7397
|
+
161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
7398
|
+
162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
|
|
7399
|
+
163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
7400
|
+
164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
|
|
7401
|
+
165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
7402
|
+
166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
|
|
7403
|
+
167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
7404
|
+
168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
|
|
7405
|
+
169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
7406
|
+
170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
|
|
7407
|
+
171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
7408
|
+
172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
|
|
7409
|
+
173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
7410
|
+
174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
|
|
7411
|
+
175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
7412
|
+
176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
|
|
7413
|
+
177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
7414
|
+
178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
|
|
7415
|
+
179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
7416
|
+
180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
|
|
7417
|
+
181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
7418
|
+
182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
|
|
7419
|
+
183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
|
|
7420
|
+
184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
|
|
7421
|
+
1000054e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
|
|
7422
|
+
1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
|
|
7423
|
+
1000066e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
7424
|
+
1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
7425
|
+
1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
7426
|
+
1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
7427
|
+
1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
7428
|
+
1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
7429
|
+
1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
7430
|
+
1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
7431
|
+
1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
7432
|
+
1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
7433
|
+
1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
7434
|
+
1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
7435
|
+
1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
7436
|
+
1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
|
|
7434
7437
|
};
|
|
7435
7438
|
}
|
|
7436
7439
|
});
|
|
@@ -7479,7 +7482,7 @@
|
|
|
7479
7482
|
}
|
|
7480
7483
|
});
|
|
7481
7484
|
|
|
7482
|
-
// ../textures/src/lib/parsers/parse-basis.
|
|
7485
|
+
// ../textures/src/lib/parsers/parse-basis.ts
|
|
7483
7486
|
async function parseBasis(data, options) {
|
|
7484
7487
|
if (options.basis.containerFormat === "auto") {
|
|
7485
7488
|
if (isKTX(data)) {
|
|
@@ -7615,23 +7618,47 @@
|
|
|
7615
7618
|
}
|
|
7616
7619
|
var OutputFormat;
|
|
7617
7620
|
var init_parse_basis = __esm({
|
|
7618
|
-
"../textures/src/lib/parsers/parse-basis.
|
|
7621
|
+
"../textures/src/lib/parsers/parse-basis.ts"() {
|
|
7619
7622
|
init_basis_module_loader();
|
|
7620
|
-
|
|
7623
|
+
init_gl_extensions();
|
|
7621
7624
|
init_texture_formats();
|
|
7622
7625
|
init_parse_ktx();
|
|
7623
7626
|
OutputFormat = {
|
|
7624
|
-
etc1: {
|
|
7627
|
+
etc1: {
|
|
7628
|
+
basisFormat: 0,
|
|
7629
|
+
compressed: true,
|
|
7630
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
|
|
7631
|
+
},
|
|
7625
7632
|
etc2: { basisFormat: 1, compressed: true },
|
|
7626
|
-
bc1: {
|
|
7627
|
-
|
|
7633
|
+
bc1: {
|
|
7634
|
+
basisFormat: 2,
|
|
7635
|
+
compressed: true,
|
|
7636
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
|
|
7637
|
+
},
|
|
7638
|
+
bc3: {
|
|
7639
|
+
basisFormat: 3,
|
|
7640
|
+
compressed: true,
|
|
7641
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
|
|
7642
|
+
},
|
|
7628
7643
|
bc4: { basisFormat: 4, compressed: true },
|
|
7629
7644
|
bc5: { basisFormat: 5, compressed: true },
|
|
7630
7645
|
"bc7-m6-opaque-only": { basisFormat: 6, compressed: true },
|
|
7631
7646
|
"bc7-m5": { basisFormat: 7, compressed: true },
|
|
7632
|
-
"pvrtc1-4-rgb": {
|
|
7633
|
-
|
|
7634
|
-
|
|
7647
|
+
"pvrtc1-4-rgb": {
|
|
7648
|
+
basisFormat: 8,
|
|
7649
|
+
compressed: true,
|
|
7650
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
|
|
7651
|
+
},
|
|
7652
|
+
"pvrtc1-4-rgba": {
|
|
7653
|
+
basisFormat: 9,
|
|
7654
|
+
compressed: true,
|
|
7655
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
|
|
7656
|
+
},
|
|
7657
|
+
"astc-4x4": {
|
|
7658
|
+
basisFormat: 10,
|
|
7659
|
+
compressed: true,
|
|
7660
|
+
format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
|
|
7661
|
+
},
|
|
7635
7662
|
"atc-rgb": { basisFormat: 11, compressed: true },
|
|
7636
7663
|
"atc-rgba-interpolated-alpha": { basisFormat: 12, compressed: true },
|
|
7637
7664
|
rgba32: { basisFormat: 13, compressed: false },
|
|
@@ -7717,7 +7744,7 @@
|
|
|
7717
7744
|
var init_parse_dds = __esm({
|
|
7718
7745
|
"../textures/src/lib/parsers/parse-dds.ts"() {
|
|
7719
7746
|
init_src2();
|
|
7720
|
-
|
|
7747
|
+
init_gl_extensions();
|
|
7721
7748
|
init_extract_mipmap_images();
|
|
7722
7749
|
DDS_CONSTANTS = {
|
|
7723
7750
|
MAGIC_NUMBER: 542327876,
|
|
@@ -7734,12 +7761,12 @@
|
|
|
7734
7761
|
DDPF_FOURCC: 4
|
|
7735
7762
|
};
|
|
7736
7763
|
DDS_PIXEL_FORMATS = {
|
|
7737
|
-
DXT1:
|
|
7738
|
-
DXT3:
|
|
7739
|
-
DXT5:
|
|
7740
|
-
"ATC ":
|
|
7741
|
-
ATCA:
|
|
7742
|
-
ATCI:
|
|
7764
|
+
DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
7765
|
+
DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
7766
|
+
DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
7767
|
+
"ATC ": GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
|
|
7768
|
+
ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
|
|
7769
|
+
ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
|
|
7743
7770
|
};
|
|
7744
7771
|
getATCLevelSize = getDxt1LevelSize;
|
|
7745
7772
|
getATCALevelSize = getDxtXLevelSize;
|
|
@@ -7839,7 +7866,7 @@
|
|
|
7839
7866
|
var PVR_CONSTANTS, PVR_PIXEL_FORMATS, PVR_SIZE_FUNCTIONS;
|
|
7840
7867
|
var init_parse_pvr = __esm({
|
|
7841
7868
|
"../textures/src/lib/parsers/parse-pvr.ts"() {
|
|
7842
|
-
|
|
7869
|
+
init_gl_extensions();
|
|
7843
7870
|
init_extract_mipmap_images();
|
|
7844
7871
|
PVR_CONSTANTS = {
|
|
7845
7872
|
MAGIC_NUMBER: 55727696,
|
|
@@ -7855,33 +7882,75 @@
|
|
|
7855
7882
|
METADATA_SIZE_INDEX: 12
|
|
7856
7883
|
};
|
|
7857
7884
|
PVR_PIXEL_FORMATS = {
|
|
7858
|
-
0: [
|
|
7859
|
-
1: [
|
|
7860
|
-
2: [
|
|
7861
|
-
3: [
|
|
7862
|
-
6: [
|
|
7863
|
-
7: [
|
|
7864
|
-
9: [
|
|
7865
|
-
11: [
|
|
7866
|
-
22: [
|
|
7867
|
-
23: [
|
|
7868
|
-
24: [
|
|
7869
|
-
25: [
|
|
7870
|
-
26: [
|
|
7871
|
-
27: [
|
|
7872
|
-
|
|
7873
|
-
|
|
7874
|
-
|
|
7875
|
-
|
|
7876
|
-
|
|
7877
|
-
|
|
7878
|
-
|
|
7879
|
-
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
7883
|
-
|
|
7884
|
-
|
|
7885
|
+
0: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
|
|
7886
|
+
1: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
|
|
7887
|
+
2: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
|
|
7888
|
+
3: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
|
|
7889
|
+
6: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
|
|
7890
|
+
7: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
|
|
7891
|
+
9: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
|
|
7892
|
+
11: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
|
|
7893
|
+
22: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
|
|
7894
|
+
23: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
|
|
7895
|
+
24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
|
|
7896
|
+
25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
|
|
7897
|
+
26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
|
|
7898
|
+
27: [
|
|
7899
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
|
|
7900
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
|
|
7901
|
+
],
|
|
7902
|
+
28: [
|
|
7903
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
|
|
7904
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
|
|
7905
|
+
],
|
|
7906
|
+
29: [
|
|
7907
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
|
|
7908
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
|
|
7909
|
+
],
|
|
7910
|
+
30: [
|
|
7911
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
|
|
7912
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
|
|
7913
|
+
],
|
|
7914
|
+
31: [
|
|
7915
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
|
|
7916
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
|
|
7917
|
+
],
|
|
7918
|
+
32: [
|
|
7919
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
|
|
7920
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
|
|
7921
|
+
],
|
|
7922
|
+
33: [
|
|
7923
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
|
|
7924
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
|
|
7925
|
+
],
|
|
7926
|
+
34: [
|
|
7927
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
|
|
7928
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
|
|
7929
|
+
],
|
|
7930
|
+
35: [
|
|
7931
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
|
|
7932
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
|
|
7933
|
+
],
|
|
7934
|
+
36: [
|
|
7935
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
|
|
7936
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
|
|
7937
|
+
],
|
|
7938
|
+
37: [
|
|
7939
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
|
|
7940
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
|
|
7941
|
+
],
|
|
7942
|
+
38: [
|
|
7943
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
|
|
7944
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
|
|
7945
|
+
],
|
|
7946
|
+
39: [
|
|
7947
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
|
|
7948
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
|
|
7949
|
+
],
|
|
7950
|
+
40: [
|
|
7951
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
|
|
7952
|
+
GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
|
|
7953
|
+
]
|
|
7885
7954
|
};
|
|
7886
7955
|
PVR_SIZE_FUNCTIONS = {
|
|
7887
7956
|
0: pvrtc2bppSize,
|
|
@@ -8002,12 +8071,34 @@
|
|
|
8002
8071
|
}
|
|
8003
8072
|
});
|
|
8004
8073
|
|
|
8074
|
+
// src/types.ts
|
|
8075
|
+
var DATA_TYPE, HeaderAttributeProperty;
|
|
8076
|
+
var init_types = __esm({
|
|
8077
|
+
"src/types.ts"() {
|
|
8078
|
+
(function(DATA_TYPE2) {
|
|
8079
|
+
DATA_TYPE2["UInt8"] = "UInt8";
|
|
8080
|
+
DATA_TYPE2["UInt16"] = "UInt16";
|
|
8081
|
+
DATA_TYPE2["UInt32"] = "UInt32";
|
|
8082
|
+
DATA_TYPE2["UInt64"] = "UInt64";
|
|
8083
|
+
DATA_TYPE2["Int16"] = "Int16";
|
|
8084
|
+
DATA_TYPE2["Int32"] = "Int32";
|
|
8085
|
+
DATA_TYPE2["Int64"] = "Int64";
|
|
8086
|
+
DATA_TYPE2["Float32"] = "Float32";
|
|
8087
|
+
DATA_TYPE2["Float64"] = "Float64";
|
|
8088
|
+
})(DATA_TYPE || (DATA_TYPE = {}));
|
|
8089
|
+
(function(HeaderAttributeProperty2) {
|
|
8090
|
+
HeaderAttributeProperty2["vertexCount"] = "vertexCount";
|
|
8091
|
+
HeaderAttributeProperty2["featureCount"] = "featureCount";
|
|
8092
|
+
})(HeaderAttributeProperty || (HeaderAttributeProperty = {}));
|
|
8093
|
+
}
|
|
8094
|
+
});
|
|
8095
|
+
|
|
8005
8096
|
// src/lib/utils/url-utils.ts
|
|
8006
8097
|
function getUrlWithToken(url, token = null) {
|
|
8007
8098
|
return token ? `${url}?token=${token}` : url;
|
|
8008
8099
|
}
|
|
8009
|
-
function generateTileAttributeUrls(tile) {
|
|
8010
|
-
const {
|
|
8100
|
+
function generateTileAttributeUrls(url, tile) {
|
|
8101
|
+
const { attributeData = [] } = tile;
|
|
8011
8102
|
const attributeUrls = [];
|
|
8012
8103
|
for (let index = 0; index < attributeData.length; index++) {
|
|
8013
8104
|
const attributeUrl = attributeData[index].href.replace("./", "");
|
|
@@ -8652,24 +8743,6 @@
|
|
|
8652
8743
|
}
|
|
8653
8744
|
});
|
|
8654
8745
|
|
|
8655
|
-
// src/types.ts
|
|
8656
|
-
var DATA_TYPE;
|
|
8657
|
-
var init_types = __esm({
|
|
8658
|
-
"src/types.ts"() {
|
|
8659
|
-
(function(DATA_TYPE2) {
|
|
8660
|
-
DATA_TYPE2["UInt8"] = "UInt8";
|
|
8661
|
-
DATA_TYPE2["UInt16"] = "UInt16";
|
|
8662
|
-
DATA_TYPE2["UInt32"] = "UInt32";
|
|
8663
|
-
DATA_TYPE2["UInt64"] = "UInt64";
|
|
8664
|
-
DATA_TYPE2["Int16"] = "Int16";
|
|
8665
|
-
DATA_TYPE2["Int32"] = "Int32";
|
|
8666
|
-
DATA_TYPE2["Int64"] = "Int64";
|
|
8667
|
-
DATA_TYPE2["Float32"] = "Float32";
|
|
8668
|
-
DATA_TYPE2["Float64"] = "Float64";
|
|
8669
|
-
})(DATA_TYPE || (DATA_TYPE = {}));
|
|
8670
|
-
}
|
|
8671
|
-
});
|
|
8672
|
-
|
|
8673
8746
|
// src/lib/parsers/constants.ts
|
|
8674
8747
|
function getConstructorForDataFormat(dataType) {
|
|
8675
8748
|
switch (dataType) {
|
|
@@ -8684,7 +8757,7 @@
|
|
|
8684
8757
|
case DATA_TYPE.UInt64:
|
|
8685
8758
|
return Float64Array;
|
|
8686
8759
|
default:
|
|
8687
|
-
|
|
8760
|
+
throw new Error(`parse i3s tile content: unknown type of data: ${dataType}`);
|
|
8688
8761
|
}
|
|
8689
8762
|
}
|
|
8690
8763
|
function sizeOf(dataType) {
|
|
@@ -8703,10 +8776,10 @@
|
|
|
8703
8776
|
case DATA_TYPE.Float64:
|
|
8704
8777
|
return 8;
|
|
8705
8778
|
default:
|
|
8706
|
-
|
|
8779
|
+
throw new Error(`parse i3s tile content: unknown size of data: ${dataType}`);
|
|
8707
8780
|
}
|
|
8708
8781
|
}
|
|
8709
|
-
var GL_TYPE_MAP,
|
|
8782
|
+
var GL_TYPE_MAP, STRING_ATTRIBUTE_TYPE, OBJECT_ID_ATTRIBUTE_TYPE, FLOAT_64_TYPE, INT_16_ATTRIBUTE_TYPE, COORDINATE_SYSTEM;
|
|
8710
8783
|
var init_constants2 = __esm({
|
|
8711
8784
|
"src/lib/parsers/constants.ts"() {
|
|
8712
8785
|
init_esm5();
|
|
@@ -8718,22 +8791,6 @@
|
|
|
8718
8791
|
UInt32: esm_default2.UNSIGNED_INT,
|
|
8719
8792
|
UInt64: esm_default2.DOUBLE
|
|
8720
8793
|
};
|
|
8721
|
-
I3S_NAMED_VERTEX_ATTRIBUTES = {
|
|
8722
|
-
position: "position",
|
|
8723
|
-
normal: "normal",
|
|
8724
|
-
uv0: "uv0",
|
|
8725
|
-
color: "color",
|
|
8726
|
-
region: "region"
|
|
8727
|
-
};
|
|
8728
|
-
I3S_NAMED_GEOMETRY_ATTRIBUTES = {
|
|
8729
|
-
vertexAttributes: "vertexAttributes",
|
|
8730
|
-
featureAttributeOrder: "featureAttributeOrder",
|
|
8731
|
-
featureAttributes: "featureAttributes"
|
|
8732
|
-
};
|
|
8733
|
-
I3S_NAMED_HEADER_ATTRIBUTES = {
|
|
8734
|
-
vertexCount: "vertexCount",
|
|
8735
|
-
featureCount: "featureCount"
|
|
8736
|
-
};
|
|
8737
8794
|
STRING_ATTRIBUTE_TYPE = "String";
|
|
8738
8795
|
OBJECT_ID_ATTRIBUTE_TYPE = "Oid32";
|
|
8739
8796
|
FLOAT_64_TYPE = "Float64";
|
|
@@ -8751,26 +8808,24 @@
|
|
|
8751
8808
|
// src/lib/parsers/parse-i3s-tile-content.ts
|
|
8752
8809
|
function getLoaderForTextureFormat(textureFormat) {
|
|
8753
8810
|
switch (textureFormat) {
|
|
8754
|
-
case "jpeg":
|
|
8755
|
-
case "png":
|
|
8756
|
-
return ImageLoader;
|
|
8757
8811
|
case "ktx-etc2":
|
|
8758
8812
|
case "dds":
|
|
8759
8813
|
return CompressedTextureLoader;
|
|
8760
8814
|
case "ktx2":
|
|
8761
8815
|
return BasisLoader;
|
|
8816
|
+
case "jpg":
|
|
8817
|
+
case "png":
|
|
8762
8818
|
default:
|
|
8763
|
-
return
|
|
8819
|
+
return ImageLoader;
|
|
8764
8820
|
}
|
|
8765
8821
|
}
|
|
8766
8822
|
async function parseI3STileContent(arrayBuffer, tile, tileset, options, context) {
|
|
8767
8823
|
tile.content = tile.content || {};
|
|
8768
8824
|
tile.content.featureIds = tile.content.featureIds || null;
|
|
8769
|
-
tile.content.featureData = constructFeatureDataStruct(tileset);
|
|
8770
8825
|
tile.content.attributes = {};
|
|
8771
8826
|
if (tile.textureUrl) {
|
|
8772
8827
|
const url = getUrlWithToken(tile.textureUrl, options?.i3s?.token);
|
|
8773
|
-
const loader = getLoaderForTextureFormat(tile.textureFormat)
|
|
8828
|
+
const loader = getLoaderForTextureFormat(tile.textureFormat);
|
|
8774
8829
|
const response = await fetch(url);
|
|
8775
8830
|
const arrayBuffer2 = await response.arrayBuffer();
|
|
8776
8831
|
if (options?.i3s.decodeTextures) {
|
|
@@ -8799,9 +8854,9 @@
|
|
|
8799
8854
|
if (tile.content.material) {
|
|
8800
8855
|
tile.content.texture = null;
|
|
8801
8856
|
}
|
|
8802
|
-
return await parseI3SNodeGeometry(arrayBuffer, tile, options);
|
|
8857
|
+
return await parseI3SNodeGeometry(arrayBuffer, tile, tileset, options);
|
|
8803
8858
|
}
|
|
8804
|
-
async function parseI3SNodeGeometry(arrayBuffer, tile, options) {
|
|
8859
|
+
async function parseI3SNodeGeometry(arrayBuffer, tile, tileset, options) {
|
|
8805
8860
|
if (!tile.content) {
|
|
8806
8861
|
return tile;
|
|
8807
8862
|
}
|
|
@@ -8810,6 +8865,7 @@
|
|
|
8810
8865
|
let vertexCount;
|
|
8811
8866
|
let byteOffset = 0;
|
|
8812
8867
|
let featureCount = 0;
|
|
8868
|
+
let indices;
|
|
8813
8869
|
if (tile.isDracoGeometry) {
|
|
8814
8870
|
const decompressedGeometry = await parse(arrayBuffer, DracoLoader2, {
|
|
8815
8871
|
draco: {
|
|
@@ -8817,7 +8873,7 @@
|
|
|
8817
8873
|
}
|
|
8818
8874
|
});
|
|
8819
8875
|
vertexCount = decompressedGeometry.header.vertexCount;
|
|
8820
|
-
|
|
8876
|
+
indices = decompressedGeometry.indices?.value;
|
|
8821
8877
|
const {
|
|
8822
8878
|
POSITION,
|
|
8823
8879
|
NORMAL,
|
|
@@ -8832,8 +8888,7 @@
|
|
|
8832
8888
|
color: COLOR_0,
|
|
8833
8889
|
uv0: TEXCOORD_0,
|
|
8834
8890
|
uvRegion,
|
|
8835
|
-
id: featureIndex
|
|
8836
|
-
indices
|
|
8891
|
+
id: featureIndex
|
|
8837
8892
|
};
|
|
8838
8893
|
updateAttributesMetadata(attributes, decompressedGeometry);
|
|
8839
8894
|
const featureIds = getFeatureIdsFromFeatureIndexMetadata(featureIndex);
|
|
@@ -8841,8 +8896,13 @@
|
|
|
8841
8896
|
flattenFeatureIdsByFeatureIndices(attributes, featureIds);
|
|
8842
8897
|
}
|
|
8843
8898
|
} else {
|
|
8844
|
-
const {
|
|
8845
|
-
|
|
8899
|
+
const {
|
|
8900
|
+
vertexAttributes,
|
|
8901
|
+
ordering: attributesOrder,
|
|
8902
|
+
featureAttributes,
|
|
8903
|
+
featureAttributeOrder
|
|
8904
|
+
} = tileset.store.defaultGeometrySchema;
|
|
8905
|
+
const headers = parseHeaders(tileset, arrayBuffer);
|
|
8846
8906
|
byteOffset = headers.byteOffset;
|
|
8847
8907
|
vertexCount = headers.vertexCount;
|
|
8848
8908
|
featureCount = headers.featureCount;
|
|
@@ -8866,7 +8926,7 @@
|
|
|
8866
8926
|
texCoords: attributes.uv0,
|
|
8867
8927
|
uvRegions: normalizeAttribute(attributes.uvRegion)
|
|
8868
8928
|
};
|
|
8869
|
-
content.indices =
|
|
8929
|
+
content.indices = indices || null;
|
|
8870
8930
|
if (attributes.id && attributes.id.value) {
|
|
8871
8931
|
tile.content.featureIds = attributes.id.value;
|
|
8872
8932
|
}
|
|
@@ -8904,41 +8964,25 @@
|
|
|
8904
8964
|
attribute.normalized = true;
|
|
8905
8965
|
return attribute;
|
|
8906
8966
|
}
|
|
8907
|
-
function
|
|
8908
|
-
const defaultGeometrySchema = tileset.store.defaultGeometrySchema;
|
|
8909
|
-
const featureData = defaultGeometrySchema;
|
|
8910
|
-
for (const geometryAttribute in I3S_NAMED_GEOMETRY_ATTRIBUTES) {
|
|
8911
|
-
for (const namedAttribute in I3S_NAMED_VERTEX_ATTRIBUTES) {
|
|
8912
|
-
const attribute = defaultGeometrySchema[geometryAttribute][namedAttribute];
|
|
8913
|
-
if (attribute) {
|
|
8914
|
-
const { byteOffset = 0, count = 0, valueType, valuesPerElement } = attribute;
|
|
8915
|
-
featureData[geometryAttribute][namedAttribute] = {
|
|
8916
|
-
valueType,
|
|
8917
|
-
valuesPerElement,
|
|
8918
|
-
byteOffset,
|
|
8919
|
-
count
|
|
8920
|
-
};
|
|
8921
|
-
}
|
|
8922
|
-
}
|
|
8923
|
-
}
|
|
8924
|
-
featureData.attributesOrder = defaultGeometrySchema.ordering;
|
|
8925
|
-
return featureData;
|
|
8926
|
-
}
|
|
8927
|
-
function parseHeaders(content, arrayBuffer) {
|
|
8967
|
+
function parseHeaders(tileset, arrayBuffer) {
|
|
8928
8968
|
let byteOffset = 0;
|
|
8929
8969
|
let vertexCount = 0;
|
|
8930
8970
|
let featureCount = 0;
|
|
8931
|
-
|
|
8971
|
+
for (const { property, type } of tileset.store.defaultGeometrySchema.header) {
|
|
8932
8972
|
const TypedArrayTypeHeader = getConstructorForDataFormat(type);
|
|
8933
|
-
|
|
8934
|
-
vertexCount
|
|
8935
|
-
|
|
8936
|
-
|
|
8937
|
-
|
|
8938
|
-
featureCount
|
|
8939
|
-
|
|
8973
|
+
switch (property) {
|
|
8974
|
+
case HeaderAttributeProperty.vertexCount:
|
|
8975
|
+
vertexCount = new TypedArrayTypeHeader(arrayBuffer, 0, 4)[0];
|
|
8976
|
+
byteOffset += sizeOf(type);
|
|
8977
|
+
break;
|
|
8978
|
+
case HeaderAttributeProperty.featureCount:
|
|
8979
|
+
featureCount = new TypedArrayTypeHeader(arrayBuffer, 4, 4)[0];
|
|
8980
|
+
byteOffset += sizeOf(type);
|
|
8981
|
+
break;
|
|
8982
|
+
default:
|
|
8983
|
+
break;
|
|
8940
8984
|
}
|
|
8941
|
-
}
|
|
8985
|
+
}
|
|
8942
8986
|
return {
|
|
8943
8987
|
vertexCount,
|
|
8944
8988
|
featureCount,
|
|
@@ -8955,7 +8999,7 @@
|
|
|
8955
8999
|
break;
|
|
8956
9000
|
}
|
|
8957
9001
|
const buffer = arrayBuffer.slice(byteOffset);
|
|
8958
|
-
let value
|
|
9002
|
+
let value;
|
|
8959
9003
|
if (valueType === "UInt64") {
|
|
8960
9004
|
value = parseUint64Values(buffer, count * valuesPerElement, sizeOf(valueType));
|
|
8961
9005
|
} else {
|
|
@@ -8992,7 +9036,7 @@
|
|
|
8992
9036
|
values.push(value);
|
|
8993
9037
|
offset += attributeSize;
|
|
8994
9038
|
}
|
|
8995
|
-
return values;
|
|
9039
|
+
return new Uint32Array(values);
|
|
8996
9040
|
}
|
|
8997
9041
|
function parsePositions(attribute, tile) {
|
|
8998
9042
|
const mbs = tile.mbs;
|
|
@@ -9059,7 +9103,9 @@
|
|
|
9059
9103
|
if (pbrMaterial.pbrMetallicRoughness && pbrMaterial.pbrMetallicRoughness.baseColorFactor) {
|
|
9060
9104
|
pbrMaterial.pbrMetallicRoughness.baseColorFactor = convertColorFormat(pbrMaterial.pbrMetallicRoughness.baseColorFactor);
|
|
9061
9105
|
}
|
|
9062
|
-
|
|
9106
|
+
if (texture) {
|
|
9107
|
+
setMaterialTexture(pbrMaterial, texture);
|
|
9108
|
+
}
|
|
9063
9109
|
return pbrMaterial;
|
|
9064
9110
|
}
|
|
9065
9111
|
function convertColorFormat(colorFactor) {
|
|
@@ -9121,7 +9167,7 @@
|
|
|
9121
9167
|
attributes.id.value = result;
|
|
9122
9168
|
}
|
|
9123
9169
|
function getFeatureIdsFromFeatureIndexMetadata(featureIndex) {
|
|
9124
|
-
return featureIndex
|
|
9170
|
+
return featureIndex?.metadata?.["i3s-feature-ids"]?.intArray;
|
|
9125
9171
|
}
|
|
9126
9172
|
var scratchVector5, I3S_ATTRIBUTE_TYPE;
|
|
9127
9173
|
var init_parse_i3s_tile_content = __esm({
|
|
@@ -9132,6 +9178,7 @@
|
|
|
9132
9178
|
init_src4();
|
|
9133
9179
|
init_src6();
|
|
9134
9180
|
init_src7();
|
|
9181
|
+
init_types();
|
|
9135
9182
|
init_url_utils();
|
|
9136
9183
|
init_constants2();
|
|
9137
9184
|
scratchVector5 = new Vector3([0, 0, 0]);
|
|
@@ -9709,8 +9756,8 @@
|
|
|
9709
9756
|
this.textureDefinitionsSelectedFormats = [];
|
|
9710
9757
|
this.textureLoaderOptions = {};
|
|
9711
9758
|
this.tileset = { ...tileset };
|
|
9712
|
-
this.nodesPerPage = tileset.nodePages
|
|
9713
|
-
this.lodSelectionMetricType = tileset.nodePages
|
|
9759
|
+
this.nodesPerPage = tileset.nodePages?.nodesPerPage || 64;
|
|
9760
|
+
this.lodSelectionMetricType = tileset.nodePages?.lodSelectionMetricType;
|
|
9714
9761
|
this.options = options;
|
|
9715
9762
|
this.initSelectedFormatsForTextureDefinitions(tileset);
|
|
9716
9763
|
}
|
|
@@ -9737,21 +9784,21 @@
|
|
|
9737
9784
|
for (const child of node2.children || []) {
|
|
9738
9785
|
const childNode = await this.getNodeById(child);
|
|
9739
9786
|
children.push({
|
|
9740
|
-
id: child,
|
|
9787
|
+
id: child.toString(),
|
|
9741
9788
|
obb: childNode.obb
|
|
9742
9789
|
});
|
|
9743
9790
|
}
|
|
9744
|
-
let contentUrl
|
|
9745
|
-
let textureUrl
|
|
9746
|
-
let materialDefinition
|
|
9747
|
-
let textureFormat = "
|
|
9791
|
+
let contentUrl;
|
|
9792
|
+
let textureUrl;
|
|
9793
|
+
let materialDefinition;
|
|
9794
|
+
let textureFormat = "jpg";
|
|
9748
9795
|
let attributeUrls = [];
|
|
9749
9796
|
let isDracoGeometry = false;
|
|
9750
9797
|
if (node2 && node2.mesh) {
|
|
9751
|
-
const { url, isDracoGeometry: isDracoGeometryResult } = node2.mesh.geometry && this.getContentUrl(node2.mesh.geometry) || {
|
|
9798
|
+
const { url, isDracoGeometry: isDracoGeometryResult } = node2.mesh.geometry && this.getContentUrl(node2.mesh.geometry) || { isDracoGeometry: false };
|
|
9752
9799
|
contentUrl = url;
|
|
9753
9800
|
isDracoGeometry = isDracoGeometryResult;
|
|
9754
|
-
const
|
|
9801
|
+
const { textureData, materialDefinition: nodeMaterialDefinition } = this.getInformationFromMaterial(node2.mesh.material);
|
|
9755
9802
|
materialDefinition = nodeMaterialDefinition;
|
|
9756
9803
|
textureFormat = textureData.format || textureFormat;
|
|
9757
9804
|
if (textureData.name) {
|
|
@@ -9763,7 +9810,7 @@
|
|
|
9763
9810
|
}
|
|
9764
9811
|
const lodSelection = this.getLodSelection(node2);
|
|
9765
9812
|
return normalizeTileNonUrlData({
|
|
9766
|
-
id,
|
|
9813
|
+
id: id.toString(),
|
|
9767
9814
|
lodSelection,
|
|
9768
9815
|
obb: node2.obb,
|
|
9769
9816
|
contentUrl,
|
|
@@ -9777,7 +9824,7 @@
|
|
|
9777
9824
|
});
|
|
9778
9825
|
}
|
|
9779
9826
|
getContentUrl(meshGeometryData) {
|
|
9780
|
-
let result =
|
|
9827
|
+
let result = null;
|
|
9781
9828
|
const geometryDefinition = this.tileset.geometryDefinitions[meshGeometryData.definition];
|
|
9782
9829
|
let geometryIndex = -1;
|
|
9783
9830
|
if (this.options.i3s && this.options.i3s.useDracoGeometry) {
|
|
@@ -9810,17 +9857,18 @@
|
|
|
9810
9857
|
return lodSelection;
|
|
9811
9858
|
}
|
|
9812
9859
|
getInformationFromMaterial(material) {
|
|
9813
|
-
const
|
|
9860
|
+
const informationFromMaterial = { textureData: { name: null } };
|
|
9814
9861
|
if (material) {
|
|
9815
|
-
const materialDefinition = this.tileset.materialDefinitions[material.definition];
|
|
9816
|
-
|
|
9817
|
-
|
|
9818
|
-
const
|
|
9819
|
-
|
|
9862
|
+
const materialDefinition = this.tileset.materialDefinitions?.[material.definition];
|
|
9863
|
+
if (materialDefinition) {
|
|
9864
|
+
informationFromMaterial.materialDefinition = materialDefinition;
|
|
9865
|
+
const textureSetDefinitionIndex = materialDefinition?.pbrMetallicRoughness?.baseColorTexture?.textureSetDefinitionId;
|
|
9866
|
+
if (typeof textureSetDefinitionIndex === "number") {
|
|
9867
|
+
informationFromMaterial.textureData = this.textureDefinitionsSelectedFormats[textureSetDefinitionIndex] || informationFromMaterial.textureData;
|
|
9868
|
+
}
|
|
9820
9869
|
}
|
|
9821
|
-
return [textureDataDefault, materialDefinition];
|
|
9822
9870
|
}
|
|
9823
|
-
return
|
|
9871
|
+
return informationFromMaterial;
|
|
9824
9872
|
}
|
|
9825
9873
|
initSelectedFormatsForTextureDefinitions(tileset) {
|
|
9826
9874
|
this.textureDefinitionsSelectedFormats = [];
|
|
@@ -9868,49 +9916,54 @@
|
|
|
9868
9916
|
|
|
9869
9917
|
// src/lib/parsers/parse-i3s.ts
|
|
9870
9918
|
function normalizeTileData(tile, options, context) {
|
|
9871
|
-
|
|
9872
|
-
|
|
9873
|
-
tile.featureUrl = `${tile.url}/${tile.featureData[0].href}`;
|
|
9874
|
-
}
|
|
9919
|
+
const url = context.url || "";
|
|
9920
|
+
let contentUrl;
|
|
9875
9921
|
if (tile.geometryData) {
|
|
9876
|
-
|
|
9922
|
+
contentUrl = `${url}/${tile.geometryData[0].href}`;
|
|
9877
9923
|
}
|
|
9924
|
+
let textureUrl;
|
|
9878
9925
|
if (tile.textureData) {
|
|
9879
|
-
|
|
9926
|
+
textureUrl = `${url}/${tile.textureData[0].href}`;
|
|
9880
9927
|
}
|
|
9928
|
+
let attributeUrls;
|
|
9881
9929
|
if (tile.attributeData) {
|
|
9882
|
-
|
|
9883
|
-
}
|
|
9884
|
-
return normalizeTileNonUrlData(
|
|
9930
|
+
attributeUrls = generateTileAttributeUrls(url, tile);
|
|
9931
|
+
}
|
|
9932
|
+
return normalizeTileNonUrlData({
|
|
9933
|
+
...tile,
|
|
9934
|
+
url,
|
|
9935
|
+
contentUrl,
|
|
9936
|
+
textureUrl,
|
|
9937
|
+
attributeUrls,
|
|
9938
|
+
isDracoGeometry: false
|
|
9939
|
+
});
|
|
9885
9940
|
}
|
|
9886
9941
|
function normalizeTileNonUrlData(tile) {
|
|
9887
|
-
const
|
|
9888
|
-
|
|
9889
|
-
...tile.obb.halfSize,
|
|
9890
|
-
...tile.obb.quaternion
|
|
9891
|
-
] : void 0;
|
|
9892
|
-
let sphere;
|
|
9942
|
+
const boundingVolume = {};
|
|
9943
|
+
let mbs = [0, 0, 0, 1];
|
|
9893
9944
|
if (tile.mbs) {
|
|
9894
|
-
|
|
9945
|
+
mbs = tile.mbs;
|
|
9946
|
+
boundingVolume.sphere = [
|
|
9895
9947
|
...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)),
|
|
9896
9948
|
tile.mbs[3]
|
|
9897
9949
|
];
|
|
9898
|
-
} else if (
|
|
9899
|
-
|
|
9950
|
+
} else if (tile.obb) {
|
|
9951
|
+
boundingVolume.box = [
|
|
9952
|
+
...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center),
|
|
9953
|
+
...tile.obb.halfSize,
|
|
9954
|
+
...tile.obb.quaternion
|
|
9955
|
+
];
|
|
9956
|
+
const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(boundingVolume.box.slice(0, 3), tile.obb.halfSize, tile.obb.quaternion);
|
|
9900
9957
|
const boundingSphere = obb.getBoundingSphere();
|
|
9901
|
-
sphere = [...boundingSphere.center, boundingSphere.radius];
|
|
9902
|
-
|
|
9903
|
-
}
|
|
9904
|
-
|
|
9905
|
-
|
|
9906
|
-
|
|
9907
|
-
|
|
9908
|
-
|
|
9909
|
-
tile
|
|
9910
|
-
tile.transformMatrix = tile.transform;
|
|
9911
|
-
tile.type = TILE_TYPE.MESH;
|
|
9912
|
-
tile.refine = TILE_REFINEMENT.REPLACE;
|
|
9913
|
-
return tile;
|
|
9958
|
+
boundingVolume.sphere = [...boundingSphere.center, boundingSphere.radius];
|
|
9959
|
+
mbs = [...tile.obb.center, boundingSphere.radius];
|
|
9960
|
+
}
|
|
9961
|
+
const lodMetricType = tile.lodSelection?.[0].metricType;
|
|
9962
|
+
const lodMetricValue = tile.lodSelection?.[0].maxError;
|
|
9963
|
+
const transformMatrix = tile.transform;
|
|
9964
|
+
const type = TILE_TYPE.MESH;
|
|
9965
|
+
const refine = TILE_REFINEMENT.REPLACE;
|
|
9966
|
+
return { ...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, transformMatrix, type, refine };
|
|
9914
9967
|
}
|
|
9915
9968
|
async function normalizeTilesetData(tileset, options, context) {
|
|
9916
9969
|
tileset.url = context.url;
|