@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
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
9
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
10
|
+
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
11
|
+
};
|
|
12
|
+
var __reExport = (target, module, desc) => {
|
|
13
|
+
if (module && typeof module === "object" || typeof module === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module) => {
|
|
21
|
+
return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// (disabled):../worker-utils/src/lib/node/require-utils.node
|
|
25
|
+
var require_require_utils = __commonJS({
|
|
26
|
+
"(disabled):../worker-utils/src/lib/node/require-utils.node"() {
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// ../worker-utils/src/lib/env-utils/version.ts
|
|
31
|
+
var VERSION = true ? "4.0.0-alpha.7" : DEFAULT_VERSION;
|
|
32
|
+
if (false) {
|
|
33
|
+
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// ../worker-utils/src/lib/env-utils/assert.ts
|
|
37
|
+
function assert(condition, message) {
|
|
38
|
+
if (!condition) {
|
|
39
|
+
throw new Error(message || "loaders.gl assertion failed.");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// ../worker-utils/src/lib/env-utils/globals.ts
|
|
44
|
+
var globals = {
|
|
45
|
+
self: typeof self !== "undefined" && self,
|
|
46
|
+
window: typeof window !== "undefined" && window,
|
|
47
|
+
global: typeof global !== "undefined" && global,
|
|
48
|
+
document: typeof document !== "undefined" && document
|
|
49
|
+
};
|
|
50
|
+
var self_ = globals.self || globals.window || globals.global || {};
|
|
51
|
+
var window_ = globals.window || globals.self || globals.global || {};
|
|
52
|
+
var global_ = globals.global || globals.self || globals.window || {};
|
|
53
|
+
var document_ = globals.document || {};
|
|
54
|
+
var isBrowser = typeof process !== "object" || String(process) !== "[object process]" || process.browser;
|
|
55
|
+
var isWorker = typeof importScripts === "function";
|
|
56
|
+
var isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
|
|
57
|
+
var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
|
|
58
|
+
var nodeVersion = matches && parseFloat(matches[1]) || 0;
|
|
59
|
+
|
|
60
|
+
// ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
|
|
61
|
+
function getTransferList(object, recursive = true, transfers) {
|
|
62
|
+
const transfersSet = transfers || new Set();
|
|
63
|
+
if (!object) {
|
|
64
|
+
} else if (isTransferable(object)) {
|
|
65
|
+
transfersSet.add(object);
|
|
66
|
+
} else if (isTransferable(object.buffer)) {
|
|
67
|
+
transfersSet.add(object.buffer);
|
|
68
|
+
} else if (ArrayBuffer.isView(object)) {
|
|
69
|
+
} else if (recursive && typeof object === "object") {
|
|
70
|
+
for (const key in object) {
|
|
71
|
+
getTransferList(object[key], recursive, transfersSet);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return transfers === void 0 ? Array.from(transfersSet) : [];
|
|
75
|
+
}
|
|
76
|
+
function isTransferable(object) {
|
|
77
|
+
if (!object) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
if (object instanceof ArrayBuffer) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
if (typeof MessagePort !== "undefined" && object instanceof MessagePort) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
if (typeof ImageBitmap !== "undefined" && object instanceof ImageBitmap) {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
if (typeof OffscreenCanvas !== "undefined" && object instanceof OffscreenCanvas) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// ../worker-utils/src/lib/worker-farm/worker-body.ts
|
|
96
|
+
function getParentPort() {
|
|
97
|
+
let parentPort;
|
|
98
|
+
try {
|
|
99
|
+
eval("globalThis.parentPort = require('worker_threads').parentPort");
|
|
100
|
+
parentPort = globalThis.parentPort;
|
|
101
|
+
} catch {
|
|
102
|
+
}
|
|
103
|
+
return parentPort;
|
|
104
|
+
}
|
|
105
|
+
var onMessageWrapperMap = new Map();
|
|
106
|
+
var WorkerBody = class {
|
|
107
|
+
static inWorkerThread() {
|
|
108
|
+
return typeof self !== "undefined" || Boolean(getParentPort());
|
|
109
|
+
}
|
|
110
|
+
static set onmessage(onMessage) {
|
|
111
|
+
function handleMessage(message) {
|
|
112
|
+
const parentPort3 = getParentPort();
|
|
113
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
114
|
+
onMessage(type, payload);
|
|
115
|
+
}
|
|
116
|
+
const parentPort2 = getParentPort();
|
|
117
|
+
if (parentPort2) {
|
|
118
|
+
parentPort2.on("message", handleMessage);
|
|
119
|
+
parentPort2.on("exit", () => console.debug("Node worker closing"));
|
|
120
|
+
} else {
|
|
121
|
+
globalThis.onmessage = handleMessage;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
static addEventListener(onMessage) {
|
|
125
|
+
let onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
126
|
+
if (!onMessageWrapper) {
|
|
127
|
+
onMessageWrapper = (message) => {
|
|
128
|
+
if (!isKnownMessage(message)) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const parentPort3 = getParentPort();
|
|
132
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
133
|
+
onMessage(type, payload);
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
const parentPort2 = getParentPort();
|
|
137
|
+
if (parentPort2) {
|
|
138
|
+
console.error("not implemented");
|
|
139
|
+
} else {
|
|
140
|
+
globalThis.addEventListener("message", onMessageWrapper);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
static removeEventListener(onMessage) {
|
|
144
|
+
const onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
145
|
+
onMessageWrapperMap.delete(onMessage);
|
|
146
|
+
const parentPort2 = getParentPort();
|
|
147
|
+
if (parentPort2) {
|
|
148
|
+
console.error("not implemented");
|
|
149
|
+
} else {
|
|
150
|
+
globalThis.removeEventListener("message", onMessageWrapper);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
static postMessage(type, payload) {
|
|
154
|
+
const data = { source: "loaders.gl", type, payload };
|
|
155
|
+
const transferList = getTransferList(payload);
|
|
156
|
+
const parentPort2 = getParentPort();
|
|
157
|
+
if (parentPort2) {
|
|
158
|
+
parentPort2.postMessage(data, transferList);
|
|
159
|
+
} else {
|
|
160
|
+
globalThis.postMessage(data, transferList);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
function isKnownMessage(message) {
|
|
165
|
+
const { type, data } = message;
|
|
166
|
+
return type === "message" && data && typeof data.source === "string" && data.source.startsWith("loaders.gl");
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
170
|
+
var node = __toModule(require_require_utils());
|
|
171
|
+
var LATEST = "beta";
|
|
172
|
+
var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
173
|
+
var loadLibraryPromises = {};
|
|
174
|
+
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
175
|
+
if (moduleName) {
|
|
176
|
+
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
|
|
177
|
+
}
|
|
178
|
+
loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
179
|
+
return await loadLibraryPromises[libraryUrl];
|
|
180
|
+
}
|
|
181
|
+
function getLibraryUrl(library, moduleName, options) {
|
|
182
|
+
if (library.startsWith("http")) {
|
|
183
|
+
return library;
|
|
184
|
+
}
|
|
185
|
+
const modules = options.modules || {};
|
|
186
|
+
if (modules[library]) {
|
|
187
|
+
return modules[library];
|
|
188
|
+
}
|
|
189
|
+
if (!isBrowser) {
|
|
190
|
+
return `modules/${moduleName}/dist/libs/${library}`;
|
|
191
|
+
}
|
|
192
|
+
if (options.CDN) {
|
|
193
|
+
assert(options.CDN.startsWith("http"));
|
|
194
|
+
return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${library}`;
|
|
195
|
+
}
|
|
196
|
+
if (isWorker) {
|
|
197
|
+
return `../src/libs/${library}`;
|
|
198
|
+
}
|
|
199
|
+
return `modules/${moduleName}/src/libs/${library}`;
|
|
200
|
+
}
|
|
201
|
+
async function loadLibraryFromFile(libraryUrl) {
|
|
202
|
+
if (libraryUrl.endsWith("wasm")) {
|
|
203
|
+
const response2 = await fetch(libraryUrl);
|
|
204
|
+
return await response2.arrayBuffer();
|
|
205
|
+
}
|
|
206
|
+
if (!isBrowser) {
|
|
207
|
+
try {
|
|
208
|
+
return node && node.requireFromFile && await node.requireFromFile(libraryUrl);
|
|
209
|
+
} catch {
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (isWorker) {
|
|
214
|
+
return importScripts(libraryUrl);
|
|
215
|
+
}
|
|
216
|
+
const response = await fetch(libraryUrl);
|
|
217
|
+
const scriptSource = await response.text();
|
|
218
|
+
return loadLibraryFromString(scriptSource, libraryUrl);
|
|
219
|
+
}
|
|
220
|
+
function loadLibraryFromString(scriptSource, id) {
|
|
221
|
+
if (!isBrowser) {
|
|
222
|
+
return node.requireFromString && node.requireFromString(scriptSource, id);
|
|
223
|
+
}
|
|
224
|
+
if (isWorker) {
|
|
225
|
+
eval.call(global_, scriptSource);
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
const script = document.createElement("script");
|
|
229
|
+
script.id = id;
|
|
230
|
+
try {
|
|
231
|
+
script.appendChild(document.createTextNode(scriptSource));
|
|
232
|
+
} catch (e) {
|
|
233
|
+
script.text = scriptSource;
|
|
234
|
+
}
|
|
235
|
+
document.body.appendChild(script);
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// src/lib/utils/version.ts
|
|
240
|
+
var VERSION3 = true ? "4.0.0-alpha.7" : "beta";
|
|
241
|
+
|
|
242
|
+
// src/lib/parsers/basis-module-loader.ts
|
|
243
|
+
var VERSION4 = true ? "4.0.0-alpha.7" : "beta";
|
|
244
|
+
var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
|
|
245
|
+
var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
|
|
246
|
+
var loadBasisEncoderPromise;
|
|
247
|
+
async function loadBasisEncoderModule(options) {
|
|
248
|
+
const modules = options.modules || {};
|
|
249
|
+
if (modules.basisEncoder) {
|
|
250
|
+
return modules.basisEncoder;
|
|
251
|
+
}
|
|
252
|
+
loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
|
|
253
|
+
return await loadBasisEncoderPromise;
|
|
254
|
+
}
|
|
255
|
+
async function loadBasisEncoder(options) {
|
|
256
|
+
let BASIS_ENCODER = null;
|
|
257
|
+
let wasmBinary = null;
|
|
258
|
+
[BASIS_ENCODER, wasmBinary] = await Promise.all([
|
|
259
|
+
await loadLibrary(BASIS_CDN_ENCODER_JS, "textures", options),
|
|
260
|
+
await loadLibrary(BASIS_CDN_ENCODER_WASM, "textures", options)
|
|
261
|
+
]);
|
|
262
|
+
BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
|
|
263
|
+
return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
|
|
264
|
+
}
|
|
265
|
+
function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
|
|
266
|
+
const options = {};
|
|
267
|
+
if (wasmBinary) {
|
|
268
|
+
options.wasmBinary = wasmBinary;
|
|
269
|
+
}
|
|
270
|
+
return new Promise((resolve) => {
|
|
271
|
+
BasisEncoderModule(options).then((module) => {
|
|
272
|
+
const { BasisFile, KTX2File, initializeBasis, BasisEncoder } = module;
|
|
273
|
+
initializeBasis();
|
|
274
|
+
resolve({ BasisFile, KTX2File, BasisEncoder });
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// src/lib/encoders/encode-ktx2-basis-texture.ts
|
|
280
|
+
async function encodeKTX2BasisTexture(image, options = {}) {
|
|
281
|
+
const { useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false } = options;
|
|
282
|
+
const { BasisEncoder } = await loadBasisEncoderModule(options);
|
|
283
|
+
const basisEncoder = new BasisEncoder();
|
|
284
|
+
try {
|
|
285
|
+
const basisFileData = new Uint8Array(image.width * image.height * 4);
|
|
286
|
+
basisEncoder.setCreateKTX2File(true);
|
|
287
|
+
basisEncoder.setKTX2UASTCSupercompression(true);
|
|
288
|
+
basisEncoder.setKTX2SRGBTransferFunc(true);
|
|
289
|
+
basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);
|
|
290
|
+
basisEncoder.setPerceptual(useSRGB);
|
|
291
|
+
basisEncoder.setMipSRGB(useSRGB);
|
|
292
|
+
basisEncoder.setQualityLevel(qualityLevel);
|
|
293
|
+
basisEncoder.setUASTC(encodeUASTC);
|
|
294
|
+
basisEncoder.setMipGen(mipmaps);
|
|
295
|
+
const numOutputBytes = basisEncoder.encode(basisFileData);
|
|
296
|
+
const actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;
|
|
297
|
+
return actualKTX2FileData;
|
|
298
|
+
} catch (error) {
|
|
299
|
+
console.error("Basis Universal Supercompressed GPU Texture encoder Error: ", error);
|
|
300
|
+
throw error;
|
|
301
|
+
} finally {
|
|
302
|
+
basisEncoder.delete();
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
// src/ktx2-basis-writer.ts
|
|
307
|
+
var KTX2BasisWriter = {
|
|
308
|
+
name: "Basis Universal Supercompressed GPU Texture",
|
|
309
|
+
id: "ktx2-basis-writer",
|
|
310
|
+
module: "textures",
|
|
311
|
+
version: VERSION3,
|
|
312
|
+
extensions: ["ktx2"],
|
|
313
|
+
options: {
|
|
314
|
+
useSRGB: false,
|
|
315
|
+
qualityLevel: 10,
|
|
316
|
+
encodeUASTC: false,
|
|
317
|
+
mipmaps: false
|
|
318
|
+
},
|
|
319
|
+
encode: encodeKTX2BasisTexture
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
// src/workers/ktx2-basis-writer-worker.ts
|
|
323
|
+
(() => {
|
|
324
|
+
if (!WorkerBody.inWorkerThread()) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
WorkerBody.onmessage = async (type, payload) => {
|
|
328
|
+
switch (type) {
|
|
329
|
+
case "process":
|
|
330
|
+
try {
|
|
331
|
+
const { input, options } = payload;
|
|
332
|
+
const result = await KTX2BasisWriter.encode?.(input, options);
|
|
333
|
+
WorkerBody.postMessage("done", { result });
|
|
334
|
+
} catch (error) {
|
|
335
|
+
const message = error instanceof Error ? error.message : "";
|
|
336
|
+
WorkerBody.postMessage("error", { error: message });
|
|
337
|
+
}
|
|
338
|
+
break;
|
|
339
|
+
default:
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
})();
|
|
343
|
+
})();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Writer } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { ImageDataType } from '@loaders.gl/images';
|
|
3
|
+
/** @todo should be in basis sub-object */
|
|
4
|
+
export type KTX2BasisWriterOptions = {
|
|
5
|
+
useSRGB?: boolean;
|
|
6
|
+
qualityLevel?: number;
|
|
7
|
+
encodeUASTC?: boolean;
|
|
8
|
+
mipmaps?: boolean;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Basis Universal Supercompressed GPU Texture.
|
|
12
|
+
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinitionFormat.cmn.md
|
|
13
|
+
*/
|
|
14
|
+
export declare const KTX2BasisWriter: Writer<ImageDataType, unknown, KTX2BasisWriterOptions>;
|
|
15
|
+
export declare const _TypecheckKTX2TextureWriter: Writer;
|
|
16
|
+
//# sourceMappingURL=ktx2-basis-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ktx2-basis-writer.d.ts","sourceRoot":"","sources":["../src/ktx2-basis-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGtD,0CAA0C;AAC1C,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,sBAAsB,CAelF,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,MAAwB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// loaders.gl, MIT license
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports._TypecheckKTX2TextureWriter = exports.KTX2BasisWriter = void 0;
|
|
5
|
+
const version_1 = require("./lib/utils/version");
|
|
6
|
+
const encode_ktx2_basis_texture_1 = require("./lib/encoders/encode-ktx2-basis-texture");
|
|
7
|
+
/**
|
|
8
|
+
* Basis Universal Supercompressed GPU Texture.
|
|
9
|
+
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinitionFormat.cmn.md
|
|
10
|
+
*/
|
|
11
|
+
exports.KTX2BasisWriter = {
|
|
12
|
+
name: 'Basis Universal Supercompressed GPU Texture',
|
|
13
|
+
id: 'ktx2-basis-writer',
|
|
14
|
+
module: 'textures',
|
|
15
|
+
version: version_1.VERSION,
|
|
16
|
+
extensions: ['ktx2'],
|
|
17
|
+
options: {
|
|
18
|
+
useSRGB: false,
|
|
19
|
+
qualityLevel: 10,
|
|
20
|
+
encodeUASTC: false,
|
|
21
|
+
mipmaps: false
|
|
22
|
+
},
|
|
23
|
+
encode: encode_ktx2_basis_texture_1.encodeKTX2BasisTexture
|
|
24
|
+
};
|
|
25
|
+
// TYPE TESTS - TODO find a better way than exporting junk
|
|
26
|
+
exports._TypecheckKTX2TextureWriter = exports.KTX2BasisWriter;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encodeKTX = void 0;
|
|
4
|
+
const ktx_parse_1 = require("ktx-parse");
|
|
5
|
+
function encodeKTX(texture) {
|
|
6
|
+
const ktx = (0, ktx_parse_1.read)(texture);
|
|
7
|
+
// post process
|
|
8
|
+
return ktx;
|
|
5
9
|
}
|
|
6
|
-
|
|
10
|
+
exports.encodeKTX = encodeKTX;
|
|
@@ -1,35 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
basisEncoder
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encodeKTX2BasisTexture = void 0;
|
|
4
|
+
const basis_module_loader_1 = require("../parsers/basis-module-loader");
|
|
5
|
+
/**
|
|
6
|
+
* Encodes image to Basis Universal Supercompressed GPU Texture.
|
|
7
|
+
* Code example is taken from here - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/ktx2_encode_test/index.html#L279
|
|
8
|
+
* BasisEncoder API - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/transcoder/basis_wrappers.cpp#L1712
|
|
9
|
+
* @param image
|
|
10
|
+
* @param options
|
|
11
|
+
*/
|
|
12
|
+
async function encodeKTX2BasisTexture(image, options = {}) {
|
|
13
|
+
// TODO remove default values after writer options will be normalized like it done in load module.
|
|
14
|
+
const { useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false } = options;
|
|
15
|
+
const { BasisEncoder } = await (0, basis_module_loader_1.loadBasisEncoderModule)(options);
|
|
16
|
+
const basisEncoder = new BasisEncoder();
|
|
17
|
+
try {
|
|
18
|
+
const basisFileData = new Uint8Array(image.width * image.height * 4);
|
|
19
|
+
basisEncoder.setCreateKTX2File(true);
|
|
20
|
+
basisEncoder.setKTX2UASTCSupercompression(true);
|
|
21
|
+
basisEncoder.setKTX2SRGBTransferFunc(true);
|
|
22
|
+
basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);
|
|
23
|
+
basisEncoder.setPerceptual(useSRGB);
|
|
24
|
+
basisEncoder.setMipSRGB(useSRGB);
|
|
25
|
+
basisEncoder.setQualityLevel(qualityLevel);
|
|
26
|
+
basisEncoder.setUASTC(encodeUASTC);
|
|
27
|
+
basisEncoder.setMipGen(mipmaps);
|
|
28
|
+
const numOutputBytes = basisEncoder.encode(basisFileData);
|
|
29
|
+
const actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;
|
|
30
|
+
return actualKTX2FileData;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
// eslint-disable-next-line no-console
|
|
34
|
+
console.error('Basis Universal Supercompressed GPU Texture encoder Error: ', error);
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
basisEncoder.delete();
|
|
39
|
+
}
|
|
34
40
|
}
|
|
35
|
-
|
|
41
|
+
exports.encodeKTX2BasisTexture = encodeKTX2BasisTexture;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}): Promise<string>;
|
|
1
|
+
import { CompressedTextureWriterOptions } from '../../compressed-texture-writer';
|
|
2
|
+
export declare function encodeImageURLToCompressedTextureURL(inputUrl: string, outputUrl: string, options?: CompressedTextureWriterOptions): Promise<string>;
|
|
4
3
|
//# sourceMappingURL=encode-texture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-texture.d.ts","sourceRoot":"","sources":["../../../src/lib/encoders/encode-texture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encode-texture.d.ts","sourceRoot":"","sources":["../../../src/lib/encoders/encode-texture.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,8BAA8B,EAAC,MAAM,iCAAiC,CAAC;AAK/E,wBAAsB,oCAAoC,CACxD,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encodeImageURLToCompressedTextureURL = void 0;
|
|
4
|
+
const worker_utils_1 = require("@loaders.gl/worker-utils");
|
|
5
|
+
/*
|
|
6
|
+
* @see https://github.com/TimvanScherpenzeel/texture-compressor
|
|
7
|
+
*/
|
|
8
|
+
async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
|
|
9
|
+
// prettier-ignore
|
|
10
|
+
const args = [
|
|
11
|
+
// Note: our actual executable is `npx`, so `texture-compressor` is an argument
|
|
12
|
+
'texture-compressor',
|
|
13
|
+
'--type', 's3tc',
|
|
14
|
+
'--compression', 'DXT1',
|
|
15
|
+
'--quality', 'normal',
|
|
16
|
+
'--input', inputUrl,
|
|
17
|
+
'--output', outputUrl
|
|
18
|
+
];
|
|
19
|
+
const childProcess = new worker_utils_1.ChildProcessProxy();
|
|
20
|
+
await childProcess.start({
|
|
21
|
+
command: 'npx',
|
|
22
|
+
arguments: args,
|
|
23
|
+
spawn: options
|
|
24
|
+
});
|
|
25
|
+
return outputUrl;
|
|
11
26
|
}
|
|
12
|
-
|
|
27
|
+
exports.encodeImageURLToCompressedTextureURL = encodeImageURLToCompressedTextureURL;
|