@loaders.gl/textures 4.4.0-alpha.1 → 4.4.0-alpha.9
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.js +1 -0
- package/dist/basis-loader.js.map +1 -0
- package/dist/basis-worker-node.js +145 -79
- package/dist/basis-worker.d.ts +2 -0
- package/dist/basis-worker.d.ts.map +1 -0
- package/dist/basis-worker.js +45 -14
- package/dist/basis-worker.js.map +1 -0
- package/dist/compressed-texture-loader.d.ts +2 -1
- package/dist/compressed-texture-loader.d.ts.map +1 -1
- package/dist/compressed-texture-loader.js +2 -2
- 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 +46 -15
- 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.js +1 -0
- 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 +38 -7
- package/dist/crunch-worker.js.map +1 -0
- package/dist/dist.dev.js +50 -17
- package/dist/dist.min.js +2 -2
- package/dist/index.cjs +12 -10
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/ktx2-basis-writer-worker-node.js +133 -72
- 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 +35 -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/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 +2 -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.js +1 -0
- package/dist/lib/gl-extensions.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.js +1 -0
- package/dist/lib/parsers/crunch-module-loader.js.map +1 -0
- package/dist/lib/parsers/parse-basis.d.ts +11 -1
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +10 -7
- 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.js +1 -0
- package/dist/lib/parsers/parse-crunch.js.map +1 -0
- package/dist/lib/parsers/parse-dds.js +1 -0
- package/dist/lib/parsers/parse-dds.js.map +1 -0
- package/dist/lib/parsers/parse-ktx.js +1 -0
- 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.js +1 -0
- 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.js +1 -0
- package/dist/lib/texture-api/generate-url.js.map +1 -0
- package/dist/lib/texture-api/load-image-array.js +1 -0
- package/dist/lib/texture-api/load-image-array.js.map +1 -0
- package/dist/lib/texture-api/load-image-cube.js +1 -0
- package/dist/lib/texture-api/load-image-cube.js.map +1 -0
- package/dist/lib/texture-api/load-image.js +1 -0
- package/dist/lib/texture-api/load-image.js.map +1 -0
- 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/extract-mipmap-images.js +1 -0
- package/dist/lib/utils/extract-mipmap-images.js.map +1 -0
- package/dist/lib/utils/ktx-format-helper.js +1 -0
- package/dist/lib/utils/ktx-format-helper.js.map +1 -0
- package/dist/lib/utils/texture-formats.js +1 -0
- package/dist/lib/utils/texture-formats.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.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/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.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 +28 -7
- package/src/basis-worker.ts +7 -0
- package/src/compressed-texture-loader.ts +3 -4
- package/src/compressed-texture-worker.ts +6 -0
- package/src/crunch-worker.ts +6 -0
- package/src/ktx2-basis-writer-worker.ts +6 -0
- package/src/lib/encoders/encode-ktx.ts +1 -1
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +3 -2
- package/src/lib/parsers/basis-module-loader.ts +5 -5
- package/src/lib/parsers/parse-basis.ts +40 -12
- package/src/npy-worker.ts +6 -0
- package/src/workers/compressed-texture-worker.ts +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/textures",
|
|
3
|
-
"version": "4.4.0-alpha.
|
|
3
|
+
"version": "4.4.0-alpha.9",
|
|
4
4
|
"description": "Framework-independent loaders for compressed and super compressed (basis) textures ",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -30,6 +30,27 @@
|
|
|
30
30
|
"types": "./dist/index.d.ts",
|
|
31
31
|
"import": "./dist/index.js",
|
|
32
32
|
"require": "./dist/index.cjs"
|
|
33
|
+
},
|
|
34
|
+
"./basis-worker.js": {
|
|
35
|
+
"import": "./dist/basis-worker.js"
|
|
36
|
+
},
|
|
37
|
+
"./basis-worker-node.js": {
|
|
38
|
+
"import": "./dist/basis-worker-node.js"
|
|
39
|
+
},
|
|
40
|
+
"./npy-worker.js": {
|
|
41
|
+
"import": "./dist/npy-worker.js"
|
|
42
|
+
},
|
|
43
|
+
"./compressed-texture-worker.js": {
|
|
44
|
+
"import": "./dist/compressed-texture-worker.js"
|
|
45
|
+
},
|
|
46
|
+
"./crunch-worker.js": {
|
|
47
|
+
"import": "./dist/crunch-worker.js"
|
|
48
|
+
},
|
|
49
|
+
"./ktx2-basis-writer-worker.js": {
|
|
50
|
+
"import": "./dist/ktx2-basis-writer-worker.js"
|
|
51
|
+
},
|
|
52
|
+
"./ktx2-basis-writer-worker-node.js": {
|
|
53
|
+
"import": "./dist/ktx2-basis-writer-worker-node.js"
|
|
33
54
|
}
|
|
34
55
|
},
|
|
35
56
|
"sideEffects": false,
|
|
@@ -54,16 +75,16 @@
|
|
|
54
75
|
"build-crunch-worker": "esbuild src/workers/crunch-worker.ts --outfile=dist/crunch-worker.js --target=esnext --bundle --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
55
76
|
},
|
|
56
77
|
"dependencies": {
|
|
57
|
-
"@loaders.gl/images": "4.4.0-alpha.
|
|
58
|
-
"@loaders.gl/loader-utils": "4.4.0-alpha.
|
|
59
|
-
"@loaders.gl/schema": "4.4.0-alpha.
|
|
60
|
-
"@loaders.gl/worker-utils": "4.4.0-alpha.
|
|
78
|
+
"@loaders.gl/images": "4.4.0-alpha.9",
|
|
79
|
+
"@loaders.gl/loader-utils": "4.4.0-alpha.9",
|
|
80
|
+
"@loaders.gl/schema": "4.4.0-alpha.9",
|
|
81
|
+
"@loaders.gl/worker-utils": "4.4.0-alpha.9",
|
|
61
82
|
"@math.gl/types": "^4.1.0",
|
|
62
83
|
"ktx-parse": "^0.7.0",
|
|
63
84
|
"texture-compressor": "^1.0.2"
|
|
64
85
|
},
|
|
65
86
|
"peerDependencies": {
|
|
66
|
-
"@loaders.gl/core": "4.4.0-alpha.
|
|
87
|
+
"@loaders.gl/core": "4.4.0-alpha.1"
|
|
67
88
|
},
|
|
68
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "e9e6710379718c7663e97eba868c76e15de4cb84"
|
|
69
90
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
// Classic-worker entrypoint that lazily loads the ESM worker implementation.
|
|
6
|
+
// This keeps `importScripts` available in the worker (used by library loading).
|
|
7
|
+
import(new URL('./workers/basis-worker.js', import.meta.url).toString());
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
|
-
import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
5
|
+
import type {Loader, LoaderWithParser, StrictLoaderOptions} from '@loaders.gl/loader-utils';
|
|
6
6
|
import {VERSION} from './lib/utils/version';
|
|
7
7
|
import {parseCompressedTexture} from './lib/parsers/parse-compressed-texture';
|
|
8
8
|
import {parseBasis} from './lib/parsers/parse-basis';
|
|
9
9
|
|
|
10
10
|
/** Options for the CompressedTextureLoader */
|
|
11
|
-
export type CompressedTextureLoaderOptions = {
|
|
11
|
+
export type CompressedTextureLoaderOptions = StrictLoaderOptions & {
|
|
12
12
|
'compressed-texture'?: {
|
|
13
13
|
/** @deprecated Specify path to libraries */
|
|
14
14
|
libraryPath?: string;
|
|
@@ -59,14 +59,13 @@ export const CompressedTextureWorkerLoader = {
|
|
|
59
59
|
export const CompressedTextureLoader = {
|
|
60
60
|
...CompressedTextureWorkerLoader,
|
|
61
61
|
parse: async (arrayBuffer: ArrayBuffer, options?: CompressedTextureLoaderOptions) => {
|
|
62
|
+
options = {...options};
|
|
62
63
|
if (options?.['compressed-texture']?.useBasis) {
|
|
63
|
-
// @ts-expect-error TODO not allowed to modify inputs
|
|
64
64
|
options.basis = {
|
|
65
65
|
format: {
|
|
66
66
|
alpha: 'BC3',
|
|
67
67
|
noAlpha: 'BC1'
|
|
68
68
|
},
|
|
69
|
-
// @ts-expect-error TODO not allowed to modify inputs
|
|
70
69
|
...options.basis,
|
|
71
70
|
containerFormat: 'ktx2',
|
|
72
71
|
module: 'encoder'
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import type {ImageDataType} from '@loaders.gl/images';
|
|
6
6
|
import {loadBasisEncoderModule} from '../parsers/basis-module-loader';
|
|
7
|
+
import {type KTX2BasisWriterOptions} from '../../ktx2-basis-writer';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Encodes image to Basis Universal Supercompressed GPU Texture.
|
|
@@ -14,7 +15,7 @@ import {loadBasisEncoderModule} from '../parsers/basis-module-loader';
|
|
|
14
15
|
*/
|
|
15
16
|
export async function encodeKTX2BasisTexture(
|
|
16
17
|
image: ImageDataType,
|
|
17
|
-
options:
|
|
18
|
+
options: KTX2BasisWriterOptions = {}
|
|
18
19
|
): Promise<ArrayBuffer> {
|
|
19
20
|
// TODO remove default values after writer options will be normalized like it done in load module.
|
|
20
21
|
const {
|
|
@@ -23,7 +24,7 @@ export async function encodeKTX2BasisTexture(
|
|
|
23
24
|
encodeUASTC = false,
|
|
24
25
|
mipmaps = false
|
|
25
26
|
} = options?.['ktx2-basis-writer'] || {};
|
|
26
|
-
const {BasisEncoder} = await loadBasisEncoderModule(options);
|
|
27
|
+
const {BasisEncoder} = await loadBasisEncoderModule(options.core || {});
|
|
27
28
|
const basisEncoder = new BasisEncoder();
|
|
28
29
|
|
|
29
30
|
try {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
5
|
import {registerJSModules, getJSModuleOrNull} from '@loaders.gl/loader-utils';
|
|
6
|
-
import {loadLibrary} from '@loaders.gl/worker-utils';
|
|
6
|
+
import {loadLibrary, LoadLibraryOptions} from '@loaders.gl/worker-utils';
|
|
7
7
|
|
|
8
8
|
export const BASIS_EXTERNAL_LIBRARIES = {
|
|
9
9
|
/** Basis transcoder, javascript wrapper part */
|
|
@@ -23,7 +23,7 @@ let loadBasisTranscoderPromise;
|
|
|
23
23
|
* @param options
|
|
24
24
|
* @returns {BasisFile} promise
|
|
25
25
|
*/
|
|
26
|
-
export async function loadBasisTranscoderModule(options) {
|
|
26
|
+
export async function loadBasisTranscoderModule(options: LoadLibraryOptions) {
|
|
27
27
|
registerJSModules(options.modules);
|
|
28
28
|
const basis = getJSModuleOrNull('basis');
|
|
29
29
|
if (basis) {
|
|
@@ -39,7 +39,7 @@ export async function loadBasisTranscoderModule(options) {
|
|
|
39
39
|
* @param options
|
|
40
40
|
* @returns {BasisFile} promise
|
|
41
41
|
*/
|
|
42
|
-
async function loadBasisTranscoder(options) {
|
|
42
|
+
async function loadBasisTranscoder(options: LoadLibraryOptions) {
|
|
43
43
|
let BASIS = null;
|
|
44
44
|
let wasmBinary = null;
|
|
45
45
|
|
|
@@ -84,7 +84,7 @@ let loadBasisEncoderPromise;
|
|
|
84
84
|
* @param options
|
|
85
85
|
* @returns {BasisFile, KTX2File} promise
|
|
86
86
|
*/
|
|
87
|
-
export async function loadBasisEncoderModule(options) {
|
|
87
|
+
export async function loadBasisEncoderModule(options: LoadLibraryOptions) {
|
|
88
88
|
const modules = options.modules || {};
|
|
89
89
|
if (modules.basisEncoder) {
|
|
90
90
|
return modules.basisEncoder;
|
|
@@ -99,7 +99,7 @@ export async function loadBasisEncoderModule(options) {
|
|
|
99
99
|
* @param options
|
|
100
100
|
* @returns {BasisFile, KTX2File} promise
|
|
101
101
|
*/
|
|
102
|
-
async function loadBasisEncoder(options) {
|
|
102
|
+
async function loadBasisEncoder(options: LoadLibraryOptions) {
|
|
103
103
|
let BASIS_ENCODER = null;
|
|
104
104
|
let wasmBinary = null;
|
|
105
105
|
|
|
@@ -9,6 +9,9 @@ import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';
|
|
|
9
9
|
import {getSupportedGPUTextureFormats} from '../utils/texture-formats';
|
|
10
10
|
import {isKTX} from './parse-ktx';
|
|
11
11
|
|
|
12
|
+
// TODO - circular type import
|
|
13
|
+
import type {BasisLoaderOptions} from '../../basis-loader';
|
|
14
|
+
|
|
12
15
|
export type BasisFormat =
|
|
13
16
|
| 'etc1'
|
|
14
17
|
| 'etc2'
|
|
@@ -78,24 +81,35 @@ const OutputFormat: Record<string, BasisOutputOptions> = {
|
|
|
78
81
|
rgba4444: {basisFormat: 16, compressed: false}
|
|
79
82
|
};
|
|
80
83
|
|
|
84
|
+
export type ParseBasisOptions = {
|
|
85
|
+
format: 'auto' | BasisFormat | {alpha: BasisFormat; noAlpha: BasisFormat};
|
|
86
|
+
libraryPath?: string;
|
|
87
|
+
containerFormat: 'auto' | 'ktx2' | 'basis';
|
|
88
|
+
module: 'transcoder' | 'encoder';
|
|
89
|
+
};
|
|
90
|
+
|
|
81
91
|
/**
|
|
82
92
|
* parse data with a Binomial Basis_Universal module
|
|
83
93
|
* @param data
|
|
84
94
|
* @param options
|
|
85
95
|
* @returns compressed texture data
|
|
86
96
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
97
|
+
// eslint-disable-next-line complexity
|
|
98
|
+
export async function parseBasis(
|
|
99
|
+
data: ArrayBuffer,
|
|
100
|
+
options: BasisLoaderOptions = {}
|
|
101
|
+
): Promise<TextureLevel[][]> {
|
|
102
|
+
if (!options.basis?.containerFormat || options.basis.containerFormat === 'auto') {
|
|
89
103
|
if (isKTX(data)) {
|
|
90
|
-
const fileConstructors = await loadBasisEncoderModule(options);
|
|
104
|
+
const fileConstructors = await loadBasisEncoderModule(options?.core || {});
|
|
91
105
|
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
92
106
|
}
|
|
93
|
-
const {BasisFile} = await loadBasisTranscoderModule(options);
|
|
107
|
+
const {BasisFile} = await loadBasisTranscoderModule(options?.core || {});
|
|
94
108
|
return parseBasisFile(BasisFile, data, options);
|
|
95
109
|
}
|
|
96
110
|
switch (options.basis.module) {
|
|
97
111
|
case 'encoder':
|
|
98
|
-
const fileConstructors = await loadBasisEncoderModule(options);
|
|
112
|
+
const fileConstructors = await loadBasisEncoderModule(options?.core || {});
|
|
99
113
|
switch (options.basis.containerFormat) {
|
|
100
114
|
case 'ktx2':
|
|
101
115
|
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
@@ -105,7 +119,7 @@ export async function parseBasis(data: ArrayBuffer, options): Promise<TextureLev
|
|
|
105
119
|
}
|
|
106
120
|
case 'transcoder':
|
|
107
121
|
default:
|
|
108
|
-
const {BasisFile} = await loadBasisTranscoderModule(options);
|
|
122
|
+
const {BasisFile} = await loadBasisTranscoderModule(options.core || {});
|
|
109
123
|
return parseBasisFile(BasisFile, data, options);
|
|
110
124
|
}
|
|
111
125
|
}
|
|
@@ -117,7 +131,11 @@ export async function parseBasis(data: ArrayBuffer, options): Promise<TextureLev
|
|
|
117
131
|
* @param options
|
|
118
132
|
* @returns compressed texture data
|
|
119
133
|
*/
|
|
120
|
-
function parseBasisFile(
|
|
134
|
+
function parseBasisFile(
|
|
135
|
+
BasisFile,
|
|
136
|
+
data: ArrayBuffer,
|
|
137
|
+
options: BasisLoaderOptions
|
|
138
|
+
): TextureLevel[][] {
|
|
121
139
|
const basisFile = new BasisFile(new Uint8Array(data));
|
|
122
140
|
|
|
123
141
|
try {
|
|
@@ -154,7 +172,12 @@ function parseBasisFile(BasisFile, data, options): TextureLevel[][] {
|
|
|
154
172
|
* @param options
|
|
155
173
|
* @returns compressed texture data
|
|
156
174
|
*/
|
|
157
|
-
function transcodeImage(
|
|
175
|
+
function transcodeImage(
|
|
176
|
+
basisFile,
|
|
177
|
+
imageIndex: number,
|
|
178
|
+
levelIndex: number,
|
|
179
|
+
options: BasisLoaderOptions
|
|
180
|
+
): TextureLevel {
|
|
158
181
|
const width = basisFile.getImageWidth(imageIndex, levelIndex);
|
|
159
182
|
const height = basisFile.getImageHeight(imageIndex, levelIndex);
|
|
160
183
|
|
|
@@ -192,7 +215,7 @@ function transcodeImage(basisFile, imageIndex, levelIndex, options): TextureLeve
|
|
|
192
215
|
* @param options
|
|
193
216
|
* @returns compressed texture data
|
|
194
217
|
*/
|
|
195
|
-
function parseKTX2File(KTX2File, data: ArrayBuffer, options): TextureLevel[][] {
|
|
218
|
+
function parseKTX2File(KTX2File, data: ArrayBuffer, options: BasisLoaderOptions): TextureLevel[][] {
|
|
196
219
|
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
197
220
|
|
|
198
221
|
try {
|
|
@@ -220,7 +243,11 @@ function parseKTX2File(KTX2File, data: ArrayBuffer, options): TextureLevel[][] {
|
|
|
220
243
|
* @param options
|
|
221
244
|
* @returns
|
|
222
245
|
*/
|
|
223
|
-
function transcodeKTX2Image(
|
|
246
|
+
function transcodeKTX2Image(
|
|
247
|
+
ktx2File,
|
|
248
|
+
levelIndex: number,
|
|
249
|
+
options: BasisLoaderOptions
|
|
250
|
+
): TextureLevel {
|
|
224
251
|
const {alphaFlag, height, width} = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
|
|
225
252
|
|
|
226
253
|
// Check options for output format etc
|
|
@@ -269,8 +296,9 @@ function transcodeKTX2Image(ktx2File, levelIndex: number, options): TextureLevel
|
|
|
269
296
|
* @param hasAlpha
|
|
270
297
|
* @returns BasisFormat data
|
|
271
298
|
*/
|
|
272
|
-
function getBasisOptions(options, hasAlpha: boolean): BasisOutputOptions {
|
|
273
|
-
|
|
299
|
+
function getBasisOptions(options: BasisLoaderOptions, hasAlpha: boolean): BasisOutputOptions {
|
|
300
|
+
// TODO - any
|
|
301
|
+
let format: any = options.basis?.format;
|
|
274
302
|
if (format === 'auto') {
|
|
275
303
|
format = selectSupportedBasisFormat();
|
|
276
304
|
}
|