@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,63 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadImageTextureCube = exports.getImageCubeUrls = 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
|
+
// Returned map will be have keys corresponding to GL cubemap constants
|
|
4
9
|
const GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
|
|
5
10
|
const GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
|
|
6
11
|
const GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
|
|
7
12
|
const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
|
|
8
13
|
const GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
|
|
9
14
|
const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;
|
|
10
|
-
const CUBE_FACES = [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
sign: 'positive'
|
|
35
|
-
}, {
|
|
36
|
-
face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
|
|
37
|
-
direction: 'back',
|
|
38
|
-
axis: 'z',
|
|
39
|
-
sign: 'negative'
|
|
40
|
-
}];
|
|
41
|
-
export async function getImageCubeUrls(getUrl, options) {
|
|
42
|
-
const urls = {};
|
|
43
|
-
const promises = [];
|
|
44
|
-
let index = 0;
|
|
45
|
-
|
|
46
|
-
for (let i = 0; i < CUBE_FACES.length; ++i) {
|
|
47
|
-
const face = CUBE_FACES[index];
|
|
48
|
-
const promise = getImageUrls(getUrl, options, { ...face,
|
|
49
|
-
index: index++
|
|
50
|
-
}).then(url => {
|
|
51
|
-
urls[face.face] = url;
|
|
52
|
-
});
|
|
53
|
-
promises.push(promise);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
await Promise.all(promises);
|
|
57
|
-
return urls;
|
|
15
|
+
const CUBE_FACES = [
|
|
16
|
+
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: 'right', axis: 'x', sign: 'positive' },
|
|
17
|
+
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: 'left', axis: 'x', sign: 'negative' },
|
|
18
|
+
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: 'top', axis: 'y', sign: 'positive' },
|
|
19
|
+
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: 'bottom', axis: 'y', sign: 'negative' },
|
|
20
|
+
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: 'front', axis: 'z', sign: 'positive' },
|
|
21
|
+
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: 'back', axis: 'z', sign: 'negative' }
|
|
22
|
+
];
|
|
23
|
+
// Returns an object with six key-value pairs containing the urls (or url mip arrays)
|
|
24
|
+
// for each cube face
|
|
25
|
+
async function getImageCubeUrls(getUrl, options) {
|
|
26
|
+
// Calculate URLs
|
|
27
|
+
const urls = {};
|
|
28
|
+
const promises = [];
|
|
29
|
+
let index = 0;
|
|
30
|
+
for (let i = 0; i < CUBE_FACES.length; ++i) {
|
|
31
|
+
const face = CUBE_FACES[index];
|
|
32
|
+
const promise = (0, load_image_1.getImageUrls)(getUrl, options, { ...face, index: index++ }).then((url) => {
|
|
33
|
+
urls[face.face] = url;
|
|
34
|
+
});
|
|
35
|
+
promises.push(promise);
|
|
36
|
+
}
|
|
37
|
+
await Promise.all(promises);
|
|
38
|
+
return urls;
|
|
58
39
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
40
|
+
exports.getImageCubeUrls = getImageCubeUrls;
|
|
41
|
+
// Returns an object with six key-value pairs containing the images (or image mip arrays)
|
|
42
|
+
// for each cube face
|
|
43
|
+
async function loadImageTextureCube(getUrl, options = {}) {
|
|
44
|
+
const urls = await getImageCubeUrls(getUrl, options);
|
|
45
|
+
return (await (0, deep_load_1.deepLoad)(urls, images_1.ImageLoader.parse, options));
|
|
62
46
|
}
|
|
63
|
-
|
|
47
|
+
exports.loadImageTextureCube = loadImageTextureCube;
|
|
@@ -1,48 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMipLevels = exports.getImageUrls = exports.loadImageTexture = void 0;
|
|
4
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
5
|
+
const images_1 = require("@loaders.gl/images");
|
|
6
|
+
const generate_url_1 = require("./generate-url");
|
|
7
|
+
const deep_load_1 = require("./deep-load");
|
|
8
|
+
async function loadImageTexture(getUrl, options = {}) {
|
|
9
|
+
const imageUrls = await getImageUrls(getUrl, options);
|
|
10
|
+
return await (0, deep_load_1.deepLoad)(imageUrls, images_1.ImageLoader.parse, options);
|
|
8
11
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
exports.loadImageTexture = loadImageTexture;
|
|
13
|
+
async function getImageUrls(getUrl, options, urlOptions = {}) {
|
|
14
|
+
const mipLevels = (options && options.image && options.image.mipLevels) || 0;
|
|
15
|
+
return mipLevels !== 0
|
|
16
|
+
? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)
|
|
17
|
+
: (0, generate_url_1.generateUrl)(getUrl, options, urlOptions);
|
|
12
18
|
}
|
|
13
|
-
|
|
19
|
+
exports.getImageUrls = getImageUrls;
|
|
14
20
|
async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
mipLevels
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
assert(mipLevels > 0);
|
|
34
|
-
|
|
35
|
-
for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
|
|
36
|
-
const url = generateUrl(getUrl, options, { ...urlOptions,
|
|
37
|
-
lod: mipLevel
|
|
38
|
-
});
|
|
39
|
-
urls.push(url);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return urls;
|
|
21
|
+
const urls = [];
|
|
22
|
+
// If no mip levels supplied, we need to load the level 0 image and calculate based on size
|
|
23
|
+
if (mipLevels === 'auto') {
|
|
24
|
+
const url = (0, generate_url_1.generateUrl)(getUrl, options, { ...urlOptions, lod: 0 });
|
|
25
|
+
const image = await (0, deep_load_1.shallowLoad)(url, images_1.ImageLoader.parse, options);
|
|
26
|
+
const { width, height } = (0, images_1.getImageSize)(image);
|
|
27
|
+
mipLevels = getMipLevels({ width, height });
|
|
28
|
+
// TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?
|
|
29
|
+
urls.push(url);
|
|
30
|
+
}
|
|
31
|
+
// We now know how many mipLevels we need, remaining image urls can now be constructed
|
|
32
|
+
(0, loader_utils_1.assert)(mipLevels > 0);
|
|
33
|
+
for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
|
|
34
|
+
const url = (0, generate_url_1.generateUrl)(getUrl, options, { ...urlOptions, lod: mipLevel });
|
|
35
|
+
urls.push(url);
|
|
36
|
+
}
|
|
37
|
+
return urls;
|
|
43
38
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
// Calculates number of mipmaps based on texture size (log2)
|
|
40
|
+
function getMipLevels(size) {
|
|
41
|
+
return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));
|
|
47
42
|
}
|
|
48
|
-
|
|
43
|
+
exports.getMipLevels = getMipLevels;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export type { ImageType } from '@loaders.gl/images';
|
|
2
|
-
export
|
|
2
|
+
export type UrlOptions = {
|
|
3
3
|
baseUrl?: string;
|
|
4
4
|
index?: number;
|
|
5
5
|
face?: number;
|
|
6
6
|
lod?: number;
|
|
7
7
|
direction?: string;
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export type GetUrl = (options: UrlOptions) => string;
|
|
10
10
|
//# sourceMappingURL=texture-api-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texture-api-types.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/texture-api-types.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAElD,
|
|
1
|
+
{"version":3,"file":"texture-api-types.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/texture-api-types.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,MAAM,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-mipmap-images.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD,
|
|
1
|
+
{"version":3,"file":"extract-mipmap-images.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,EAC3B,OAAO,EAAE,+BAA+B,GACvC,YAAY,EAAE,CA4BhB"}
|
|
@@ -1,41 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractMipmapImages = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Extract mipmap images from compressed texture buffer
|
|
6
|
+
* @param data - binary data of compressed texture or Array of level objects
|
|
7
|
+
* @param options.mipMapLevels - number of mipmap level inside image
|
|
8
|
+
* @param options.width - width of 0 - level
|
|
9
|
+
* @param options.height - height of 0 - level
|
|
10
|
+
* @param options.sizeFunction - format-related function to calculate level size in bytes
|
|
11
|
+
* @param options.internalFormat - WebGL compatible format code
|
|
12
|
+
* @returns Array of the texture levels
|
|
13
|
+
*/
|
|
14
|
+
function extractMipmapImages(data, options) {
|
|
15
|
+
const images = new Array(options.mipMapLevels);
|
|
16
|
+
let levelWidth = options.width;
|
|
17
|
+
let levelHeight = options.height;
|
|
18
|
+
let offset = 0;
|
|
19
|
+
for (let i = 0; i < options.mipMapLevels; ++i) {
|
|
20
|
+
// @ts-expect-error
|
|
21
|
+
const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
|
|
22
|
+
// @ts-expect-error
|
|
23
|
+
const levelData = getLevelData(data, i, offset, levelSize);
|
|
24
|
+
images[i] = {
|
|
25
|
+
compressed: true,
|
|
26
|
+
format: options.internalFormat,
|
|
27
|
+
data: levelData,
|
|
28
|
+
width: levelWidth,
|
|
29
|
+
height: levelHeight,
|
|
30
|
+
levelSize
|
|
31
|
+
};
|
|
32
|
+
levelWidth = Math.max(1, levelWidth >> 1);
|
|
33
|
+
levelHeight = Math.max(1, levelHeight >> 1);
|
|
34
|
+
offset += levelSize;
|
|
35
|
+
}
|
|
36
|
+
return images;
|
|
24
37
|
}
|
|
25
|
-
|
|
38
|
+
exports.extractMipmapImages = extractMipmapImages;
|
|
26
39
|
function getLevelData(data, index, offset, levelSize) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return data[index].levelData;
|
|
40
|
+
if (!Array.isArray(data)) {
|
|
41
|
+
return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);
|
|
42
|
+
}
|
|
43
|
+
return data[index].levelData;
|
|
32
44
|
}
|
|
33
|
-
|
|
34
45
|
function getLevelSize(options, levelWidth, levelHeight, data, index) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return options.sizeFunction(data[index]);
|
|
46
|
+
if (!Array.isArray(data)) {
|
|
47
|
+
return options.sizeFunction(levelWidth, levelHeight);
|
|
48
|
+
}
|
|
49
|
+
return options.sizeFunction(data[index]);
|
|
40
50
|
}
|
|
41
|
-
//# sourceMappingURL=extract-mipmap-images.js.map
|
|
@@ -1,73 +1,125 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapVkFormatToWebGL = void 0;
|
|
4
|
+
const gl_extensions_1 = require("../gl-extensions");
|
|
2
5
|
const VULKAN_TO_WEBGL_FORMAT_MAP = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
6
|
+
131: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
7
|
+
132: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
|
|
8
|
+
133: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
|
|
9
|
+
134: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
|
|
10
|
+
135: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
11
|
+
136: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
|
|
12
|
+
137: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
13
|
+
138: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
|
|
14
|
+
139: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
|
|
15
|
+
140: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
|
|
16
|
+
141: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
|
|
17
|
+
142: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
|
|
18
|
+
147: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
|
|
19
|
+
148: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
|
|
20
|
+
149: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
21
|
+
150: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
|
|
22
|
+
151: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
|
|
23
|
+
152: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
|
|
24
|
+
153: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
|
|
25
|
+
154: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
|
|
26
|
+
155: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
|
|
27
|
+
156: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
157: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
158: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
159: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
34
|
+
// @ts-ignore
|
|
35
|
+
160: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
161: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
162: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
163: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
42
|
+
// @ts-ignore
|
|
43
|
+
164: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
165: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
166: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
167: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
168: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
|
|
52
|
+
// @ts-ignore
|
|
53
|
+
169: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
54
|
+
// @ts-ignore
|
|
55
|
+
170: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
|
|
56
|
+
// @ts-ignore
|
|
57
|
+
171: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
172: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
|
|
60
|
+
// @ts-ignore
|
|
61
|
+
173: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
174: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
|
|
64
|
+
// @ts-ignore
|
|
65
|
+
175: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
176: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
|
|
68
|
+
// @ts-ignore
|
|
69
|
+
177: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
70
|
+
// @ts-ignore
|
|
71
|
+
178: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
|
|
72
|
+
// @ts-ignore
|
|
73
|
+
179: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
180: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
|
|
76
|
+
// @ts-ignore
|
|
77
|
+
181: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
182: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
|
|
80
|
+
// @ts-ignore
|
|
81
|
+
183: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
|
|
82
|
+
// @ts-ignore
|
|
83
|
+
184: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
|
|
84
|
+
1000054000: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
|
|
85
|
+
1000054001: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
1000066000: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
88
|
+
// @ts-ignore
|
|
89
|
+
1000066001: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
90
|
+
// @ts-ignore
|
|
91
|
+
1000066002: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
92
|
+
// @ts-ignore
|
|
93
|
+
1000066003: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
1000066004: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
96
|
+
// @ts-ignore
|
|
97
|
+
1000066005: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
1000066006: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
100
|
+
// @ts-ignore
|
|
101
|
+
1000066007: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
102
|
+
// @ts-ignore
|
|
103
|
+
1000066008: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
104
|
+
// @ts-ignore
|
|
105
|
+
1000066009: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
106
|
+
// @ts-ignore
|
|
107
|
+
1000066010: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
108
|
+
// @ts-ignore
|
|
109
|
+
1000066011: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
110
|
+
// @ts-ignore
|
|
111
|
+
1000066012: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
112
|
+
// @ts-ignore
|
|
113
|
+
1000066013: gl_extensions_1.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
|
|
69
114
|
};
|
|
70
|
-
|
|
71
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Returns WebGl format based on Vulkan format
|
|
117
|
+
* Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping
|
|
118
|
+
* Vulkan name to format number mapping provided here: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html
|
|
119
|
+
* @param vkFormat
|
|
120
|
+
* @returns WebGL / OpenGL constant
|
|
121
|
+
*/
|
|
122
|
+
function mapVkFormatToWebGL(vkFormat) {
|
|
123
|
+
return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];
|
|
72
124
|
}
|
|
73
|
-
|
|
125
|
+
exports.mapVkFormatToWebGL = mapVkFormatToWebGL;
|
|
@@ -1,39 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSupportedGPUTextureFormats = void 0;
|
|
1
4
|
const BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];
|
|
2
5
|
const WEBGL_EXTENSIONS = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
/* eslint-disable camelcase */
|
|
7
|
+
WEBGL_compressed_texture_s3tc: 'dxt',
|
|
8
|
+
WEBGL_compressed_texture_s3tc_srgb: 'dxt-srgb',
|
|
9
|
+
WEBGL_compressed_texture_etc1: 'etc1',
|
|
10
|
+
WEBGL_compressed_texture_etc: 'etc2',
|
|
11
|
+
WEBGL_compressed_texture_pvrtc: 'pvrtc',
|
|
12
|
+
WEBGL_compressed_texture_atc: 'atc',
|
|
13
|
+
WEBGL_compressed_texture_astc: 'astc',
|
|
14
|
+
EXT_texture_compression_rgtc: 'rgtc'
|
|
15
|
+
/* eslint-enable camelcase */
|
|
11
16
|
};
|
|
12
17
|
let formats = null;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Returns a list of formats.
|
|
20
|
+
* Creates a temporary WebGLRenderingContext if none is provided.
|
|
21
|
+
*
|
|
22
|
+
* @param gl - Optional context.
|
|
23
|
+
*/
|
|
24
|
+
function getSupportedGPUTextureFormats(gl) {
|
|
25
|
+
if (!formats) {
|
|
26
|
+
gl = gl || getWebGLContext() || undefined;
|
|
27
|
+
formats = new Set();
|
|
28
|
+
for (const prefix of BROWSER_PREFIXES) {
|
|
29
|
+
for (const extension in WEBGL_EXTENSIONS) {
|
|
30
|
+
if (gl && gl.getExtension(`${prefix}${extension}`)) {
|
|
31
|
+
const gpuTextureFormat = WEBGL_EXTENSIONS[extension];
|
|
32
|
+
formats.add(gpuTextureFormat);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
23
35
|
}
|
|
24
|
-
}
|
|
25
36
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return formats;
|
|
37
|
+
return formats;
|
|
29
38
|
}
|
|
30
|
-
|
|
39
|
+
exports.getSupportedGPUTextureFormats = getSupportedGPUTextureFormats;
|
|
40
|
+
/**
|
|
41
|
+
* @returns {WebGLRenderingContext?}
|
|
42
|
+
*/
|
|
31
43
|
function getWebGLContext() {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
try {
|
|
45
|
+
const canvas = document.createElement('canvas');
|
|
46
|
+
return canvas.getContext('webgl');
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
38
51
|
}
|
|
39
|
-
//# sourceMappingURL=texture-formats.js.map
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VERSION = void 0;
|
|
4
|
+
// Version constant cannot be imported, it needs to correspond to the build version of **this** module.
|
|
5
|
+
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
|
+
// TODO: use 'latest' instead of 'beta' when 3.0.0 version is released as 'latest'
|
|
7
|
+
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
8
|
+
exports.VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';
|