@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
package/README.md
CHANGED
|
@@ -2,6 +2,202 @@
|
|
|
2
2
|
|
|
3
3
|
[loaders.gl](https://loaders.gl/docs) is a collection of framework-independent 3D and geospatial parsers and encoders.
|
|
4
4
|
|
|
5
|
-
This module contains loaders for compressed textures and [basis universal textures](https://github.com/BinomialLLC/basis_universal).
|
|
5
|
+
This module contains loaders for compressed textures, Radiance HDR textures, and [basis universal textures](https://github.com/BinomialLLC/basis_universal).
|
|
6
|
+
|
|
7
|
+
## Texture Levels
|
|
8
|
+
|
|
9
|
+
`BasisLoader` returns `TextureLevel[][]` and preserves every image stored in a `.basis` or `.ktx2` file.
|
|
10
|
+
|
|
11
|
+
`CompressedTextureLoader` returns `TextureLevel[]` for KTX, DDS and PVR container formats.
|
|
12
|
+
|
|
13
|
+
`CrunchLoader` returns `TextureLevel[]` for Crunch mip chains.
|
|
14
|
+
|
|
15
|
+
`RadianceHDRLoader` returns a `Texture` with `shape: 'texture'`, `type: '2d'`, and one decoded `rgba32float` level for Radiance `.hdr` images.
|
|
16
|
+
|
|
17
|
+
Each returned `TextureLevel` now exposes:
|
|
18
|
+
|
|
19
|
+
- `shape`: always `'texture-level'`. <img src="https://img.shields.io/badge/From-v4.4-blue.svg?style=flat-square" alt="From-v4.4" />
|
|
20
|
+
- `format`: the corresponding WebGL internal format number. <img src="https://img.shields.io/badge/From-v4.4-blue.svg?style=flat-square" alt="From-v4.4" />
|
|
21
|
+
- `textureFormat`: the corresponding luma.gl / WebGPU-style texture format string. <img src="https://img.shields.io/badge/From-v4.4-blue.svg?style=flat-square" alt="From-v4.4" />
|
|
22
|
+
- `data`: a typed array containing the mip level payload. Compressed textures expose byte data, while `RadianceHDRLoader` exposes `Float32Array`.
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import {load} from '@loaders.gl/core';
|
|
26
|
+
import {BasisLoader} from '@loaders.gl/textures';
|
|
27
|
+
|
|
28
|
+
const images = await load('texture.ktx2', BasisLoader);
|
|
29
|
+
|
|
30
|
+
console.log(images[0][0].shape);
|
|
31
|
+
console.log(images[0][0].format);
|
|
32
|
+
console.log(images[0][0].textureFormat);
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Use `format` when you need the WebGL enum for legacy APIs. Use `textureFormat` when creating textures through WebGPU-style or luma.gl APIs.
|
|
36
|
+
|
|
37
|
+
When `basis.format` is set to `'auto'`, you can override the default capability detection by passing a list of supported texture formats:
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
import {load} from '@loaders.gl/core';
|
|
41
|
+
import {BasisLoader} from '@loaders.gl/textures';
|
|
42
|
+
|
|
43
|
+
const images = await load('texture.basis', BasisLoader, {
|
|
44
|
+
basis: {
|
|
45
|
+
format: 'auto',
|
|
46
|
+
supportedTextureFormats: ['bc3-rgba-unorm']
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
console.log(images[0][0].format);
|
|
51
|
+
console.log(images[0][0].textureFormat);
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Composite Image Texture Loaders
|
|
55
|
+
|
|
56
|
+
The `textures` module also exports JSON manifest loaders for image-based composite textures:
|
|
57
|
+
|
|
58
|
+
- `TextureLoader` for a single image or mip chain
|
|
59
|
+
- `TextureArrayLoader` for texture arrays
|
|
60
|
+
- `TextureCubeLoader` for cubemaps
|
|
61
|
+
- `TextureCubeArrayLoader` for cube arrays
|
|
62
|
+
|
|
63
|
+
Each manifest includes a `shape` discriminator and resolves relative member URLs against the manifest URL.
|
|
64
|
+
Member assets are parsed with `ImageLoader` by default, and additional loaders passed to top-level `load()` are also available for manifest members.
|
|
65
|
+
These loaders return schema `Texture` objects rather than raw image trees.
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
import {load} from '@loaders.gl/core';
|
|
69
|
+
import {BasisLoader, CompressedTextureLoader, TextureCubeLoader} from '@loaders.gl/textures';
|
|
70
|
+
|
|
71
|
+
const imageCube = await load('environment.image-texture-cube.json', [
|
|
72
|
+
TextureCubeLoader,
|
|
73
|
+
CompressedTextureLoader,
|
|
74
|
+
BasisLoader
|
|
75
|
+
]);
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Manifest Shapes
|
|
79
|
+
|
|
80
|
+
Single image:
|
|
81
|
+
|
|
82
|
+
```json
|
|
83
|
+
{
|
|
84
|
+
"shape": "image-texture",
|
|
85
|
+
"image": "texture.png"
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Single image with mipmaps:
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"shape": "image-texture",
|
|
94
|
+
"mipmaps": ["texture-0.png", "texture-1.png", "texture-2.png"]
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Texture array:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"shape": "image-texture-array",
|
|
103
|
+
"layers": ["layer-0.png", "layer-1.png"]
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Texture array with mipmaps:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"shape": "image-texture-array",
|
|
112
|
+
"layers": [
|
|
113
|
+
["layer-0-0.png", "layer-0-1.png"],
|
|
114
|
+
["layer-1-0.png", "layer-1-1.png"]
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Cubemap:
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"shape": "image-texture-cube",
|
|
124
|
+
"faces": {
|
|
125
|
+
"+X": "right.png",
|
|
126
|
+
"-X": "left.png",
|
|
127
|
+
"+Y": "top.png",
|
|
128
|
+
"-Y": "bottom.png",
|
|
129
|
+
"+Z": "front.png",
|
|
130
|
+
"-Z": "back.png"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Cubemap with mipmaps:
|
|
136
|
+
|
|
137
|
+
```json
|
|
138
|
+
{
|
|
139
|
+
"shape": "image-texture-cube",
|
|
140
|
+
"faces": {
|
|
141
|
+
"+X": ["right-0.png", "right-1.png"],
|
|
142
|
+
"-X": ["left-0.png", "left-1.png"],
|
|
143
|
+
"+Y": ["top-0.png", "top-1.png"],
|
|
144
|
+
"-Y": ["bottom-0.png", "bottom-1.png"],
|
|
145
|
+
"+Z": ["front-0.png", "front-1.png"],
|
|
146
|
+
"-Z": ["back-0.png", "back-1.png"]
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Cube array:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"shape": "image-texture-cube-array",
|
|
156
|
+
"layers": [
|
|
157
|
+
{
|
|
158
|
+
"faces": {
|
|
159
|
+
"+X": "sky-right.png",
|
|
160
|
+
"-X": "sky-left.png",
|
|
161
|
+
"+Y": "sky-top.png",
|
|
162
|
+
"-Y": "sky-bottom.png",
|
|
163
|
+
"+Z": "sky-front.png",
|
|
164
|
+
"-Z": "sky-back.png"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"faces": {
|
|
169
|
+
"+X": "irr-right.png",
|
|
170
|
+
"-X": "irr-left.png",
|
|
171
|
+
"+Y": "irr-top.png",
|
|
172
|
+
"-Y": "irr-bottom.png",
|
|
173
|
+
"+Z": "irr-front.png",
|
|
174
|
+
"-Z": "irr-back.png"
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
]
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Template-driven mipmaps:
|
|
182
|
+
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"shape": "image-texture",
|
|
186
|
+
"mipLevels": "auto",
|
|
187
|
+
"template": "texture-{lod}.png"
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Template placeholders are validated strictly. Supported placeholders are:
|
|
192
|
+
|
|
193
|
+
- `{lod}` for mip level
|
|
194
|
+
- `{index}` for array or cube-array layer index
|
|
195
|
+
- `{face}`, `{direction}`, `{axis}`, `{sign}` for cubemap faces
|
|
196
|
+
|
|
197
|
+
Use `\\{` and `\\}` to include literal braces in filenames.
|
|
198
|
+
|
|
199
|
+
Cube manifests use luma.gl-style face names: `'+X'`, `'-X'`, `'+Y'`, `'-Y'`, `'+Z'`, `'-Z'`. Directional aliases such as `right`, `left`, `top`, `bottom`, `front`, and `back` are still accepted for compatibility, but new manifests should use the luma.gl names.
|
|
200
|
+
|
|
201
|
+
If you parse an in-memory manifest instead of loading from a URL, provide `options.core.baseUrl` so relative member URLs can still be resolved.
|
|
6
202
|
|
|
7
203
|
For documentation please visit the [website](https://loaders.gl).
|
package/dist/basis-loader.d.ts
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
import type { LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
-
import type { TextureLevel } from '@loaders.gl/schema';
|
|
2
|
+
import type { TextureFormat, TextureLevel } from '@loaders.gl/schema';
|
|
3
3
|
import { parseBasis } from "./lib/parsers/parse-basis.js";
|
|
4
|
+
import type { BasisFormat } from "./lib/parsers/parse-basis.js";
|
|
5
|
+
type BasisFormatOption = BasisFormat | Uppercase<BasisFormat>;
|
|
6
|
+
type BasisTargetFormat = 'auto' | BasisFormatOption | {
|
|
7
|
+
alpha: BasisFormatOption;
|
|
8
|
+
noAlpha: BasisFormatOption;
|
|
9
|
+
};
|
|
4
10
|
/** Options for the BasisLoader */
|
|
5
11
|
export type BasisLoaderOptions = LoaderOptions & {
|
|
6
12
|
/** Options for the BasisLoader */
|
|
7
13
|
basis?: {
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
|
|
14
|
+
/** Supported texture formats - app would typically query a WebGPU device or WebGL context to obtain the list of supported formats.*/
|
|
15
|
+
supportedTextureFormats?: TextureFormat[];
|
|
16
|
+
/** Override the URL to the worker bundle (by default loads from unpkg.com) */
|
|
17
|
+
workerUrl?: string;
|
|
12
18
|
/** What container format is used? */
|
|
13
|
-
containerFormat
|
|
19
|
+
containerFormat?: 'auto' | 'ktx2' | 'basis';
|
|
20
|
+
/** Format for texture data. auto selects based on platform caps (but gl context doesn't exist on a worker thread) */
|
|
21
|
+
format?: BasisTargetFormat;
|
|
14
22
|
/** What module to use for transcoding? */
|
|
15
23
|
module?: 'transcoder' | 'encoder';
|
|
16
|
-
/** Override the URL to the worker bundle (by default loads from unpkg.com) */
|
|
17
|
-
workerUrl?: string;
|
|
18
24
|
};
|
|
19
25
|
};
|
|
20
26
|
/**
|
|
@@ -35,7 +41,6 @@ export declare const BasisWorkerLoader: {
|
|
|
35
41
|
readonly options: {
|
|
36
42
|
readonly basis: {
|
|
37
43
|
readonly format: "auto";
|
|
38
|
-
readonly libraryPath: "libs/";
|
|
39
44
|
readonly containerFormat: "auto";
|
|
40
45
|
readonly module: "transcoder";
|
|
41
46
|
};
|
|
@@ -60,10 +65,10 @@ export declare const BasisLoader: {
|
|
|
60
65
|
readonly options: {
|
|
61
66
|
readonly basis: {
|
|
62
67
|
readonly format: "auto";
|
|
63
|
-
readonly libraryPath: "libs/";
|
|
64
68
|
readonly containerFormat: "auto";
|
|
65
69
|
readonly module: "transcoder";
|
|
66
70
|
};
|
|
67
71
|
};
|
|
68
72
|
};
|
|
73
|
+
export {};
|
|
69
74
|
//# sourceMappingURL=basis-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basis-loader.d.ts","sourceRoot":"","sources":["../src/basis-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAS,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"basis-loader.d.ts","sourceRoot":"","sources":["../src/basis-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAS,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAC,UAAU,EAAC,qCAAkC;AACrD,OAAO,KAAK,EAAC,WAAW,EAAC,qCAAkC;AAE3D,KAAK,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAC9D,KAAK,iBAAiB,GAClB,MAAM,GACN,iBAAiB,GACjB;IACE,KAAK,EAAE,iBAAiB,CAAC;IACzB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEN,kCAAkC;AAClC,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,kCAAkC;IAClC,KAAK,CAAC,EAAE;QACN,qIAAqI;QACrI,uBAAuB,CAAC,EAAE,aAAa,EAAE,CAAC;QAC1C,8EAA8E;QAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,qCAAqC;QACrC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC5C,qHAAqH;QACrH,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,0CAA0C;QAC1C,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;KACnC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB;uBACC,YAAY,EAAE,EAAE;wBAC1B,KAAK;;;;;;;;;;;;;;;;;CAkB8C,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,WAAW;;uBAxBO,YAAY,EAAE,EAAE;wBAC1B,KAAK;;;;;;;;;;;;;;;;;CA0BmD,CAAC"}
|
package/dist/basis-loader.js
CHANGED
|
@@ -21,7 +21,6 @@ export const BasisWorkerLoader = {
|
|
|
21
21
|
options: {
|
|
22
22
|
basis: {
|
|
23
23
|
format: 'auto',
|
|
24
|
-
libraryPath: 'libs/',
|
|
25
24
|
containerFormat: 'auto',
|
|
26
25
|
module: 'transcoder'
|
|
27
26
|
}
|
|
@@ -34,3 +33,4 @@ export const BasisLoader = {
|
|
|
34
33
|
...BasisWorkerLoader,
|
|
35
34
|
parse: parseBasis
|
|
36
35
|
};
|
|
36
|
+
//# sourceMappingURL=basis-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basis-loader.js","sourceRoot":"","sources":["../src/basis-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,OAAO,EAAC,+BAA4B;AAC5C,OAAO,EAAC,UAAU,EAAC,qCAAkC;AA8BrD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,IAAmC;IAC7C,SAAS,EAAE,IAAa;IAExB,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,OAAO;IACX,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,CAAC,0BAA0B,EAAE,YAAY,CAAC;IACrD,KAAK,EAAE,CAAC,IAAI,CAAC;IACb,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,MAAM;YACd,eAAe,EAAE,MAAM;YACvB,MAAM,EAAE,YAAY;SACrB;KACF;CACqE,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,iBAAiB;IACpB,KAAK,EAAE,UAAU;CAC0D,CAAC"}
|