@loaders.gl/textures 4.4.0-alpha.2 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +197 -1
- package/dist/basis-loader.d.ts +15 -10
- package/dist/basis-loader.d.ts.map +1 -1
- package/dist/basis-loader.js +1 -1
- package/dist/basis-loader.js.map +1 -0
- package/dist/basis-worker-node.js +932 -10040
- package/dist/basis-worker.d.ts +2 -0
- package/dist/basis-worker.d.ts.map +1 -0
- package/dist/basis-worker.js +337 -151
- package/dist/basis-worker.js.map +1 -0
- package/dist/compressed-texture-loader.d.ts +2 -5
- package/dist/compressed-texture-loader.d.ts.map +1 -1
- package/dist/compressed-texture-loader.js +2 -3
- package/dist/compressed-texture-loader.js.map +1 -0
- package/dist/compressed-texture-worker.d.ts +2 -0
- package/dist/compressed-texture-worker.d.ts.map +1 -0
- package/dist/compressed-texture-worker.js +1148 -365
- package/dist/compressed-texture-worker.js.map +1 -0
- package/dist/compressed-texture-writer.js +1 -0
- package/dist/compressed-texture-writer.js.map +1 -0
- package/dist/crunch-loader.d.ts +1 -5
- package/dist/crunch-loader.d.ts.map +1 -1
- package/dist/crunch-loader.js +2 -3
- package/dist/crunch-loader.js.map +1 -0
- package/dist/crunch-worker.d.ts +2 -0
- package/dist/crunch-worker.d.ts.map +1 -0
- package/dist/crunch-worker.js +204 -92
- package/dist/crunch-worker.js.map +1 -0
- package/dist/dist.dev.js +2687 -677
- package/dist/dist.min.js +1 -2
- package/dist/index.cjs +1644 -428
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +13 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -0
- package/dist/ktx2-basis-writer-worker-node.js +574 -9832
- package/dist/ktx2-basis-writer-worker.d.ts +2 -0
- package/dist/ktx2-basis-writer-worker.d.ts.map +1 -0
- package/dist/ktx2-basis-writer-worker.js +45 -7
- package/dist/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/ktx2-basis-writer.js +1 -0
- package/dist/ktx2-basis-writer.js.map +1 -0
- package/dist/lib/composite-image/image-texture-cube.d.ts +47 -0
- package/dist/lib/composite-image/image-texture-cube.d.ts.map +1 -0
- package/dist/lib/composite-image/image-texture-cube.js +42 -0
- package/dist/lib/composite-image/image-texture-cube.js.map +1 -0
- package/dist/lib/composite-image/parse-composite-image.d.ts +43 -0
- package/dist/lib/composite-image/parse-composite-image.d.ts.map +1 -0
- package/dist/lib/composite-image/parse-composite-image.js +437 -0
- package/dist/lib/composite-image/parse-composite-image.js.map +1 -0
- package/dist/lib/encoders/encode-ktx.d.ts +1 -1
- package/dist/lib/encoders/encode-ktx.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx.js +1 -0
- package/dist/lib/encoders/encode-ktx.js.map +1 -0
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +2 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +3 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
- package/dist/lib/encoders/encode-texture.js +1 -0
- package/dist/lib/encoders/encode-texture.js.map +1 -0
- package/dist/lib/gl-extensions.d.ts +166 -58
- package/dist/lib/gl-extensions.d.ts.map +1 -1
- package/dist/lib/gl-extensions.js +178 -66
- package/dist/lib/gl-extensions.js.map +1 -0
- package/dist/lib/gl-types.d.ts +4 -0
- package/dist/lib/gl-types.d.ts.map +1 -0
- package/dist/lib/gl-types.js +5 -0
- package/dist/lib/gl-types.js.map +1 -0
- package/dist/lib/parsers/basis-module-loader.d.ts +3 -2
- package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
- package/dist/lib/parsers/basis-module-loader.js +1 -0
- package/dist/lib/parsers/basis-module-loader.js.map +1 -0
- package/dist/lib/parsers/crunch-module-loader.d.ts +2 -2
- package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
- package/dist/lib/parsers/crunch-module-loader.js +1 -0
- package/dist/lib/parsers/crunch-module-loader.js.map +1 -0
- package/dist/lib/parsers/parse-basis.d.ts +34 -2
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +265 -64
- package/dist/lib/parsers/parse-basis.js.map +1 -0
- package/dist/lib/parsers/parse-compressed-texture.js +1 -0
- package/dist/lib/parsers/parse-compressed-texture.js.map +1 -0
- package/dist/lib/parsers/parse-crunch.d.ts.map +1 -1
- package/dist/lib/parsers/parse-crunch.js +7 -6
- package/dist/lib/parsers/parse-crunch.js.map +1 -0
- package/dist/lib/parsers/parse-dds.d.ts.map +1 -1
- package/dist/lib/parsers/parse-dds.js +11 -11
- package/dist/lib/parsers/parse-dds.js.map +1 -0
- package/dist/lib/parsers/parse-hdr.d.ts +21 -0
- package/dist/lib/parsers/parse-hdr.d.ts.map +1 -0
- package/dist/lib/parsers/parse-hdr.js +305 -0
- package/dist/lib/parsers/parse-hdr.js.map +1 -0
- package/dist/lib/parsers/parse-ktx.d.ts.map +1 -1
- package/dist/lib/parsers/parse-ktx.js +11 -3
- package/dist/lib/parsers/parse-ktx.js.map +1 -0
- package/dist/lib/parsers/parse-npy.js +1 -0
- package/dist/lib/parsers/parse-npy.js.map +1 -0
- package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
- package/dist/lib/parsers/parse-pvr.js +32 -74
- package/dist/lib/parsers/parse-pvr.js.map +1 -0
- package/dist/lib/texture-api/async-deep-map.js +1 -0
- package/dist/lib/texture-api/async-deep-map.js.map +1 -0
- package/dist/lib/texture-api/deep-load.js +1 -0
- package/dist/lib/texture-api/deep-load.js.map +1 -0
- package/dist/lib/texture-api/generate-url.d.ts.map +1 -1
- package/dist/lib/texture-api/generate-url.js +3 -10
- package/dist/lib/texture-api/generate-url.js.map +1 -0
- package/dist/lib/texture-api/load-image-array.d.ts +6 -3
- package/dist/lib/texture-api/load-image-array.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-array.js +6 -3
- package/dist/lib/texture-api/load-image-array.js.map +1 -0
- package/dist/lib/texture-api/load-image-cube.d.ts +7 -11
- package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-cube.js +9 -20
- package/dist/lib/texture-api/load-image-cube.js.map +1 -0
- package/dist/lib/texture-api/load-image.d.ts +6 -3
- package/dist/lib/texture-api/load-image.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image.js +9 -4
- package/dist/lib/texture-api/load-image.js.map +1 -0
- package/dist/lib/texture-api/texture-api-types.d.ts +13 -0
- package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -1
- package/dist/lib/texture-api/texture-api-types.js +1 -0
- package/dist/lib/texture-api/texture-api-types.js.map +1 -0
- package/dist/lib/utils/detect-supported-texture-formats.d.ts +14 -0
- package/dist/lib/utils/detect-supported-texture-formats.d.ts.map +1 -0
- package/dist/lib/utils/detect-supported-texture-formats.js +197 -0
- package/dist/lib/utils/detect-supported-texture-formats.js.map +1 -0
- package/dist/lib/utils/extract-mipmap-images.d.ts +6 -2
- package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
- package/dist/lib/utils/extract-mipmap-images.js +14 -2
- package/dist/lib/utils/extract-mipmap-images.js.map +1 -0
- package/dist/lib/utils/ktx-format-helper.d.ts +9 -1
- package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -1
- package/dist/lib/utils/ktx-format-helper.js +77 -109
- package/dist/lib/utils/ktx-format-helper.js.map +1 -0
- package/dist/lib/utils/texture-format-map.d.ts +10 -0
- package/dist/lib/utils/texture-format-map.d.ts.map +1 -0
- package/dist/lib/utils/texture-format-map.js +87 -0
- package/dist/lib/utils/texture-format-map.js.map +1 -0
- package/dist/lib/utils/version.js +2 -1
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/libs/libs/README.md +9 -0
- package/dist/libs/libs/basis_encoder.js +21 -0
- package/dist/libs/libs/basis_encoder.wasm +0 -0
- package/dist/libs/libs/basis_transcoder.js +22 -0
- package/dist/libs/libs/basis_transcoder.wasm +0 -0
- package/dist/libs/libs/crunch.js +136 -0
- package/dist/npy-loader.d.ts +2 -2
- package/dist/npy-loader.js +1 -0
- package/dist/npy-loader.js.map +1 -0
- package/dist/npy-worker.d.ts +2 -0
- package/dist/npy-worker.d.ts.map +1 -0
- package/dist/npy-worker.js +5 -2
- package/dist/npy-worker.js.map +1 -0
- package/dist/radiance-hdr-loader.d.ts +25 -0
- package/dist/radiance-hdr-loader.d.ts.map +1 -0
- package/dist/radiance-hdr-loader.js +23 -0
- package/dist/radiance-hdr-loader.js.map +1 -0
- package/dist/texture-array-loader.d.ts +25 -0
- package/dist/texture-array-loader.d.ts.map +1 -0
- package/dist/texture-array-loader.js +24 -0
- package/dist/texture-array-loader.js.map +1 -0
- package/dist/texture-cube-array-loader.d.ts +25 -0
- package/dist/texture-cube-array-loader.d.ts.map +1 -0
- package/dist/texture-cube-array-loader.js +24 -0
- package/dist/texture-cube-array-loader.js.map +1 -0
- package/dist/texture-cube-loader.d.ts +25 -0
- package/dist/texture-cube-loader.d.ts.map +1 -0
- package/dist/texture-cube-loader.js +24 -0
- package/dist/texture-cube-loader.js.map +1 -0
- package/dist/texture-loader.d.ts +25 -0
- package/dist/texture-loader.d.ts.map +1 -0
- package/dist/texture-loader.js +24 -0
- package/dist/texture-loader.js.map +1 -0
- package/dist/workers/basis-worker-node.js +1 -0
- package/dist/workers/basis-worker-node.js.map +1 -0
- package/dist/workers/basis-worker.js +1 -0
- package/dist/workers/basis-worker.js.map +1 -0
- package/dist/workers/compressed-texture-worker.js +1 -1
- package/dist/workers/compressed-texture-worker.js.map +1 -0
- package/dist/workers/crunch-worker.d.ts +1 -3
- package/dist/workers/crunch-worker.d.ts.map +1 -1
- package/dist/workers/crunch-worker.js +1 -0
- package/dist/workers/crunch-worker.js.map +1 -0
- package/dist/workers/ktx2-basis-writer-worker-node.js +1 -0
- package/dist/workers/ktx2-basis-writer-worker-node.js.map +1 -0
- package/dist/workers/ktx2-basis-writer-worker.js +1 -0
- package/dist/workers/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/workers/npy-worker.js +1 -0
- package/dist/workers/npy-worker.js.map +1 -0
- package/package.json +27 -6
- package/src/basis-loader.ts +19 -9
- package/src/basis-worker.ts +7 -0
- package/src/compressed-texture-loader.ts +3 -7
- package/src/compressed-texture-worker.ts +6 -0
- package/src/crunch-loader.ts +1 -5
- package/src/crunch-worker.ts +6 -0
- package/src/index.ts +21 -4
- package/src/ktx2-basis-writer-worker.ts +6 -0
- package/src/lib/composite-image/image-texture-cube.ts +49 -0
- package/src/lib/composite-image/parse-composite-image.ts +699 -0
- package/src/lib/encoders/encode-ktx.ts +1 -1
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +4 -2
- package/src/lib/gl-extensions.ts +188 -81
- package/src/lib/gl-types.ts +136 -0
- package/src/lib/parsers/basis-module-loader.ts +5 -5
- package/src/lib/parsers/crunch-module-loader.ts +4 -4
- package/src/lib/parsers/parse-basis.ts +358 -66
- package/src/lib/parsers/parse-crunch.ts +11 -8
- package/src/lib/parsers/parse-dds.ts +11 -12
- package/src/lib/parsers/parse-hdr.ts +426 -0
- package/src/lib/parsers/parse-ktx.ts +13 -3
- package/src/lib/parsers/parse-pvr.ts +33 -75
- package/src/lib/texture-api/generate-url.ts +2 -12
- package/src/lib/texture-api/load-image-array.ts +15 -6
- package/src/lib/texture-api/load-image-cube.ts +20 -34
- package/src/lib/texture-api/load-image.ts +19 -8
- package/src/lib/texture-api/texture-api-types.ts +15 -0
- package/src/lib/utils/detect-supported-texture-formats.ts +210 -0
- package/src/lib/utils/extract-mipmap-images.ts +23 -4
- package/src/lib/utils/ktx-format-helper.ts +135 -111
- package/src/lib/utils/texture-format-map.ts +162 -0
- package/src/npy-worker.ts +6 -0
- package/src/radiance-hdr-loader.ts +36 -0
- package/src/texture-array-loader.ts +46 -0
- package/src/texture-cube-array-loader.ts +49 -0
- package/src/texture-cube-loader.ts +46 -0
- package/src/texture-loader.ts +49 -0
- package/src/workers/compressed-texture-worker.ts +0 -1
- package/dist/lib/utils/texture-formats.d.ts +0 -8
- package/dist/lib/utils/texture-formats.d.ts.map +0 -1
- package/dist/lib/utils/texture-formats.js +0 -50
- package/src/lib/utils/texture-formats.ts +0 -59
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type { GetUrl } from "./texture-api-types.js";
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { GetUrl, TextureLoaderOptions } from "./texture-api-types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Use `load(url, TextureArrayLoader)` for manifest-driven loading.
|
|
4
|
+
*/
|
|
5
|
+
export declare function loadImageTextureArray(count: number, getUrl: GetUrl, options?: TextureLoaderOptions): Promise<any>;
|
|
6
|
+
export declare function getImageArrayUrls(count: number, getUrl: GetUrl, options?: TextureLoaderOptions): Promise<any>;
|
|
4
7
|
//# sourceMappingURL=load-image-array.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-image-array.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image-array.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-image-array.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image-array.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,MAAM,EAAE,oBAAoB,EAAC,+BAA4B;AAGtE;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,GAAG,CAAC,CAGd;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,GAAG,CAAC,CAOd"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
4
|
+
import { loadCompositeImageUrlTree, normalizeCompositeImageOptions } from "../composite-image/parse-composite-image.js";
|
|
5
5
|
import { getImageUrls } from "./load-image.js";
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use `load(url, TextureArrayLoader)` for manifest-driven loading.
|
|
8
|
+
*/
|
|
7
9
|
export async function loadImageTextureArray(count, getUrl, options = {}) {
|
|
8
10
|
const imageUrls = await getImageArrayUrls(count, getUrl, options);
|
|
9
|
-
return await
|
|
11
|
+
return await loadCompositeImageUrlTree(imageUrls, normalizeCompositeImageOptions(options));
|
|
10
12
|
}
|
|
11
13
|
export async function getImageArrayUrls(count, getUrl, options = {}) {
|
|
12
14
|
const promises = [];
|
|
@@ -16,3 +18,4 @@ export async function getImageArrayUrls(count, getUrl, options = {}) {
|
|
|
16
18
|
}
|
|
17
19
|
return await Promise.all(promises);
|
|
18
20
|
}
|
|
21
|
+
//# sourceMappingURL=load-image-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-image-array.js","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image-array.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC/B,oDAAiD;AAElD,OAAO,EAAC,YAAY,EAAC,wBAAqB;AAE1C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAa,EACb,MAAc,EACd,UAAgC,EAAE;IAElC,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,MAAM,yBAAyB,CAAC,SAAS,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,MAAc,EACd,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: any;
|
|
9
|
-
};
|
|
10
|
-
export declare function getImageCubeUrls(getUrl: GetUrl, options: UrlOptions): Promise<Record<number, string | string[]>>;
|
|
11
|
-
export declare function loadImageTextureCube(getUrl: GetUrl, options?: {}): Promise<ImageCubeTexture>;
|
|
1
|
+
import { type ImageCubeTexture } from "../composite-image/image-texture-cube.js";
|
|
2
|
+
import type { GetUrl, TextureLoaderOptions } from "./texture-api-types.js";
|
|
3
|
+
export declare function getImageCubeUrls(getUrl: GetUrl, options: TextureLoaderOptions): Promise<Record<number, string | string[]>>;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `load(url, TextureCubeLoader)` for manifest-driven loading.
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadImageTextureCube(getUrl: GetUrl, options?: TextureLoaderOptions): Promise<ImageCubeTexture>;
|
|
12
8
|
//# sourceMappingURL=load-image-cube.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-image-cube.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image-cube.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-image-cube.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image-cube.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,gBAAgB,EACtB,iDAA8C;AAC/C,OAAO,KAAK,EAAC,MAAM,EAAE,oBAAoB,EAAC,+BAA4B;AAKtE,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,8CAiBnF;AAID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAM3B"}
|
|
@@ -1,24 +1,9 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
4
|
+
import { loadCompositeImageUrlTree, normalizeCompositeImageOptions } from "../composite-image/parse-composite-image.js";
|
|
5
|
+
import { IMAGE_TEXTURE_CUBE_FACES } from "../composite-image/image-texture-cube.js";
|
|
5
6
|
import { getImageUrls } from "./load-image.js";
|
|
6
|
-
import { deepLoad } from "./deep-load.js";
|
|
7
|
-
// Returned map will be have keys corresponding to GL cubemap constants
|
|
8
|
-
const GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
|
|
9
|
-
const GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
|
|
10
|
-
const GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
|
|
11
|
-
const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
|
|
12
|
-
const GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
|
|
13
|
-
const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;
|
|
14
|
-
const CUBE_FACES = [
|
|
15
|
-
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: 'right', axis: 'x', sign: 'positive' },
|
|
16
|
-
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: 'left', axis: 'x', sign: 'negative' },
|
|
17
|
-
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: 'top', axis: 'y', sign: 'positive' },
|
|
18
|
-
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: 'bottom', axis: 'y', sign: 'negative' },
|
|
19
|
-
{ face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: 'front', axis: 'z', sign: 'positive' },
|
|
20
|
-
{ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: 'back', axis: 'z', sign: 'negative' }
|
|
21
|
-
];
|
|
22
7
|
// Returns an object with six key-value pairs containing the urls (or url mip arrays)
|
|
23
8
|
// for each cube face
|
|
24
9
|
export async function getImageCubeUrls(getUrl, options) {
|
|
@@ -26,8 +11,8 @@ export async function getImageCubeUrls(getUrl, options) {
|
|
|
26
11
|
const urls = {};
|
|
27
12
|
const promises = [];
|
|
28
13
|
let index = 0;
|
|
29
|
-
for (let i = 0; i <
|
|
30
|
-
const face =
|
|
14
|
+
for (let i = 0; i < IMAGE_TEXTURE_CUBE_FACES.length; ++i) {
|
|
15
|
+
const face = IMAGE_TEXTURE_CUBE_FACES[index];
|
|
31
16
|
const promise = getImageUrls(getUrl, options, { ...face, index: index++ }).then((url) => {
|
|
32
17
|
urls[face.face] = url;
|
|
33
18
|
});
|
|
@@ -38,7 +23,11 @@ export async function getImageCubeUrls(getUrl, options) {
|
|
|
38
23
|
}
|
|
39
24
|
// Returns an object with six key-value pairs containing the images (or image mip arrays)
|
|
40
25
|
// for each cube face
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Use `load(url, TextureCubeLoader)` for manifest-driven loading.
|
|
28
|
+
*/
|
|
41
29
|
export async function loadImageTextureCube(getUrl, options = {}) {
|
|
42
30
|
const urls = await getImageCubeUrls(getUrl, options);
|
|
43
|
-
return (await
|
|
31
|
+
return (await loadCompositeImageUrlTree(urls, normalizeCompositeImageOptions(options)));
|
|
44
32
|
}
|
|
33
|
+
//# sourceMappingURL=load-image-cube.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-image-cube.js","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image-cube.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC/B,oDAAiD;AAClD,OAAO,EACL,wBAAwB,EAEzB,iDAA8C;AAE/C,OAAO,EAAC,YAAY,EAAC,wBAAqB;AAE1C,qFAAqF;AACrF,qBAAqB;AACrB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAA6B;IAClF,iBAAiB;IACjB,MAAM,IAAI,GAAsC,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAwB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,EAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,qBAAqB;AACrB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,UAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,CAAC,MAAM,yBAAyB,CACrC,IAAI,EACJ,8BAA8B,CAAC,OAAO,CAAC,CACxC,CAAqB,CAAC;AACzB,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import type { GetUrl, UrlOptions } from "./texture-api-types.js";
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { GetUrl, TextureLoaderOptions, UrlOptions } from "./texture-api-types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Use `load(url, TextureLoader)` for manifest-driven loading.
|
|
4
|
+
*/
|
|
5
|
+
export declare function loadImageTexture(getUrl: string | GetUrl, options?: TextureLoaderOptions): Promise<any>;
|
|
6
|
+
export declare function getImageUrls(getUrl: string | GetUrl, options: TextureLoaderOptions, urlOptions?: UrlOptions): Promise<any>;
|
|
4
7
|
export declare function getMipLevels(size: {
|
|
5
8
|
width: number;
|
|
6
9
|
height: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-image.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-image.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAC,+BAA4B;AAGlF;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,GAAG,CAAC,CAGd;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,EAAE,oBAAoB,EAC7B,UAAU,GAAE,UAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,CAKd;AAmCD,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAE1E"}
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { assert } from '@loaders.gl/loader-utils';
|
|
5
|
-
import {
|
|
5
|
+
import { getImageSize } from '@loaders.gl/images';
|
|
6
|
+
import { loadCompositeImageMember, loadCompositeImageUrlTree, normalizeCompositeImageOptions } from "../composite-image/parse-composite-image.js";
|
|
6
7
|
import { generateUrl } from "./generate-url.js";
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use `load(url, TextureLoader)` for manifest-driven loading.
|
|
10
|
+
*/
|
|
8
11
|
export async function loadImageTexture(getUrl, options = {}) {
|
|
9
12
|
const imageUrls = await getImageUrls(getUrl, options);
|
|
10
|
-
return await
|
|
13
|
+
return await loadCompositeImageUrlTree(imageUrls, normalizeCompositeImageOptions(options));
|
|
11
14
|
}
|
|
12
15
|
export async function getImageUrls(getUrl, options, urlOptions = {}) {
|
|
13
16
|
const mipLevels = (options && options.image && options.image.mipLevels) || 0;
|
|
@@ -17,10 +20,11 @@ export async function getImageUrls(getUrl, options, urlOptions = {}) {
|
|
|
17
20
|
}
|
|
18
21
|
async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
|
|
19
22
|
const urls = [];
|
|
23
|
+
const normalizedOptions = normalizeCompositeImageOptions(options);
|
|
20
24
|
// If no mip levels supplied, we need to load the level 0 image and calculate based on size
|
|
21
25
|
if (mipLevels === 'auto') {
|
|
22
26
|
const url = generateUrl(getUrl, options, { ...urlOptions, lod: 0 });
|
|
23
|
-
const image = await
|
|
27
|
+
const image = await loadCompositeImageMember(url, normalizedOptions);
|
|
24
28
|
const { width, height } = getImageSize(image);
|
|
25
29
|
mipLevels = getMipLevels({ width, height });
|
|
26
30
|
// TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?
|
|
@@ -38,3 +42,4 @@ async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
|
|
|
38
42
|
export function getMipLevels(size) {
|
|
39
43
|
return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));
|
|
40
44
|
}
|
|
45
|
+
//# sourceMappingURL=load-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-image.js","sourceRoot":"","sources":["../../../src/lib/texture-api/load-image.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC/B,oDAAiD;AAElD,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAE3C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAuB,EACvB,UAAgC,EAAE;IAElC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,MAAM,yBAAyB,CAAC,SAAS,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAuB,EACvB,OAA6B,EAC7B,aAAyB,EAAE;IAE3B,MAAM,SAAS,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7E,OAAO,SAAS,KAAK,CAAC;QACpB,CAAC,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;QACrE,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAuB,EACvB,SAA0B,EAC1B,OAA6B,EAC7B,UAAsB;IAEtB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAElE,2FAA2F;IAC3F,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,EAAC,GAAG,UAAU,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAErE,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5C,SAAS,GAAG,YAAY,CAAC,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;QAE1C,0FAA0F;QAC1F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,sFAAsF;IACtF,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAEtB,KAAK,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC;QAClE,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,EAAC,GAAG,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,YAAY,CAAC,IAAqC;IAChE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { ImageLoaderOptions } from '@loaders.gl/images';
|
|
1
3
|
export type { ImageType } from '@loaders.gl/images';
|
|
2
4
|
export type UrlOptions = {
|
|
3
5
|
baseUrl?: string;
|
|
@@ -7,4 +9,15 @@ export type UrlOptions = {
|
|
|
7
9
|
direction?: string;
|
|
8
10
|
};
|
|
9
11
|
export type GetUrl = (options: UrlOptions) => string;
|
|
12
|
+
export type TextureLoaderOptions = LoaderOptions & {
|
|
13
|
+
core?: NonNullable<LoaderOptions['core']> & {
|
|
14
|
+
/** Base URL for resolving composite image members when no loader context URL is available */
|
|
15
|
+
baseUrl?: string;
|
|
16
|
+
};
|
|
17
|
+
/** @deprecated Legacy helper alias kept for loadImageTexture* compatibility */
|
|
18
|
+
baseUrl?: string;
|
|
19
|
+
image?: NonNullable<ImageLoaderOptions['image']> & {
|
|
20
|
+
mipLevels?: number | 'auto';
|
|
21
|
+
};
|
|
22
|
+
};
|
|
10
23
|
//# 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":"AAIA,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
|
+
{"version":3,"file":"texture-api-types.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/texture-api-types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAE3D,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;AAErD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,IAAI,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG;QAC1C,6FAA6F;QAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG;QACjD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-api-types.js","sourceRoot":"","sources":["../../../src/lib/texture-api/texture-api-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TextureFormat } from '@loaders.gl/schema';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Pass `basis.supportedTextureFormats` to Basis loaders instead of relying on global detection.
|
|
4
|
+
*/
|
|
5
|
+
export declare function detectSupportedTextureFormats(gl?: WebGLRenderingContext): Set<TextureFormat>;
|
|
6
|
+
/**
|
|
7
|
+
* Returns a list of formats.
|
|
8
|
+
* Creates a temporary WebGLRenderingContext if none is provided.
|
|
9
|
+
*
|
|
10
|
+
* @deprecated Pass `basis.supportedTextureFormats` to Basis loaders instead of relying on global detection.
|
|
11
|
+
* @param gl - Optional context.
|
|
12
|
+
*/
|
|
13
|
+
export declare function detectSupportedGPUTextureFormats(gl?: WebGLRenderingContext): Set<string>;
|
|
14
|
+
//# sourceMappingURL=detect-supported-texture-formats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-supported-texture-formats.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/detect-supported-texture-formats.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAmJxE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,CAiB5F;AAGD;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,CAgBxF"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
const BROWSER_PREFIXES = ['', 'WEBKIT_', 'MOZ_'];
|
|
5
|
+
const WEBGL_TEXTURE_FORMATS = {
|
|
6
|
+
/* eslint-disable camelcase */
|
|
7
|
+
WEBGL_compressed_texture_s3tc: [
|
|
8
|
+
'bc1-rgb-unorm-webgl',
|
|
9
|
+
'bc1-rgba-unorm',
|
|
10
|
+
'bc2-rgba-unorm',
|
|
11
|
+
'bc3-rgba-unorm'
|
|
12
|
+
],
|
|
13
|
+
WEBGL_compressed_texture_s3tc_srgb: [
|
|
14
|
+
'bc1-rgb-unorm-srgb-webgl',
|
|
15
|
+
'bc1-rgba-unorm-srgb',
|
|
16
|
+
'bc2-rgba-unorm-srgb',
|
|
17
|
+
'bc3-rgba-unorm-srgb'
|
|
18
|
+
],
|
|
19
|
+
EXT_texture_compression_rgtc: ['bc4-r-unorm', 'bc4-r-snorm', 'bc5-rg-unorm', 'bc5-rg-snorm'],
|
|
20
|
+
EXT_texture_compression_bptc: [
|
|
21
|
+
'bc6h-rgb-ufloat',
|
|
22
|
+
'bc6h-rgb-float',
|
|
23
|
+
'bc7-rgba-unorm',
|
|
24
|
+
'bc7-rgba-unorm-srgb'
|
|
25
|
+
],
|
|
26
|
+
WEBGL_compressed_texture_etc1: ['etc1-rgb-unorm-webgl'],
|
|
27
|
+
WEBGL_compressed_texture_etc: [
|
|
28
|
+
'etc2-rgb8unorm',
|
|
29
|
+
'etc2-rgb8unorm-srgb',
|
|
30
|
+
'etc2-rgb8a1unorm',
|
|
31
|
+
'etc2-rgb8a1unorm-srgb',
|
|
32
|
+
'etc2-rgba8unorm',
|
|
33
|
+
'etc2-rgba8unorm-srgb',
|
|
34
|
+
'eac-r11unorm',
|
|
35
|
+
'eac-r11snorm',
|
|
36
|
+
'eac-rg11unorm',
|
|
37
|
+
'eac-rg11snorm'
|
|
38
|
+
],
|
|
39
|
+
WEBGL_compressed_texture_pvrtc: [
|
|
40
|
+
'pvrtc-rgb4unorm-webgl',
|
|
41
|
+
'pvrtc-rgba4unorm-webgl',
|
|
42
|
+
'pvrtc-rgb2unorm-webgl',
|
|
43
|
+
'pvrtc-rgba2unorm-webgl'
|
|
44
|
+
],
|
|
45
|
+
WEBGL_compressed_texture_atc: [
|
|
46
|
+
'atc-rgb-unorm-webgl',
|
|
47
|
+
'atc-rgba-unorm-webgl',
|
|
48
|
+
'atc-rgbai-unorm-webgl'
|
|
49
|
+
],
|
|
50
|
+
WEBGL_compressed_texture_astc: [
|
|
51
|
+
'astc-4x4-unorm',
|
|
52
|
+
'astc-4x4-unorm-srgb',
|
|
53
|
+
'astc-5x4-unorm',
|
|
54
|
+
'astc-5x4-unorm-srgb',
|
|
55
|
+
'astc-5x5-unorm',
|
|
56
|
+
'astc-5x5-unorm-srgb',
|
|
57
|
+
'astc-6x5-unorm',
|
|
58
|
+
'astc-6x5-unorm-srgb',
|
|
59
|
+
'astc-6x6-unorm',
|
|
60
|
+
'astc-6x6-unorm-srgb',
|
|
61
|
+
'astc-8x5-unorm',
|
|
62
|
+
'astc-8x5-unorm-srgb',
|
|
63
|
+
'astc-8x6-unorm',
|
|
64
|
+
'astc-8x6-unorm-srgb',
|
|
65
|
+
'astc-8x8-unorm',
|
|
66
|
+
'astc-8x8-unorm-srgb',
|
|
67
|
+
'astc-10x5-unorm',
|
|
68
|
+
'astc-10x5-unorm-srgb',
|
|
69
|
+
'astc-10x6-unorm',
|
|
70
|
+
'astc-10x6-unorm-srgb',
|
|
71
|
+
'astc-10x8-unorm',
|
|
72
|
+
'astc-10x8-unorm-srgb',
|
|
73
|
+
'astc-10x10-unorm',
|
|
74
|
+
'astc-10x10-unorm-srgb',
|
|
75
|
+
'astc-12x10-unorm',
|
|
76
|
+
'astc-12x10-unorm-srgb',
|
|
77
|
+
'astc-12x12-unorm',
|
|
78
|
+
'astc-12x12-unorm-srgb'
|
|
79
|
+
]
|
|
80
|
+
/* eslint-enable camelcase */
|
|
81
|
+
};
|
|
82
|
+
const GPU_TEXTURE_FORMATS = {
|
|
83
|
+
dxt: ['bc1-rgb-unorm-webgl', 'bc1-rgba-unorm', 'bc2-rgba-unorm', 'bc3-rgba-unorm'],
|
|
84
|
+
'dxt-srgb': [
|
|
85
|
+
'bc1-rgb-unorm-srgb-webgl',
|
|
86
|
+
'bc1-rgba-unorm-srgb',
|
|
87
|
+
'bc2-rgba-unorm-srgb',
|
|
88
|
+
'bc3-rgba-unorm-srgb'
|
|
89
|
+
],
|
|
90
|
+
etc1: ['etc1-rgb-unorm-webgl'],
|
|
91
|
+
etc2: [
|
|
92
|
+
'etc2-rgb8unorm',
|
|
93
|
+
'etc2-rgb8unorm-srgb',
|
|
94
|
+
'etc2-rgb8a1unorm',
|
|
95
|
+
'etc2-rgb8a1unorm-srgb',
|
|
96
|
+
'etc2-rgba8unorm',
|
|
97
|
+
'etc2-rgba8unorm-srgb',
|
|
98
|
+
'eac-r11unorm',
|
|
99
|
+
'eac-r11snorm',
|
|
100
|
+
'eac-rg11unorm',
|
|
101
|
+
'eac-rg11snorm'
|
|
102
|
+
],
|
|
103
|
+
pvrtc: [
|
|
104
|
+
'pvrtc-rgb4unorm-webgl',
|
|
105
|
+
'pvrtc-rgba4unorm-webgl',
|
|
106
|
+
'pvrtc-rgb2unorm-webgl',
|
|
107
|
+
'pvrtc-rgba2unorm-webgl'
|
|
108
|
+
],
|
|
109
|
+
atc: ['atc-rgb-unorm-webgl', 'atc-rgba-unorm-webgl', 'atc-rgbai-unorm-webgl'],
|
|
110
|
+
astc: [
|
|
111
|
+
'astc-4x4-unorm',
|
|
112
|
+
'astc-4x4-unorm-srgb',
|
|
113
|
+
'astc-5x4-unorm',
|
|
114
|
+
'astc-5x4-unorm-srgb',
|
|
115
|
+
'astc-5x5-unorm',
|
|
116
|
+
'astc-5x5-unorm-srgb',
|
|
117
|
+
'astc-6x5-unorm',
|
|
118
|
+
'astc-6x5-unorm-srgb',
|
|
119
|
+
'astc-6x6-unorm',
|
|
120
|
+
'astc-6x6-unorm-srgb',
|
|
121
|
+
'astc-8x5-unorm',
|
|
122
|
+
'astc-8x5-unorm-srgb',
|
|
123
|
+
'astc-8x6-unorm',
|
|
124
|
+
'astc-8x6-unorm-srgb',
|
|
125
|
+
'astc-8x8-unorm',
|
|
126
|
+
'astc-8x8-unorm-srgb',
|
|
127
|
+
'astc-10x5-unorm',
|
|
128
|
+
'astc-10x5-unorm-srgb',
|
|
129
|
+
'astc-10x6-unorm',
|
|
130
|
+
'astc-10x6-unorm-srgb',
|
|
131
|
+
'astc-10x8-unorm',
|
|
132
|
+
'astc-10x8-unorm-srgb',
|
|
133
|
+
'astc-10x10-unorm',
|
|
134
|
+
'astc-10x10-unorm-srgb',
|
|
135
|
+
'astc-12x10-unorm',
|
|
136
|
+
'astc-12x10-unorm-srgb',
|
|
137
|
+
'astc-12x12-unorm',
|
|
138
|
+
'astc-12x12-unorm-srgb'
|
|
139
|
+
],
|
|
140
|
+
rgtc: ['bc4-r-unorm', 'bc4-r-snorm', 'bc5-rg-unorm', 'bc5-rg-snorm']
|
|
141
|
+
};
|
|
142
|
+
let formats = null;
|
|
143
|
+
let textureFormats = null;
|
|
144
|
+
// DEPRECATED
|
|
145
|
+
/**
|
|
146
|
+
* @deprecated Pass `basis.supportedTextureFormats` to Basis loaders instead of relying on global detection.
|
|
147
|
+
*/
|
|
148
|
+
export function detectSupportedTextureFormats(gl) {
|
|
149
|
+
if (!textureFormats) {
|
|
150
|
+
gl = gl || getWebGLContext() || undefined;
|
|
151
|
+
textureFormats = new Set();
|
|
152
|
+
for (const prefix of BROWSER_PREFIXES) {
|
|
153
|
+
for (const extension in WEBGL_TEXTURE_FORMATS) {
|
|
154
|
+
if (gl && gl.getExtension(`${prefix}${extension}`)) {
|
|
155
|
+
for (const textureFormat of WEBGL_TEXTURE_FORMATS[extension]) {
|
|
156
|
+
textureFormats.add(textureFormat);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return textureFormats;
|
|
163
|
+
}
|
|
164
|
+
// DEPRECATED
|
|
165
|
+
/**
|
|
166
|
+
* Returns a list of formats.
|
|
167
|
+
* Creates a temporary WebGLRenderingContext if none is provided.
|
|
168
|
+
*
|
|
169
|
+
* @deprecated Pass `basis.supportedTextureFormats` to Basis loaders instead of relying on global detection.
|
|
170
|
+
* @param gl - Optional context.
|
|
171
|
+
*/
|
|
172
|
+
export function detectSupportedGPUTextureFormats(gl) {
|
|
173
|
+
if (!formats) {
|
|
174
|
+
formats = new Set();
|
|
175
|
+
const supportedTextureFormats = detectSupportedTextureFormats(gl);
|
|
176
|
+
for (const gpuTextureFormat in GPU_TEXTURE_FORMATS) {
|
|
177
|
+
const textureFormatsForGroup = GPU_TEXTURE_FORMATS[gpuTextureFormat];
|
|
178
|
+
if (textureFormatsForGroup.some((textureFormat) => supportedTextureFormats.has(textureFormat))) {
|
|
179
|
+
formats.add(gpuTextureFormat);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return formats;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* @returns {WebGLRenderingContext?}
|
|
187
|
+
*/
|
|
188
|
+
function getWebGLContext() {
|
|
189
|
+
try {
|
|
190
|
+
const canvas = document.createElement('canvas');
|
|
191
|
+
return canvas.getContext('webgl');
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=detect-supported-texture-formats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-supported-texture-formats.js","sourceRoot":"","sources":["../../../src/lib/utils/detect-supported-texture-formats.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,qBAAqB,GAAqC;IAC9D,8BAA8B;IAC9B,6BAA6B,EAAE;QAC7B,qBAAqB;QACrB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;KACjB;IACD,kCAAkC,EAAE;QAClC,0BAA0B;QAC1B,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;KACtB;IACD,4BAA4B,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC;IAC5F,4BAA4B,EAAE;QAC5B,iBAAiB;QACjB,gBAAgB;QAChB,gBAAgB;QAChB,qBAAqB;KACtB;IACD,6BAA6B,EAAE,CAAC,sBAAsB,CAAC;IACvD,4BAA4B,EAAE;QAC5B,gBAAgB;QAChB,qBAAqB;QACrB,kBAAkB;QAClB,uBAAuB;QACvB,iBAAiB;QACjB,sBAAsB;QACtB,cAAc;QACd,cAAc;QACd,eAAe;QACf,eAAe;KAChB;IACD,8BAA8B,EAAE;QAC9B,uBAAuB;QACvB,wBAAwB;QACxB,uBAAuB;QACvB,wBAAwB;KACzB;IACD,4BAA4B,EAAE;QAC5B,qBAAqB;QACrB,sBAAsB;QACtB,uBAAuB;KACxB;IACD,6BAA6B,EAAE;QAC7B,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB;QACjB,sBAAsB;QACtB,kBAAkB;QAClB,uBAAuB;QACvB,kBAAkB;QAClB,uBAAuB;QACvB,kBAAkB;QAClB,uBAAuB;KACxB;IACD,6BAA6B;CAC9B,CAAC;AAEF,MAAM,mBAAmB,GAAiD;IACxE,GAAG,EAAE,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;IAClF,UAAU,EAAE;QACV,0BAA0B;QAC1B,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;KACtB;IACD,IAAI,EAAE,CAAC,sBAAsB,CAAC;IAC9B,IAAI,EAAE;QACJ,gBAAgB;QAChB,qBAAqB;QACrB,kBAAkB;QAClB,uBAAuB;QACvB,iBAAiB;QACjB,sBAAsB;QACtB,cAAc;QACd,cAAc;QACd,eAAe;QACf,eAAe;KAChB;IACD,KAAK,EAAE;QACL,uBAAuB;QACvB,wBAAwB;QACxB,uBAAuB;QACvB,wBAAwB;KACzB;IACD,GAAG,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,uBAAuB,CAAC;IAC7E,IAAI,EAAE;QACJ,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,gBAAgB;QAChB,qBAAqB;QACrB,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB;QACjB,sBAAsB;QACtB,kBAAkB;QAClB,uBAAuB;QACvB,kBAAkB;QAClB,uBAAuB;QACvB,kBAAkB;QAClB,uBAAuB;KACxB;IACD,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC;CACrE,CAAC;AAEF,IAAI,OAAO,GAAiC,IAAI,CAAC;AACjD,IAAI,cAAc,GAA8B,IAAI,CAAC;AAErD,aAAa;AACb;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAA0B;IACtE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,GAAG,EAAE,IAAI,eAAe,EAAE,IAAI,SAAS,CAAC;QAC1C,cAAc,GAAG,IAAI,GAAG,EAAiB,CAAC;QAE1C,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,KAAK,MAAM,SAAS,IAAI,qBAAqB,EAAE,CAAC;gBAC9C,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC;oBACnD,KAAK,MAAM,aAAa,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC7D,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,aAAa;AACb;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAA0B;IACzE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QACtC,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;QAElE,KAAK,MAAM,gBAAgB,IAAI,mBAAmB,EAAE,CAAC;YACnD,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,gBAAoC,CAAC,CAAC;YACzF,IACE,sBAAsB,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAC1F,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,gBAAoC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import type { TextureLevel } from '@loaders.gl/schema';
|
|
1
|
+
import type { TextureFormat, TextureLevel } from '@loaders.gl/schema';
|
|
2
|
+
import type { GLTextureFormat } from "../gl-types.js";
|
|
2
3
|
export type CompressedTextureExtractOptions = {
|
|
3
4
|
mipMapLevels: number;
|
|
4
5
|
width: number;
|
|
5
6
|
height: number;
|
|
6
7
|
sizeFunction: Function;
|
|
7
|
-
internalFormat
|
|
8
|
+
internalFormat?: GLTextureFormat;
|
|
9
|
+
/** Canonical loaders.gl texture format for the mip levels being extracted. */
|
|
10
|
+
textureFormat?: TextureFormat;
|
|
8
11
|
};
|
|
9
12
|
/**
|
|
10
13
|
* Extract mipmap images from compressed texture buffer
|
|
@@ -14,6 +17,7 @@ export type CompressedTextureExtractOptions = {
|
|
|
14
17
|
* @param options.height - height of 0 - level
|
|
15
18
|
* @param options.sizeFunction - format-related function to calculate level size in bytes
|
|
16
19
|
* @param options.internalFormat - WebGL compatible format code
|
|
20
|
+
* @param options.textureFormat - canonical loaders.gl texture format
|
|
17
21
|
* @returns Array of the texture levels
|
|
18
22
|
*/
|
|
19
23
|
export declare function extractMipmapImages(data: Uint8Array | object[], options: CompressedTextureExtractOptions): TextureLevel[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-mipmap-images.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-mipmap-images.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAC,eAAe,EAAC,uBAAoB;AAMjD,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,CAAC,EAAE,eAAe,CAAC;IACjC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,EAC3B,OAAO,EAAE,+BAA+B,GACvC,YAAY,EAAE,CAuChB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { getTextureFormatFromWebGLFormat, getWebGLFormatFromTextureFormat } from "./texture-format-map.js";
|
|
4
5
|
/**
|
|
5
6
|
* Extract mipmap images from compressed texture buffer
|
|
6
7
|
* @param data - binary data of compressed texture or Array of level objects
|
|
@@ -9,10 +10,13 @@
|
|
|
9
10
|
* @param options.height - height of 0 - level
|
|
10
11
|
* @param options.sizeFunction - format-related function to calculate level size in bytes
|
|
11
12
|
* @param options.internalFormat - WebGL compatible format code
|
|
13
|
+
* @param options.textureFormat - canonical loaders.gl texture format
|
|
12
14
|
* @returns Array of the texture levels
|
|
13
15
|
*/
|
|
14
16
|
export function extractMipmapImages(data, options) {
|
|
15
17
|
const images = new Array(options.mipMapLevels);
|
|
18
|
+
const textureFormat = options.textureFormat || getTextureFormatFromWebGLFormat(options.internalFormat);
|
|
19
|
+
const format = options.internalFormat || getWebGLFormatFromTextureFormat(options.textureFormat);
|
|
16
20
|
let levelWidth = options.width;
|
|
17
21
|
let levelHeight = options.height;
|
|
18
22
|
let offset = 0;
|
|
@@ -21,14 +25,21 @@ export function extractMipmapImages(data, options) {
|
|
|
21
25
|
const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
|
|
22
26
|
// @ts-expect-error
|
|
23
27
|
const levelData = getLevelData(data, i, offset, levelSize);
|
|
24
|
-
|
|
28
|
+
const image = {
|
|
29
|
+
shape: 'texture-level',
|
|
25
30
|
compressed: true,
|
|
26
|
-
format: options.internalFormat,
|
|
27
31
|
data: levelData,
|
|
28
32
|
width: levelWidth,
|
|
29
33
|
height: levelHeight,
|
|
30
34
|
levelSize
|
|
31
35
|
};
|
|
36
|
+
if (format !== undefined) {
|
|
37
|
+
image.format = format;
|
|
38
|
+
}
|
|
39
|
+
if (textureFormat) {
|
|
40
|
+
image.textureFormat = textureFormat;
|
|
41
|
+
}
|
|
42
|
+
images[i] = image;
|
|
32
43
|
levelWidth = Math.max(1, levelWidth >> 1);
|
|
33
44
|
levelHeight = Math.max(1, levelHeight >> 1);
|
|
34
45
|
offset += levelSize;
|
|
@@ -47,3 +58,4 @@ function getLevelSize(options, levelWidth, levelHeight, data, index) {
|
|
|
47
58
|
}
|
|
48
59
|
return options.sizeFunction(data[index]);
|
|
49
60
|
}
|
|
61
|
+
//# sourceMappingURL=extract-mipmap-images.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-mipmap-images.js","sourceRoot":"","sources":["../../../src/lib/utils/extract-mipmap-images.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAChC,gCAA6B;AAY9B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAA2B,EAC3B,OAAwC;IAExC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa,IAAI,+BAA+B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,+BAA+B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhG,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC;QAC9C,mBAAmB;QACnB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1E,mBAAmB;QACnB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAE3D,MAAM,KAAK,GAAiB;YAC1B,KAAK,EAAE,eAAe;YACtB,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,WAAW;YACnB,SAAS;SACV,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAElB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;QAC1C,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;QAE5C,MAAM,IAAI,SAAS,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CACnB,IAAgB,EAChB,KAAa,EACb,MAAc,EACd,SAAiB;IAEjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CACnB,OAAwC,EACxC,UAAkB,EAClB,WAAmB,EACnB,IAA6B,EAC7B,KAAa;IAEb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { TextureFormat } from '@loaders.gl/schema';
|
|
2
|
+
import type { GLTextureFormat } from "../gl-types.js";
|
|
1
3
|
/**
|
|
2
4
|
* Returns WebGl format based on Vulkan format
|
|
3
5
|
* Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping
|
|
@@ -5,5 +7,11 @@
|
|
|
5
7
|
* @param vkFormat
|
|
6
8
|
* @returns WebGL / OpenGL constant
|
|
7
9
|
*/
|
|
8
|
-
export declare function mapVkFormatToWebGL(vkFormat: number):
|
|
10
|
+
export declare function mapVkFormatToWebGL(vkFormat: number): GLTextureFormat | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Returns the canonical loaders.gl texture format corresponding to a Vulkan `vkFormat` value.
|
|
13
|
+
* @param vkFormat - Vulkan format constant from the KTX container.
|
|
14
|
+
* @returns Canonical texture format string, if known.
|
|
15
|
+
*/
|
|
16
|
+
export declare function mapVkFormatToTextureFormat(vkFormat: number): TextureFormat | undefined;
|
|
9
17
|
//# sourceMappingURL=ktx-format-helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ktx-format-helper.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/ktx-format-helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ktx-format-helper.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/ktx-format-helper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAC,eAAe,EAAC,uBAAoB;AA8HjD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEtF"}
|