@loaders.gl/textures 4.0.0-alpha.5 → 4.0.0-alpha.7
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/basis-loader.d.ts +4 -43
- package/dist/basis-loader.d.ts.map +1 -1
- package/dist/basis-loader.js +34 -24
- package/dist/basis-worker-node.js +64152 -0
- package/dist/basis-worker.js +51 -18
- package/dist/bundle.js +2 -2
- package/dist/compressed-texture-loader.d.ts +1 -1
- package/dist/compressed-texture-loader.d.ts.map +1 -1
- package/dist/compressed-texture-loader.js +59 -36
- package/dist/compressed-texture-worker.js +51 -18
- package/dist/compressed-texture-writer.d.ts +13 -21
- package/dist/compressed-texture-writer.d.ts.map +1 -1
- package/dist/compressed-texture-writer.js +33 -21
- package/dist/crunch-loader.js +23 -16
- package/dist/crunch-worker.js +49 -17
- package/dist/dist.min.js +104 -35
- package/dist/es5/basis-loader.js +37 -0
- package/dist/es5/basis-loader.js.map +1 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/compressed-texture-loader.js +76 -0
- package/dist/es5/compressed-texture-loader.js.map +1 -0
- package/dist/es5/compressed-texture-writer.js +28 -0
- package/dist/es5/compressed-texture-writer.js.map +1 -0
- package/dist/es5/crunch-loader.js +26 -0
- package/dist/es5/crunch-loader.js.map +1 -0
- package/dist/es5/index.js +131 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/ktx2-basis-writer.js +26 -0
- package/dist/es5/ktx2-basis-writer.js.map +1 -0
- package/dist/es5/lib/encoders/encode-ktx.js +12 -0
- package/dist/es5/lib/encoders/encode-ktx.js.map +1 -0
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +74 -0
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
- package/dist/es5/lib/encoders/encode-texture.js +38 -0
- package/dist/es5/lib/encoders/encode-texture.js.map +1 -0
- package/dist/es5/lib/gl-extensions.js +68 -0
- package/dist/es5/lib/gl-extensions.js.map +1 -0
- package/dist/es5/lib/parsers/basis-module-loader.js +194 -0
- package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -0
- package/dist/es5/lib/parsers/crunch-module-loader.js +67 -0
- package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -0
- package/dist/es5/lib/parsers/parse-basis.js +270 -0
- package/dist/es5/lib/parsers/parse-basis.js.map +1 -0
- package/dist/es5/lib/parsers/parse-compressed-texture.js +22 -0
- package/dist/es5/lib/parsers/parse-compressed-texture.js.map +1 -0
- package/dist/es5/lib/parsers/parse-crunch.js +100 -0
- package/dist/es5/lib/parsers/parse-crunch.js.map +1 -0
- package/dist/es5/lib/parsers/parse-dds.js +84 -0
- package/dist/es5/lib/parsers/parse-dds.js.map +1 -0
- package/dist/es5/lib/parsers/parse-ktx.js +34 -0
- package/dist/es5/lib/parsers/parse-ktx.js.map +1 -0
- package/dist/es5/lib/parsers/parse-npy.js +70 -0
- package/dist/es5/lib/parsers/parse-npy.js.map +1 -0
- package/dist/es5/lib/parsers/parse-pvr.js +161 -0
- package/dist/es5/lib/parsers/parse-pvr.js.map +1 -0
- package/dist/es5/lib/texture-api/async-deep-map.js +156 -0
- package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -0
- package/dist/es5/lib/texture-api/deep-load.js +63 -0
- package/dist/es5/lib/texture-api/deep-load.js.map +1 -0
- package/dist/es5/lib/texture-api/generate-url.js +20 -0
- package/dist/es5/lib/texture-api/generate-url.js.map +1 -0
- package/dist/es5/lib/texture-api/load-image-array.js +75 -0
- package/dist/es5/lib/texture-api/load-image-array.js.map +1 -0
- package/dist/es5/lib/texture-api/load-image-cube.js +136 -0
- package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -0
- package/dist/es5/lib/texture-api/load-image.js +129 -0
- package/dist/es5/lib/texture-api/load-image.js.map +1 -0
- package/dist/es5/lib/texture-api/texture-api-types.js +2 -0
- package/dist/es5/lib/texture-api/texture-api-types.js.map +1 -0
- package/dist/es5/lib/utils/extract-mipmap-images.js +41 -0
- package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -0
- package/dist/es5/lib/utils/ktx-format-helper.js +79 -0
- package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -0
- package/dist/es5/lib/utils/texture-formats.js +54 -0
- package/dist/es5/lib/utils/texture-formats.js.map +1 -0
- package/dist/es5/lib/utils/version.js +9 -0
- package/dist/es5/lib/utils/version.js.map +1 -0
- package/dist/es5/libs/basis_encoder.js +21 -0
- package/dist/es5/libs/basis_encoder.wasm +0 -0
- package/dist/es5/libs/basis_transcoder.js +22 -0
- package/dist/{libs → es5}/libs/basis_transcoder.wasm +0 -0
- package/dist/es5/npy-loader.js +51 -0
- package/dist/es5/npy-loader.js.map +1 -0
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/workers/basis-worker-node.js +7 -0
- package/dist/es5/workers/basis-worker-node.js.map +1 -0
- package/dist/es5/workers/basis-worker.js +6 -0
- package/dist/es5/workers/basis-worker.js.map +1 -0
- package/dist/es5/workers/compressed-texture-worker.js +6 -0
- package/dist/es5/workers/compressed-texture-worker.js.map +1 -0
- package/dist/es5/workers/crunch-worker.js +19 -0
- package/dist/es5/workers/crunch-worker.js.map +1 -0
- package/dist/es5/workers/ktx2-basis-writer-worker-node.js +54 -0
- package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +1 -0
- package/dist/es5/workers/ktx2-basis-writer-worker.js +53 -0
- package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/es5/workers/npy-worker.js +6 -0
- package/dist/es5/workers/npy-worker.js.map +1 -0
- package/dist/esm/basis-loader.js +26 -0
- package/dist/esm/basis-loader.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/compressed-texture-loader.js +41 -0
- package/dist/esm/compressed-texture-loader.js.map +1 -0
- package/dist/esm/compressed-texture-writer.js +21 -0
- package/dist/esm/compressed-texture-writer.js.map +1 -0
- package/dist/esm/crunch-loader.js +18 -0
- package/dist/esm/crunch-loader.js.map +1 -0
- package/dist/esm/index.js +29 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/{ktx2-basis-universal-texture-writer.js → esm/ktx2-basis-writer.js} +4 -4
- package/dist/esm/ktx2-basis-writer.js.map +1 -0
- package/dist/esm/lib/encoders/encode-ktx.js +6 -0
- package/dist/esm/lib/encoders/encode-ktx.js.map +1 -0
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +35 -0
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
- package/dist/esm/lib/encoders/encode-texture.js +12 -0
- package/dist/esm/lib/encoders/encode-texture.js.map +1 -0
- package/dist/esm/lib/gl-extensions.js +61 -0
- package/dist/esm/lib/gl-extensions.js.map +1 -0
- package/dist/esm/lib/parsers/basis-module-loader.js +77 -0
- package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -0
- package/dist/esm/lib/parsers/crunch-module-loader.js +19 -0
- package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -0
- package/dist/esm/lib/parsers/parse-basis.js +231 -0
- package/dist/esm/lib/parsers/parse-basis.js.map +1 -0
- package/dist/esm/lib/parsers/parse-compressed-texture.js +16 -0
- package/dist/esm/lib/parsers/parse-compressed-texture.js.map +1 -0
- package/dist/esm/lib/parsers/parse-crunch.js +75 -0
- package/dist/esm/lib/parsers/parse-crunch.js.map +1 -0
- package/dist/esm/lib/parsers/parse-dds.js +75 -0
- package/dist/esm/lib/parsers/parse-dds.js.map +1 -0
- package/dist/esm/lib/parsers/parse-ktx.js +25 -0
- package/dist/esm/lib/parsers/parse-ktx.js.map +1 -0
- package/dist/esm/lib/parsers/parse-npy.js +63 -0
- package/dist/esm/lib/parsers/parse-npy.js.map +1 -0
- package/dist/esm/lib/parsers/parse-pvr.js +154 -0
- package/dist/esm/lib/parsers/parse-pvr.js.map +1 -0
- package/dist/esm/lib/texture-api/async-deep-map.js +34 -0
- package/dist/esm/lib/texture-api/async-deep-map.js.map +1 -0
- package/dist/esm/lib/texture-api/deep-load.js +10 -0
- package/dist/esm/lib/texture-api/deep-load.js.map +1 -0
- package/dist/esm/lib/texture-api/generate-url.js +13 -0
- package/dist/esm/lib/texture-api/generate-url.js.map +1 -0
- package/dist/esm/lib/texture-api/load-image-array.js +20 -0
- package/dist/esm/lib/texture-api/load-image-array.js.map +1 -0
- package/dist/esm/lib/texture-api/load-image-cube.js +63 -0
- package/dist/esm/lib/texture-api/load-image-cube.js.map +1 -0
- package/dist/esm/lib/texture-api/load-image.js +46 -0
- package/dist/esm/lib/texture-api/load-image.js.map +1 -0
- package/dist/esm/lib/texture-api/texture-api-types.js +2 -0
- package/dist/esm/lib/texture-api/texture-api-types.js.map +1 -0
- package/dist/esm/lib/utils/extract-mipmap-images.js +35 -0
- package/dist/esm/lib/utils/extract-mipmap-images.js.map +1 -0
- package/dist/esm/lib/utils/ktx-format-helper.js +73 -0
- package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -0
- package/dist/esm/lib/utils/texture-formats.js +36 -0
- package/dist/esm/lib/utils/texture-formats.js.map +1 -0
- package/dist/esm/lib/utils/version.js +2 -0
- package/dist/esm/lib/utils/version.js.map +1 -0
- package/dist/esm/libs/README.md +9 -0
- package/dist/esm/libs/basis_encoder.js +21 -0
- package/dist/esm/libs/basis_encoder.wasm +0 -0
- package/dist/esm/libs/basis_transcoder.js +22 -0
- package/dist/esm/libs/basis_transcoder.wasm +0 -0
- package/dist/esm/libs/crunch.js +136 -0
- package/dist/esm/npy-loader.js +22 -0
- package/dist/esm/npy-loader.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/workers/basis-worker-node.js +5 -0
- package/dist/esm/workers/basis-worker-node.js.map +1 -0
- package/dist/esm/workers/basis-worker.js +4 -0
- package/dist/esm/workers/basis-worker.js.map +1 -0
- package/dist/esm/workers/compressed-texture-worker.js +4 -0
- package/dist/esm/workers/compressed-texture-worker.js.map +1 -0
- package/dist/esm/workers/crunch-worker.js +9 -0
- package/dist/esm/workers/crunch-worker.js.map +1 -0
- package/dist/esm/workers/ktx2-basis-writer-worker-node.js +32 -0
- package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +1 -0
- package/dist/esm/workers/ktx2-basis-writer-worker.js +31 -0
- package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/esm/workers/npy-worker.js +4 -0
- package/dist/esm/workers/npy-worker.js.map +1 -0
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -14
- package/dist/ktx2-basis-writer-worker-node.js +63611 -0
- package/dist/ktx2-basis-writer-worker.js +343 -0
- package/dist/ktx2-basis-writer.d.ts +16 -0
- package/dist/ktx2-basis-writer.d.ts.map +1 -0
- package/dist/ktx2-basis-writer.js +26 -0
- package/dist/lib/encoders/encode-ktx.js +9 -5
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +40 -34
- package/dist/lib/encoders/encode-texture.d.ts +2 -3
- package/dist/lib/encoders/encode-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-texture.js +26 -11
- package/dist/lib/gl-extensions.js +71 -60
- package/dist/lib/parsers/basis-module-loader.js +100 -76
- package/dist/lib/parsers/crunch-module-loader.js +30 -18
- package/dist/lib/parsers/parse-basis.d.ts +1 -1
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +225 -240
- package/dist/lib/parsers/parse-compressed-texture.js +25 -18
- package/dist/lib/parsers/parse-crunch.js +96 -82
- package/dist/lib/parsers/parse-dds.js +93 -63
- package/dist/lib/parsers/parse-ktx.js +44 -23
- package/dist/lib/parsers/parse-npy.d.ts +10 -5
- package/dist/lib/parsers/parse-npy.d.ts.map +1 -1
- package/dist/lib/parsers/parse-npy.js +76 -71
- package/dist/lib/parsers/parse-pvr.js +212 -133
- package/dist/lib/texture-api/async-deep-map.d.ts +2 -2
- package/dist/lib/texture-api/async-deep-map.d.ts.map +1 -1
- package/dist/lib/texture-api/async-deep-map.js +35 -33
- package/dist/lib/texture-api/deep-load.d.ts +2 -2
- package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
- package/dist/lib/texture-api/deep-load.js +14 -8
- package/dist/lib/texture-api/generate-url.js +16 -13
- package/dist/lib/texture-api/load-image-array.js +19 -18
- package/dist/lib/texture-api/load-image-cube.d.ts +1 -1
- package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-cube.js +39 -55
- package/dist/lib/texture-api/load-image.js +38 -43
- package/dist/lib/texture-api/texture-api-types.d.ts +2 -2
- package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -1
- package/dist/lib/texture-api/texture-api-types.js +3 -2
- package/dist/lib/utils/extract-mipmap-images.d.ts +1 -1
- package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
- package/dist/lib/utils/extract-mipmap-images.js +45 -36
- package/dist/lib/utils/ktx-format-helper.js +122 -70
- package/dist/lib/utils/texture-formats.js +42 -30
- package/dist/lib/utils/version.js +8 -2
- package/dist/libs/basis_encoder.js +20 -21
- package/dist/libs/basis_encoder.wasm +0 -0
- package/dist/libs/basis_transcoder.js +14 -13
- package/dist/libs/basis_transcoder.wasm +0 -0
- package/dist/npy-loader.d.ts +6 -37
- package/dist/npy-loader.d.ts.map +1 -1
- package/dist/npy-loader.js +28 -20
- package/dist/npy-worker.js +60 -31
- package/dist/types.js +1 -2
- package/dist/workers/basis-worker-node.d.ts +2 -0
- package/dist/workers/basis-worker-node.d.ts.map +1 -0
- package/dist/workers/basis-worker-node.js +7 -0
- package/dist/workers/basis-worker.js +5 -4
- package/dist/workers/compressed-texture-worker.js +5 -4
- package/dist/workers/crunch-worker.js +13 -7
- package/dist/workers/ktx2-basis-writer-worker-node.d.ts +2 -0
- package/dist/workers/ktx2-basis-writer-worker-node.d.ts.map +1 -0
- package/dist/workers/ktx2-basis-writer-worker-node.js +28 -0
- package/dist/workers/ktx2-basis-writer-worker.d.ts +2 -0
- package/dist/workers/ktx2-basis-writer-worker.d.ts.map +1 -0
- package/dist/workers/ktx2-basis-writer-worker.js +26 -0
- package/dist/workers/npy-worker.js +5 -4
- package/package.json +21 -15
- package/src/basis-loader.ts +5 -7
- package/src/compressed-texture-writer.ts +21 -3
- package/src/index.ts +18 -1
- package/src/{ktx2-basis-universal-texture-writer.ts → ktx2-basis-writer.ts} +14 -3
- package/src/lib/encoders/encode-texture.ts +2 -1
- package/src/lib/parsers/parse-basis.ts +1 -1
- package/src/lib/parsers/parse-npy.ts +52 -31
- package/src/libs/basis_encoder.js +20 -21
- package/src/libs/basis_encoder.wasm +0 -0
- package/src/libs/basis_transcoder.js +14 -13
- package/src/libs/basis_transcoder.wasm +0 -0
- package/src/npy-loader.ts +7 -7
- package/src/workers/basis-worker-node.ts +6 -0
- package/src/workers/ktx2-basis-writer-worker-node.ts +27 -0
- package/src/workers/ktx2-basis-writer-worker.ts +25 -0
- package/dist/basis-loader.js.map +0 -1
- package/dist/bundle.js.map +0 -1
- package/dist/compressed-texture-loader.js.map +0 -1
- package/dist/compressed-texture-writer.js.map +0 -1
- package/dist/crunch-loader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/ktx2-basis-universal-texture-writer.d.ts +0 -22
- package/dist/ktx2-basis-universal-texture-writer.d.ts.map +0 -1
- package/dist/ktx2-basis-universal-texture-writer.js.map +0 -1
- package/dist/lib/encoders/encode-ktx.js.map +0 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
- package/dist/lib/encoders/encode-texture.js.map +0 -1
- package/dist/lib/gl-extensions.js.map +0 -1
- package/dist/lib/parsers/basis-module-loader.js.map +0 -1
- package/dist/lib/parsers/crunch-module-loader.js.map +0 -1
- package/dist/lib/parsers/parse-basis.js.map +0 -1
- package/dist/lib/parsers/parse-compressed-texture.js.map +0 -1
- package/dist/lib/parsers/parse-crunch.js.map +0 -1
- package/dist/lib/parsers/parse-dds.js.map +0 -1
- package/dist/lib/parsers/parse-ktx.js.map +0 -1
- package/dist/lib/parsers/parse-npy.js.map +0 -1
- package/dist/lib/parsers/parse-pvr.js.map +0 -1
- package/dist/lib/texture-api/async-deep-map.js.map +0 -1
- package/dist/lib/texture-api/deep-load.js.map +0 -1
- package/dist/lib/texture-api/generate-url.js.map +0 -1
- package/dist/lib/texture-api/load-image-array.js.map +0 -1
- package/dist/lib/texture-api/load-image-cube.js.map +0 -1
- package/dist/lib/texture-api/load-image.js.map +0 -1
- package/dist/lib/texture-api/texture-api-types.js.map +0 -1
- package/dist/lib/utils/extract-mipmap-images.js.map +0 -1
- package/dist/lib/utils/ktx-format-helper.js.map +0 -1
- package/dist/lib/utils/texture-formats.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/libs/libs/basis_encoder.js +0 -22
- package/dist/libs/libs/basis_encoder.wasm +0 -0
- package/dist/libs/libs/basis_transcoder.js +0 -21
- package/dist/npy-loader.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/workers/basis-worker.js.map +0 -1
- package/dist/workers/compressed-texture-worker.js.map +0 -1
- package/dist/workers/crunch-worker.js.map +0 -1
- package/dist/workers/npy-worker.js.map +0 -1
- /package/dist/{libs → es5}/libs/README.md +0 -0
- /package/dist/{libs → es5}/libs/crunch.js +0 -0
|
@@ -1,171 +1,250 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable camelcase */
|
|
3
|
+
// Forked from PicoGL: https://github.com/tsherif/picogl.js/blob/master/examples/utils/utils.js
|
|
4
|
+
// Copyright (c) 2017 Tarek Sherif, The MIT License (MIT)
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parsePVR = exports.isPVR = void 0;
|
|
7
|
+
const gl_extensions_1 = require("../gl-extensions");
|
|
8
|
+
const extract_mipmap_images_1 = require("../utils/extract-mipmap-images");
|
|
3
9
|
const PVR_CONSTANTS = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
MAGIC_NUMBER: 0x03525650,
|
|
11
|
+
MAGIC_NUMBER_EXTRA: 0x50565203,
|
|
12
|
+
HEADER_LENGTH: 13,
|
|
13
|
+
HEADER_SIZE: 52,
|
|
14
|
+
MAGIC_NUMBER_INDEX: 0,
|
|
15
|
+
PIXEL_FORMAT_INDEX: 2,
|
|
16
|
+
COLOUR_SPACE_INDEX: 4,
|
|
17
|
+
HEIGHT_INDEX: 6,
|
|
18
|
+
WIDTH_INDEX: 7,
|
|
19
|
+
MIPMAPCOUNT_INDEX: 11,
|
|
20
|
+
METADATA_SIZE_INDEX: 12
|
|
15
21
|
};
|
|
16
22
|
const PVR_PIXEL_FORMATS = {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
23
|
+
0: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
|
|
24
|
+
1: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
|
|
25
|
+
2: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
|
|
26
|
+
3: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
|
|
27
|
+
6: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
|
|
28
|
+
7: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
|
|
29
|
+
9: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
|
|
30
|
+
11: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
|
|
31
|
+
22: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
|
|
32
|
+
23: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
|
|
33
|
+
24: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
|
|
34
|
+
25: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
|
|
35
|
+
26: [gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
|
|
36
|
+
27: [
|
|
37
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
|
|
38
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
|
|
39
|
+
],
|
|
40
|
+
28: [
|
|
41
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
|
|
42
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
|
|
43
|
+
],
|
|
44
|
+
29: [
|
|
45
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
|
|
46
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
|
|
47
|
+
],
|
|
48
|
+
30: [
|
|
49
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
|
|
50
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
|
|
51
|
+
],
|
|
52
|
+
31: [
|
|
53
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
|
|
54
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
|
|
55
|
+
],
|
|
56
|
+
32: [
|
|
57
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
|
|
58
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
|
|
59
|
+
],
|
|
60
|
+
33: [
|
|
61
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
|
|
62
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
|
|
63
|
+
],
|
|
64
|
+
34: [
|
|
65
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
|
|
66
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
|
|
67
|
+
],
|
|
68
|
+
35: [
|
|
69
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
|
|
70
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
|
|
71
|
+
],
|
|
72
|
+
36: [
|
|
73
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
|
|
74
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
|
|
75
|
+
],
|
|
76
|
+
37: [
|
|
77
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
|
|
78
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
|
|
79
|
+
],
|
|
80
|
+
38: [
|
|
81
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
|
|
82
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
|
|
83
|
+
],
|
|
84
|
+
39: [
|
|
85
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
|
|
86
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
|
|
87
|
+
],
|
|
88
|
+
40: [
|
|
89
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
|
|
90
|
+
gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
|
|
91
|
+
]
|
|
44
92
|
};
|
|
45
93
|
const PVR_SIZE_FUNCTIONS = {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
94
|
+
0: pvrtc2bppSize,
|
|
95
|
+
1: pvrtc2bppSize,
|
|
96
|
+
2: pvrtc4bppSize,
|
|
97
|
+
3: pvrtc4bppSize,
|
|
98
|
+
6: dxtEtcSmallSize,
|
|
99
|
+
7: dxtEtcSmallSize,
|
|
100
|
+
9: dxtEtcAstcBigSize,
|
|
101
|
+
11: dxtEtcAstcBigSize,
|
|
102
|
+
22: dxtEtcSmallSize,
|
|
103
|
+
23: dxtEtcAstcBigSize,
|
|
104
|
+
24: dxtEtcSmallSize,
|
|
105
|
+
25: dxtEtcSmallSize,
|
|
106
|
+
26: dxtEtcAstcBigSize,
|
|
107
|
+
27: dxtEtcAstcBigSize,
|
|
108
|
+
28: atc5x4Size,
|
|
109
|
+
29: atc5x5Size,
|
|
110
|
+
30: atc6x5Size,
|
|
111
|
+
31: atc6x6Size,
|
|
112
|
+
32: atc8x5Size,
|
|
113
|
+
33: atc8x6Size,
|
|
114
|
+
34: atc8x8Size,
|
|
115
|
+
35: atc10x5Size,
|
|
116
|
+
36: atc10x6Size,
|
|
117
|
+
37: atc10x8Size,
|
|
118
|
+
38: atc10x10Size,
|
|
119
|
+
39: atc12x10Size,
|
|
120
|
+
40: atc12x12Size
|
|
73
121
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
internalFormat
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Check if data is in "PVR" format by its magic number
|
|
124
|
+
* @param data - binary data of compressed texture
|
|
125
|
+
* @returns true - data in "PVR" format, else - false
|
|
126
|
+
*/
|
|
127
|
+
function isPVR(data) {
|
|
128
|
+
const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);
|
|
129
|
+
const version = header[PVR_CONSTANTS.MAGIC_NUMBER_INDEX];
|
|
130
|
+
return version === PVR_CONSTANTS.MAGIC_NUMBER || version === PVR_CONSTANTS.MAGIC_NUMBER_EXTRA;
|
|
131
|
+
}
|
|
132
|
+
exports.isPVR = isPVR;
|
|
133
|
+
/**
|
|
134
|
+
* Parse texture data as "PVR" format
|
|
135
|
+
* @param data - binary data of compressed texture
|
|
136
|
+
* @returns Array of the texture levels
|
|
137
|
+
* @see http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf
|
|
138
|
+
*/
|
|
139
|
+
function parsePVR(data) {
|
|
140
|
+
const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);
|
|
141
|
+
const pvrFormat = header[PVR_CONSTANTS.PIXEL_FORMAT_INDEX];
|
|
142
|
+
const colourSpace = header[PVR_CONSTANTS.COLOUR_SPACE_INDEX];
|
|
143
|
+
const pixelFormats = PVR_PIXEL_FORMATS[pvrFormat] || [];
|
|
144
|
+
const internalFormat = pixelFormats.length > 1 && colourSpace ? pixelFormats[1] : pixelFormats[0];
|
|
145
|
+
const sizeFunction = PVR_SIZE_FUNCTIONS[pvrFormat];
|
|
146
|
+
const mipMapLevels = header[PVR_CONSTANTS.MIPMAPCOUNT_INDEX];
|
|
147
|
+
const width = header[PVR_CONSTANTS.WIDTH_INDEX];
|
|
148
|
+
const height = header[PVR_CONSTANTS.HEIGHT_INDEX];
|
|
149
|
+
const dataOffset = PVR_CONSTANTS.HEADER_SIZE + header[PVR_CONSTANTS.METADATA_SIZE_INDEX];
|
|
150
|
+
const image = new Uint8Array(data, dataOffset);
|
|
151
|
+
return (0, extract_mipmap_images_1.extractMipmapImages)(image, {
|
|
152
|
+
mipMapLevels,
|
|
153
|
+
width,
|
|
154
|
+
height,
|
|
155
|
+
sizeFunction,
|
|
156
|
+
internalFormat
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
exports.parsePVR = parsePVR;
|
|
160
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/
|
|
100
161
|
function pvrtc2bppSize(width, height) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
162
|
+
width = Math.max(width, 16);
|
|
163
|
+
height = Math.max(height, 8);
|
|
164
|
+
return (width * height) / 4;
|
|
104
165
|
}
|
|
105
|
-
|
|
166
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/
|
|
106
167
|
function pvrtc4bppSize(width, height) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
168
|
+
width = Math.max(width, 8);
|
|
169
|
+
height = Math.max(height, 8);
|
|
170
|
+
return (width * height) / 2;
|
|
171
|
+
}
|
|
172
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/
|
|
173
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/
|
|
174
|
+
// Size for:
|
|
175
|
+
// COMPRESSED_RGB_S3TC_DXT1_EXT
|
|
176
|
+
// COMPRESSED_R11_EAC
|
|
177
|
+
// COMPRESSED_SIGNED_R11_EAC
|
|
178
|
+
// COMPRESSED_RGB8_ETC2
|
|
179
|
+
// COMPRESSED_SRGB8_ETC2
|
|
180
|
+
// COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
|
|
181
|
+
// COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
|
|
112
182
|
function dxtEtcSmallSize(width, height) {
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
183
|
+
return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8;
|
|
184
|
+
}
|
|
185
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/
|
|
186
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/
|
|
187
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
188
|
+
// Size for:
|
|
189
|
+
// COMPRESSED_RGBA_S3TC_DXT3_EXT
|
|
190
|
+
// COMPRESSED_RGBA_S3TC_DXT5_EXT
|
|
191
|
+
// COMPRESSED_RG11_EAC
|
|
192
|
+
// COMPRESSED_SIGNED_RG11_EAC
|
|
193
|
+
// COMPRESSED_RGBA8_ETC2_EAC
|
|
194
|
+
// COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
|
|
195
|
+
// COMPRESSED_RGBA_ASTC_4x4_KHR
|
|
116
196
|
function dxtEtcAstcBigSize(width, height) {
|
|
117
|
-
|
|
197
|
+
return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;
|
|
118
198
|
}
|
|
119
|
-
|
|
199
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
120
200
|
function atc5x4Size(width, height) {
|
|
121
|
-
|
|
201
|
+
return Math.floor((width + 4) / 5) * Math.floor((height + 3) / 4) * 16;
|
|
122
202
|
}
|
|
123
|
-
|
|
203
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
124
204
|
function atc5x5Size(width, height) {
|
|
125
|
-
|
|
205
|
+
return Math.floor((width + 4) / 5) * Math.floor((height + 4) / 5) * 16;
|
|
126
206
|
}
|
|
127
|
-
|
|
207
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
128
208
|
function atc6x5Size(width, height) {
|
|
129
|
-
|
|
209
|
+
return Math.floor((width + 5) / 6) * Math.floor((height + 4) / 5) * 16;
|
|
130
210
|
}
|
|
131
|
-
|
|
211
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
132
212
|
function atc6x6Size(width, height) {
|
|
133
|
-
|
|
213
|
+
return Math.floor((width + 5) / 6) * Math.floor((height + 5) / 6) * 16;
|
|
134
214
|
}
|
|
135
|
-
|
|
215
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
136
216
|
function atc8x5Size(width, height) {
|
|
137
|
-
|
|
217
|
+
return Math.floor((width + 7) / 8) * Math.floor((height + 4) / 5) * 16;
|
|
138
218
|
}
|
|
139
|
-
|
|
219
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
140
220
|
function atc8x6Size(width, height) {
|
|
141
|
-
|
|
221
|
+
return Math.floor((width + 7) / 8) * Math.floor((height + 5) / 6) * 16;
|
|
142
222
|
}
|
|
143
|
-
|
|
223
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
144
224
|
function atc8x8Size(width, height) {
|
|
145
|
-
|
|
225
|
+
return Math.floor((width + 7) / 8) * Math.floor((height + 7) / 8) * 16;
|
|
146
226
|
}
|
|
147
|
-
|
|
227
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
148
228
|
function atc10x5Size(width, height) {
|
|
149
|
-
|
|
229
|
+
return Math.floor((width + 9) / 10) * Math.floor((height + 4) / 5) * 16;
|
|
150
230
|
}
|
|
151
|
-
|
|
231
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
152
232
|
function atc10x6Size(width, height) {
|
|
153
|
-
|
|
233
|
+
return Math.floor((width + 9) / 10) * Math.floor((height + 5) / 6) * 16;
|
|
154
234
|
}
|
|
155
|
-
|
|
235
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
156
236
|
function atc10x8Size(width, height) {
|
|
157
|
-
|
|
237
|
+
return Math.floor((width + 9) / 10) * Math.floor((height + 7) / 8) * 16;
|
|
158
238
|
}
|
|
159
|
-
|
|
239
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
160
240
|
function atc10x10Size(width, height) {
|
|
161
|
-
|
|
241
|
+
return Math.floor((width + 9) / 10) * Math.floor((height + 9) / 10) * 16;
|
|
162
242
|
}
|
|
163
|
-
|
|
243
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
164
244
|
function atc12x10Size(width, height) {
|
|
165
|
-
|
|
245
|
+
return Math.floor((width + 11) / 12) * Math.floor((height + 9) / 10) * 16;
|
|
166
246
|
}
|
|
167
|
-
|
|
247
|
+
// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/
|
|
168
248
|
function atc12x12Size(width, height) {
|
|
169
|
-
|
|
249
|
+
return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;
|
|
170
250
|
}
|
|
171
|
-
//# sourceMappingURL=parse-pvr.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export type Options = Record<string, any>;
|
|
2
|
+
export type Func = (url: string, options: Options) => unknown;
|
|
3
3
|
export declare function asyncDeepMap(tree: unknown, func: Func, options?: Options): Promise<unknown>;
|
|
4
4
|
export declare function mapSubtree(object: unknown, func: Func, options: Options): Promise<unknown>;
|
|
5
5
|
//# sourceMappingURL=async-deep-map.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-deep-map.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/async-deep-map.ts"],"names":[],"mappings":"AAgBA,
|
|
1
|
+
{"version":3,"file":"async-deep-map.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/async-deep-map.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1C,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;AAO9D,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,OAAY,oBAElF;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,oBAY7E"}
|
|
@@ -1,39 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapSubtree = exports.asyncDeepMap = void 0;
|
|
4
|
+
const isObject = (value) => value && typeof value === 'object';
|
|
5
|
+
// Loads a deep structure of urls (objects and arrays of urls)
|
|
6
|
+
// Returns an object with six key-value pairs containing the images (or image mip arrays)
|
|
7
|
+
// for each cube face
|
|
8
|
+
async function asyncDeepMap(tree, func, options = {}) {
|
|
9
|
+
return await mapSubtree(tree, func, options);
|
|
5
10
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
exports.asyncDeepMap = asyncDeepMap;
|
|
12
|
+
async function mapSubtree(object, func, options) {
|
|
13
|
+
if (Array.isArray(object)) {
|
|
14
|
+
return await mapArray(object, func, options);
|
|
15
|
+
}
|
|
16
|
+
if (isObject(object)) {
|
|
17
|
+
return await mapObject(object, func, options);
|
|
18
|
+
}
|
|
19
|
+
// TODO - ignore non-urls, non-arraybuffers?
|
|
20
|
+
const url = object;
|
|
21
|
+
return await func(url, options);
|
|
17
22
|
}
|
|
18
|
-
|
|
23
|
+
exports.mapSubtree = mapSubtree;
|
|
24
|
+
// HELPERS
|
|
19
25
|
async function mapObject(object, func, options) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
await Promise.all(promises);
|
|
32
|
-
return values;
|
|
26
|
+
const promises = [];
|
|
27
|
+
const values = {};
|
|
28
|
+
for (const key in object) {
|
|
29
|
+
const url = object[key];
|
|
30
|
+
const promise = mapSubtree(url, func, options).then((value) => {
|
|
31
|
+
values[key] = value;
|
|
32
|
+
});
|
|
33
|
+
promises.push(promise);
|
|
34
|
+
}
|
|
35
|
+
await Promise.all(promises);
|
|
36
|
+
return values;
|
|
33
37
|
}
|
|
34
|
-
|
|
35
38
|
async function mapArray(urlArray, func, options = {}) {
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
const promises = urlArray.map((url) => mapSubtree(url, func, options));
|
|
40
|
+
return await Promise.all(promises);
|
|
38
41
|
}
|
|
39
|
-
//# sourceMappingURL=async-deep-map.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export type LoadOptions = Record<string, any>;
|
|
2
|
+
export type Load = (data: ArrayBuffer, options: Record<string, any>) => Promise<any>;
|
|
3
3
|
export declare function deepLoad(urlTree: unknown, load: Load, options: LoadOptions): Promise<unknown>;
|
|
4
4
|
export declare function shallowLoad(url: string, load: Load, options: LoadOptions): Promise<any>;
|
|
5
5
|
//# sourceMappingURL=deep-load.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-load.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/deep-load.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"deep-load.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/deep-load.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAErF,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,oBAEhF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAK7F"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shallowLoad = exports.deepLoad = void 0;
|
|
4
|
+
// loaders.gl, MIT license
|
|
5
|
+
const async_deep_map_1 = require("./async-deep-map");
|
|
6
|
+
async function deepLoad(urlTree, load, options) {
|
|
7
|
+
return await (0, async_deep_map_1.asyncDeepMap)(urlTree, (url) => shallowLoad(url, load, options));
|
|
4
8
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
exports.deepLoad = deepLoad;
|
|
10
|
+
async function shallowLoad(url, load, options) {
|
|
11
|
+
// console.error('loading', url);
|
|
12
|
+
const response = await fetch(url, options.fetch);
|
|
13
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
14
|
+
return await load(arrayBuffer, options);
|
|
9
15
|
}
|
|
10
|
-
|
|
16
|
+
exports.shallowLoad = shallowLoad;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
url =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateUrl = void 0;
|
|
4
|
+
// loaders.gl, MIT license
|
|
5
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
6
|
+
// Generate a url by calling getUrl with mix of options, applying options.baseUrl
|
|
7
|
+
function generateUrl(getUrl, options, urlOptions) {
|
|
8
|
+
// Get url
|
|
9
|
+
let url = typeof getUrl === 'function' ? getUrl({ ...options, ...urlOptions }) : getUrl;
|
|
10
|
+
// Apply options.baseUrl
|
|
11
|
+
const baseUrl = options.baseUrl;
|
|
12
|
+
if (baseUrl) {
|
|
13
|
+
url = baseUrl[baseUrl.length - 1] === '/' ? `${baseUrl}${url}` : `${baseUrl}/${url}`;
|
|
14
|
+
}
|
|
15
|
+
return (0, loader_utils_1.resolvePath)(url);
|
|
13
16
|
}
|
|
14
|
-
|
|
17
|
+
exports.generateUrl = generateUrl;
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getImageArrayUrls = exports.loadImageTextureArray = void 0;
|
|
4
|
+
// loaders.gl, MIT license
|
|
5
|
+
const images_1 = require("@loaders.gl/images");
|
|
6
|
+
const load_image_1 = require("./load-image");
|
|
7
|
+
const deep_load_1 = require("./deep-load");
|
|
8
|
+
async function loadImageTextureArray(count, getUrl, options = {}) {
|
|
9
|
+
const imageUrls = await getImageArrayUrls(count, getUrl, options);
|
|
10
|
+
return await (0, deep_load_1.deepLoad)(imageUrls, images_1.ImageLoader.parse, options);
|
|
7
11
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return await Promise.all(promises);
|
|
12
|
+
exports.loadImageTextureArray = loadImageTextureArray;
|
|
13
|
+
async function getImageArrayUrls(count, getUrl, options = {}) {
|
|
14
|
+
const promises = [];
|
|
15
|
+
for (let index = 0; index < count; index++) {
|
|
16
|
+
const promise = (0, load_image_1.getImageUrls)(getUrl, options, { index });
|
|
17
|
+
promises.push(promise);
|
|
18
|
+
}
|
|
19
|
+
return await Promise.all(promises);
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
+
exports.getImageArrayUrls = getImageArrayUrls;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-image-cube.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image-cube.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAqB5D,
|
|
1
|
+
{"version":3,"file":"load-image-cube.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image-cube.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAqB5D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,8BAA8B,EAAE,GAAG,CAAC;IACpC,8BAA8B,EAAE,GAAG,CAAC;IACpC,8BAA8B,EAAE,GAAG,CAAC;IACpC,8BAA8B,EAAE,GAAG,CAAC;IACpC,8BAA8B,EAAE,GAAG,CAAC;IACpC,8BAA8B,EAAE,GAAG,CAAC;CACrC,CAAC;AAIF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,8CAiBzE;AAID,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,KAAK,GACX,OAAO,CAAC,gBAAgB,CAAC,CAG3B"}
|