@luma.gl/core 9.0.0-alpha.9 → 9.0.0-beta.2
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/LICENSE +3 -1
- package/README.md +4 -4
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.d.ts +52 -0
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.d.ts.map +1 -0
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.js +130 -0
- package/dist/adapter/attribute-utils/get-attribute-from-layouts.js.map +1 -0
- package/dist/adapter/canvas-context.d.ts +109 -0
- package/dist/adapter/canvas-context.d.ts.map +1 -0
- package/dist/adapter/canvas-context.js +254 -0
- package/dist/adapter/canvas-context.js.map +1 -0
- package/dist/adapter/device.d.ts +219 -0
- package/dist/adapter/device.d.ts.map +1 -0
- package/dist/adapter/device.js +99 -0
- package/dist/adapter/device.js.map +1 -0
- package/dist/adapter/resources/buffer.d.ts +56 -0
- package/dist/adapter/resources/buffer.d.ts.map +1 -0
- package/dist/adapter/resources/buffer.js +62 -0
- package/dist/adapter/resources/buffer.js.map +1 -0
- package/dist/adapter/resources/command-buffer.d.ts +12 -0
- package/dist/adapter/resources/command-buffer.d.ts.map +1 -0
- package/dist/adapter/resources/command-buffer.js +15 -0
- package/dist/adapter/resources/command-buffer.js.map +1 -0
- package/dist/adapter/resources/command-encoder.d.ts +113 -0
- package/dist/adapter/resources/command-encoder.d.ts.map +1 -0
- package/dist/adapter/resources/command-encoder.js +19 -0
- package/dist/adapter/resources/command-encoder.js.map +1 -0
- package/dist/adapter/resources/compute-pass.d.ts +31 -0
- package/dist/adapter/resources/compute-pass.d.ts.map +1 -0
- package/dist/adapter/resources/compute-pass.js +15 -0
- package/dist/adapter/resources/compute-pass.js.map +1 -0
- package/dist/adapter/resources/compute-pipeline.d.ts +24 -0
- package/dist/adapter/resources/compute-pipeline.d.ts.map +1 -0
- package/dist/adapter/resources/compute-pipeline.js +20 -0
- package/dist/adapter/resources/compute-pipeline.js.map +1 -0
- package/dist/adapter/resources/external-texture.d.ts +12 -0
- package/dist/adapter/resources/external-texture.d.ts.map +1 -0
- package/dist/adapter/resources/external-texture.js +17 -0
- package/dist/adapter/resources/external-texture.js.map +1 -0
- package/dist/adapter/resources/framebuffer.d.ts +50 -0
- package/dist/adapter/resources/framebuffer.d.ts.map +1 -0
- package/dist/adapter/resources/framebuffer.js +102 -0
- package/dist/adapter/resources/framebuffer.js.map +1 -0
- package/dist/adapter/resources/render-pass.d.ts +51 -0
- package/dist/adapter/resources/render-pass.d.ts.map +1 -0
- package/dist/adapter/resources/render-pass.js +23 -0
- package/dist/adapter/resources/render-pass.js.map +1 -0
- package/dist/adapter/resources/render-pipeline.d.ts +89 -0
- package/dist/adapter/resources/render-pipeline.d.ts.map +1 -0
- package/dist/adapter/resources/render-pipeline.js +36 -0
- package/dist/adapter/resources/render-pipeline.js.map +1 -0
- package/dist/adapter/resources/resource.d.ts +73 -0
- package/dist/adapter/resources/resource.d.ts.map +1 -0
- package/dist/adapter/resources/resource.js +101 -0
- package/dist/adapter/resources/resource.js.map +1 -0
- package/dist/adapter/resources/sampler.d.ts +42 -0
- package/dist/adapter/resources/sampler.d.ts.map +1 -0
- package/dist/adapter/resources/sampler.js +26 -0
- package/dist/adapter/resources/sampler.js.map +1 -0
- package/dist/adapter/resources/shader.d.ts +45 -0
- package/dist/adapter/resources/shader.d.ts.map +1 -0
- package/dist/adapter/resources/shader.js +90 -0
- package/dist/adapter/resources/shader.js.map +1 -0
- package/dist/adapter/resources/texture.d.ts +90 -0
- package/dist/adapter/resources/texture.d.ts.map +1 -0
- package/dist/adapter/resources/texture.js +45 -0
- package/dist/adapter/resources/texture.js.map +1 -0
- package/dist/adapter/resources/transform-feedback.d.ts +30 -0
- package/dist/adapter/resources/transform-feedback.d.ts.map +1 -0
- package/dist/adapter/resources/transform-feedback.js +17 -0
- package/dist/adapter/resources/transform-feedback.js.map +1 -0
- package/dist/adapter/resources/vertex-array.d.ts +40 -0
- package/dist/adapter/resources/vertex-array.d.ts.map +1 -0
- package/dist/adapter/resources/vertex-array.js +24 -0
- package/dist/adapter/resources/vertex-array.js.map +1 -0
- package/dist/adapter/type-utils/decode-attribute-type.d.ts +20 -0
- package/dist/adapter/type-utils/decode-attribute-type.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-attribute-type.js +60 -0
- package/dist/adapter/type-utils/decode-attribute-type.js.map +1 -0
- package/dist/adapter/type-utils/decode-data-type.d.ts +16 -0
- package/dist/adapter/type-utils/decode-data-type.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-data-type.js +43 -0
- package/dist/adapter/type-utils/decode-data-type.js.map +1 -0
- package/dist/adapter/type-utils/decode-shader-types.d.ts +9 -0
- package/dist/adapter/type-utils/decode-shader-types.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-shader-types.js +103 -0
- package/dist/adapter/type-utils/decode-shader-types.js.map +1 -0
- package/dist/adapter/type-utils/decode-texture-format.d.ts +19 -0
- package/dist/adapter/type-utils/decode-texture-format.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-texture-format.js +101 -0
- package/dist/adapter/type-utils/decode-texture-format.js.map +1 -0
- package/dist/adapter/type-utils/decode-vertex-format.d.ts +22 -0
- package/dist/adapter/type-utils/decode-vertex-format.d.ts.map +1 -0
- package/dist/adapter/type-utils/decode-vertex-format.js +25 -0
- package/dist/adapter/type-utils/decode-vertex-format.js.map +1 -0
- package/dist/adapter/type-utils/vertex-format-from-attribute.d.ts +10 -0
- package/dist/adapter/type-utils/vertex-format-from-attribute.d.ts.map +1 -0
- package/dist/adapter/type-utils/vertex-format-from-attribute.js +76 -0
- package/dist/adapter/type-utils/vertex-format-from-attribute.js.map +1 -0
- package/dist/adapter/type-utils/wgsl-utils.d.ts +4 -0
- package/dist/adapter/type-utils/wgsl-utils.d.ts.map +1 -0
- package/dist/adapter/type-utils/wgsl-utils.js +15 -0
- package/dist/adapter/type-utils/wgsl-utils.js.map +1 -0
- package/dist/adapter/types/accessor.d.ts +23 -0
- package/dist/adapter/types/accessor.d.ts.map +1 -0
- package/dist/adapter/types/accessor.js +2 -0
- package/dist/adapter/types/accessor.js.map +1 -0
- package/dist/adapter/types/buffer-layout.d.ts +59 -0
- package/dist/adapter/types/buffer-layout.d.ts.map +1 -0
- package/dist/adapter/types/buffer-layout.js +2 -0
- package/dist/adapter/types/buffer-layout.js.map +1 -0
- package/dist/adapter/types/parameters.d.ts +97 -0
- package/dist/adapter/types/parameters.d.ts.map +1 -0
- package/dist/adapter/types/parameters.js +28 -0
- package/dist/adapter/types/parameters.js.map +1 -0
- package/dist/adapter/types/shader-layout.d.ts +145 -0
- package/dist/adapter/types/shader-layout.d.ts.map +1 -0
- package/dist/adapter/types/shader-layout.js +2 -0
- package/dist/adapter/types/shader-layout.js.map +1 -0
- package/dist/adapter/types/shader-types.d.ts +21 -0
- package/dist/adapter/types/shader-types.d.ts.map +1 -0
- package/dist/adapter/types/shader-types.js +2 -0
- package/dist/adapter/types/shader-types.js.map +1 -0
- package/dist/adapter/types/texture-formats.d.ts +12 -0
- package/dist/adapter/types/texture-formats.d.ts.map +1 -0
- package/dist/adapter/types/texture-formats.js +2 -0
- package/dist/adapter/types/texture-formats.js.map +1 -0
- package/dist/adapter/types/types.d.ts +90 -0
- package/dist/adapter/types/types.d.ts.map +1 -0
- package/dist/adapter/types/types.js +2 -0
- package/dist/adapter/types/types.js.map +1 -0
- package/dist/adapter/types/vertex-formats.d.ts +14 -0
- package/dist/adapter/types/vertex-formats.d.ts.map +1 -0
- package/dist/adapter/types/vertex-formats.js +2 -0
- package/dist/adapter/types/vertex-formats.js.map +1 -0
- package/dist/dist.dev.js +2976 -0
- package/dist/index.cjs +2445 -0
- package/dist/index.d.ts +81 -128
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -18
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +5 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +24 -0
- package/dist/init.js.map +1 -0
- package/dist/lib/compiler-log/compiler-message.d.ts +8 -0
- package/dist/lib/compiler-log/compiler-message.d.ts.map +1 -0
- package/dist/lib/compiler-log/compiler-message.js +2 -0
- package/dist/lib/compiler-log/compiler-message.js.map +1 -0
- package/dist/lib/compiler-log/format-compiler-log.d.ts +8 -0
- package/dist/lib/compiler-log/format-compiler-log.d.ts.map +1 -0
- package/dist/lib/compiler-log/format-compiler-log.js +64 -0
- package/dist/lib/compiler-log/format-compiler-log.js.map +1 -0
- package/dist/lib/compiler-log/get-shader-info.d.ts +9 -0
- package/dist/lib/compiler-log/get-shader-info.d.ts.map +1 -0
- package/dist/lib/compiler-log/get-shader-info.js +25 -0
- package/dist/lib/compiler-log/get-shader-info.js.map +1 -0
- package/dist/lib/luma.d.ts +22 -0
- package/dist/lib/luma.d.ts.map +1 -0
- package/dist/lib/luma.js +63 -0
- package/dist/lib/luma.js.map +1 -0
- package/dist/lib/uniforms/uniform-block.d.ts +29 -0
- package/dist/lib/uniforms/uniform-block.d.ts.map +1 -0
- package/dist/lib/uniforms/uniform-block.js +48 -0
- package/dist/lib/uniforms/uniform-block.js.map +1 -0
- package/dist/lib/uniforms/uniform-buffer-layout.d.ts +27 -0
- package/dist/lib/uniforms/uniform-buffer-layout.d.ts.map +1 -0
- package/dist/lib/uniforms/uniform-buffer-layout.js +76 -0
- package/dist/lib/uniforms/uniform-buffer-layout.js.map +1 -0
- package/dist/lib/uniforms/uniform-store.d.ts +62 -0
- package/dist/lib/uniforms/uniform-store.d.ts.map +1 -0
- package/dist/lib/uniforms/uniform-store.js +89 -0
- package/dist/lib/uniforms/uniform-store.js.map +1 -0
- package/dist/lib/uniforms/uniform.d.ts +10 -0
- package/dist/lib/uniforms/uniform.d.ts.map +1 -0
- package/dist/lib/uniforms/uniform.js +20 -0
- package/dist/lib/uniforms/uniform.js.map +1 -0
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/array-equal.d.ts +5 -0
- package/dist/utils/array-equal.d.ts.map +1 -0
- package/dist/utils/array-equal.js +28 -0
- package/dist/utils/array-equal.js.map +1 -0
- package/dist/utils/array-utils-flat.d.ts +10 -0
- package/dist/utils/array-utils-flat.d.ts.map +1 -0
- package/dist/utils/array-utils-flat.js +36 -0
- package/dist/utils/array-utils-flat.js.map +1 -0
- package/dist/utils/assert.d.ts +2 -0
- package/dist/utils/assert.d.ts.map +1 -0
- package/dist/utils/assert.js +6 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/cast.d.ts +3 -0
- package/dist/utils/cast.d.ts.map +1 -0
- package/dist/utils/cast.js +4 -0
- package/dist/utils/cast.js.map +1 -0
- package/dist/utils/check-props.d.ts +7 -0
- package/dist/utils/check-props.d.ts.map +1 -0
- package/dist/utils/check-props.js +32 -0
- package/dist/utils/check-props.js.map +1 -0
- package/dist/utils/deep-equal.d.ts +9 -0
- package/dist/utils/deep-equal.d.ts.map +1 -0
- package/dist/utils/deep-equal.js +40 -0
- package/dist/utils/deep-equal.js.map +1 -0
- package/dist/utils/format-value.d.ts +7 -0
- package/dist/utils/format-value.d.ts.map +1 -0
- package/dist/utils/format-value.js +42 -0
- package/dist/utils/format-value.js.map +1 -0
- package/dist/utils/is-array.d.ts +16 -0
- package/dist/utils/is-array.d.ts.map +1 -0
- package/dist/utils/is-array.js +10 -0
- package/dist/utils/is-array.js.map +1 -0
- package/dist/utils/load-file.d.ts +35 -0
- package/dist/utils/load-file.d.ts.map +1 -0
- package/dist/utils/load-file.js +48 -0
- package/dist/utils/load-file.js.map +1 -0
- package/dist/utils/log.d.ts +4 -0
- package/dist/utils/log.d.ts.map +1 -0
- package/dist/utils/log.js +5 -0
- package/dist/utils/log.js.map +1 -0
- package/dist/utils/random.d.ts +5 -0
- package/dist/utils/random.d.ts.map +1 -0
- package/dist/utils/random.js +14 -0
- package/dist/utils/random.js.map +1 -0
- package/dist/utils/request-animation-frame.d.ts +3 -0
- package/dist/utils/request-animation-frame.d.ts.map +1 -0
- package/dist/utils/request-animation-frame.js +7 -0
- package/dist/utils/request-animation-frame.js.map +1 -0
- package/dist/utils/stats-manager.d.ts +12 -0
- package/dist/utils/stats-manager.d.ts.map +1 -0
- package/dist/utils/stats-manager.js +19 -0
- package/dist/utils/stats-manager.js.map +1 -0
- package/dist/utils/stub-methods.d.ts +2 -0
- package/dist/utils/stub-methods.d.ts.map +1 -0
- package/dist/utils/stub-methods.js +16 -0
- package/dist/utils/stub-methods.js.map +1 -0
- package/dist/utils/utils.d.ts +15 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +19 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist.min.js +33 -0
- package/package.json +17 -12
- package/src/adapter/attribute-utils/get-attribute-from-layouts.ts +259 -0
- package/src/adapter/canvas-context.ts +433 -0
- package/src/adapter/device.ts +435 -0
- package/src/adapter/resources/buffer.ts +106 -0
- package/src/adapter/resources/command-buffer.ts +38 -0
- package/src/adapter/resources/command-encoder.ts +172 -0
- package/src/adapter/resources/compute-pass.ts +52 -0
- package/src/adapter/resources/compute-pipeline.ts +39 -0
- package/src/adapter/resources/external-texture.ts +20 -0
- package/src/adapter/resources/framebuffer.ts +230 -0
- package/src/adapter/resources/render-pass.ts +117 -0
- package/src/adapter/resources/render-pipeline.ts +133 -0
- package/src/adapter/resources/resource.ts +176 -0
- package/src/adapter/resources/sampler.ts +69 -0
- package/src/adapter/resources/shader.ts +143 -0
- package/src/adapter/resources/texture.ts +140 -0
- package/src/adapter/resources/transform-feedback.ts +45 -0
- package/src/adapter/resources/vertex-array.ts +65 -0
- package/src/adapter/type-utils/decode-attribute-type.ts +82 -0
- package/src/adapter/type-utils/decode-data-type.ts +62 -0
- package/src/adapter/type-utils/decode-shader-types.ts +48 -0
- package/src/adapter/type-utils/decode-texture-format.ts +190 -0
- package/src/adapter/type-utils/decode-vertex-format.ts +49 -0
- package/src/adapter/type-utils/vertex-format-from-attribute.ts +103 -0
- package/src/adapter/type-utils/wgsl-utils.ts +18 -0
- package/src/adapter/types/accessor.ts +34 -0
- package/src/adapter/types/buffer-layout.ts +62 -0
- package/src/adapter/types/parameters.ts +250 -0
- package/src/adapter/types/shader-layout.ts +193 -0
- package/src/adapter/types/shader-types.ts +77 -0
- package/src/adapter/types/texture-formats.ts +168 -0
- package/src/adapter/types/types.ts +109 -0
- package/src/adapter/types/vertex-formats.ts +91 -0
- package/src/index.ts +160 -92
- package/src/init.ts +47 -0
- package/src/lib/compiler-log/compiler-message.ts +10 -0
- package/src/lib/compiler-log/format-compiler-log.ts +113 -0
- package/src/lib/compiler-log/get-shader-info.ts +41 -0
- package/src/lib/luma.ts +84 -0
- package/src/lib/uniforms/uniform-block.ts +80 -0
- package/src/lib/uniforms/uniform-buffer-layout.ts +109 -0
- package/src/lib/uniforms/uniform-store.ts +173 -0
- package/src/lib/uniforms/uniform.ts +25 -0
- package/src/types.ts +33 -0
- package/src/utils/array-equal.ts +33 -0
- package/src/utils/array-utils-flat.ts +43 -0
- package/src/utils/assert.ts +7 -0
- package/src/utils/cast.ts +4 -0
- package/src/utils/check-props.ts +74 -0
- package/src/utils/deep-equal.ts +47 -0
- package/src/utils/format-value.ts +40 -0
- package/src/utils/is-array.ts +24 -0
- package/src/utils/load-file.ts +89 -0
- package/src/utils/log.ts +4 -0
- package/src/utils/random.ts +17 -0
- package/src/utils/request-animation-frame.ts +15 -0
- package/src/utils/stats-manager.ts +23 -0
- package/src/utils/stub-methods.ts +20 -0
- package/src/utils/utils.ts +36 -0
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/src/bundle.ts +0 -4
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// luma.gl, MIT license
|
|
2
|
+
// Copyright (c) vis.gl contributors
|
|
3
|
+
|
|
4
|
+
/** Texture formats */
|
|
5
|
+
export type TextureFormat = ColorTextureFormat | DepthStencilTextureFormat;
|
|
6
|
+
|
|
7
|
+
/** Depth and stencil texture formats */
|
|
8
|
+
export type DepthStencilTextureFormat =
|
|
9
|
+
'stencil8' |
|
|
10
|
+
'depth16unorm' |
|
|
11
|
+
'depth24plus' |
|
|
12
|
+
'depth24plus-stencil8' |
|
|
13
|
+
'depth32float' |
|
|
14
|
+
// device.features.has('depth24unorm-stencil8')
|
|
15
|
+
'depth24unorm-stencil8' |
|
|
16
|
+
// device.features.has('depth32float-stencil8')
|
|
17
|
+
'depth32float-stencil8';
|
|
18
|
+
|
|
19
|
+
/** Texture formats for color attachments */
|
|
20
|
+
export type ColorTextureFormat = WebGPUColorTextureFormat | WebGL2ColorTextureFormat | UnsizedColorTextureFormat;
|
|
21
|
+
|
|
22
|
+
export type WebGPUColorTextureFormat =
|
|
23
|
+
// 8-bit formats
|
|
24
|
+
'r8unorm' |
|
|
25
|
+
'r8snorm' |
|
|
26
|
+
'r8uint' |
|
|
27
|
+
'r8sint' |
|
|
28
|
+
|
|
29
|
+
// 16-bit formats
|
|
30
|
+
'r16uint' |
|
|
31
|
+
'r16sint' |
|
|
32
|
+
'r16float' |
|
|
33
|
+
'rg8unorm' |
|
|
34
|
+
'rg8snorm' |
|
|
35
|
+
'rg8uint' |
|
|
36
|
+
'rg8sint' |
|
|
37
|
+
|
|
38
|
+
// 32-bit formats
|
|
39
|
+
'r32uint' |
|
|
40
|
+
'r32sint' |
|
|
41
|
+
'r32float' |
|
|
42
|
+
'rg16uint' |
|
|
43
|
+
'rg16sint' |
|
|
44
|
+
'rg16float' |
|
|
45
|
+
'rgba8unorm' |
|
|
46
|
+
'rgba8unorm-srgb' |
|
|
47
|
+
'rgba8snorm' |
|
|
48
|
+
'rgba8uint' |
|
|
49
|
+
'rgba8sint' |
|
|
50
|
+
'bgra8unorm' |
|
|
51
|
+
'bgra8unorm-srgb' |
|
|
52
|
+
// Packed 32-bit formats
|
|
53
|
+
'rgb9e5ufloat' |
|
|
54
|
+
'rgb10a2unorm' |
|
|
55
|
+
'rg11b10ufloat' |
|
|
56
|
+
|
|
57
|
+
// 64-bit formats
|
|
58
|
+
'rg32uint' |
|
|
59
|
+
'rg32sint' |
|
|
60
|
+
'rg32float' |
|
|
61
|
+
'rgba16uint' |
|
|
62
|
+
'rgba16sint' |
|
|
63
|
+
'rgba16float' |
|
|
64
|
+
|
|
65
|
+
// 128-bit formats
|
|
66
|
+
'rgba32uint' |
|
|
67
|
+
'rgba32sint' |
|
|
68
|
+
'rgba32float' |
|
|
69
|
+
|
|
70
|
+
// BC compressed formats usable if 'texture-compression-bc' is both
|
|
71
|
+
// supported by the device/user agent and enabled in requestDevice.
|
|
72
|
+
'bc1-rgba-unorm' |
|
|
73
|
+
'bc1-rgba-unorm-srgb' |
|
|
74
|
+
'bc2-rgba-unorm' |
|
|
75
|
+
'bc2-rgba-unorm-srgb' |
|
|
76
|
+
'bc3-rgba-unorm' |
|
|
77
|
+
'bc3-rgba-unorm-srgb' |
|
|
78
|
+
'bc4-r-unorm' |
|
|
79
|
+
'bc4-r-snorm' |
|
|
80
|
+
'bc5-rg-unorm' |
|
|
81
|
+
'bc5-rg-snorm' |
|
|
82
|
+
'bc6h-rgb-ufloat' |
|
|
83
|
+
'bc6h-rgb-float' |
|
|
84
|
+
'bc7-rgba-unorm' |
|
|
85
|
+
'bc7-rgba-unorm-srgb' |
|
|
86
|
+
|
|
87
|
+
// ETC2 compressed formats usable if "texture-compression-etc2" is both
|
|
88
|
+
// supported by the device/user agent and enabled in requestDevice.
|
|
89
|
+
'etc2-rgb8unorm' |
|
|
90
|
+
'etc2-rgb8unorm-srgb' |
|
|
91
|
+
'etc2-rgb8a1unorm' |
|
|
92
|
+
'etc2-rgb8a1unorm-srgb' |
|
|
93
|
+
'etc2-rgba8unorm' |
|
|
94
|
+
'etc2-rgba8unorm-srgb' |
|
|
95
|
+
'eac-r11unorm' |
|
|
96
|
+
'eac-r11snorm' |
|
|
97
|
+
'eac-rg11unorm' |
|
|
98
|
+
'eac-rg11snorm' |
|
|
99
|
+
|
|
100
|
+
// ASTC compressed formats usable if "texture-compression-astc" is both
|
|
101
|
+
// supported by the device/user agent and enabled in requestDevice.
|
|
102
|
+
'astc-4x4-unorm' |
|
|
103
|
+
'astc-4x4-unorm-srgb' |
|
|
104
|
+
'astc-5x4-unorm' |
|
|
105
|
+
'astc-5x4-unorm-srgb' |
|
|
106
|
+
'astc-5x5-unorm' |
|
|
107
|
+
'astc-5x5-unorm-srgb' |
|
|
108
|
+
'astc-6x5-unorm' |
|
|
109
|
+
'astc-6x5-unorm-srgb' |
|
|
110
|
+
'astc-6x6-unorm' |
|
|
111
|
+
'astc-6x6-unorm-srgb' |
|
|
112
|
+
'astc-8x5-unorm' |
|
|
113
|
+
'astc-8x5-unorm-srgb' |
|
|
114
|
+
'astc-8x6-unorm' |
|
|
115
|
+
'astc-8x6-unorm-srgb' |
|
|
116
|
+
'astc-8x8-unorm' |
|
|
117
|
+
'astc-8x8-unorm-srgb' |
|
|
118
|
+
'astc-10x5-unorm' |
|
|
119
|
+
'astc-10x5-unorm-srgb' |
|
|
120
|
+
'astc-10x6-unorm' |
|
|
121
|
+
'astc-10x6-unorm-srgb' |
|
|
122
|
+
'astc-10x8-unorm' |
|
|
123
|
+
'astc-10x8-unorm-srgb' |
|
|
124
|
+
'astc-10x10-unorm' |
|
|
125
|
+
'astc-10x10-unorm-srgb' |
|
|
126
|
+
'astc-12x10-unorm' |
|
|
127
|
+
'astc-12x10-unorm-srgb' |
|
|
128
|
+
'astc-12x12-unorm' |
|
|
129
|
+
'astc-12x12-unorm-srgb'
|
|
130
|
+
;
|
|
131
|
+
|
|
132
|
+
/** Unsized texture formats (the only formats supported by WebGL1) */
|
|
133
|
+
export type UnsizedColorTextureFormat =
|
|
134
|
+
// 'r8unorm-unsized' |
|
|
135
|
+
// 'ra8unorm-unsized' |
|
|
136
|
+
'rgb8unorm-unsized' |
|
|
137
|
+
'rgba8unorm-unsized'
|
|
138
|
+
// 'rgb8unorm-srgb-unsized' |
|
|
139
|
+
// 'rgba8unorm-srgb-unsized'
|
|
140
|
+
;
|
|
141
|
+
|
|
142
|
+
/** Sized formats unique to WebGL 2. Will perhaps be added to WebGPU? */
|
|
143
|
+
export type WebGL2ColorTextureFormat =
|
|
144
|
+
'r16unorm-webgl' |
|
|
145
|
+
'r16snorm-webgl' |
|
|
146
|
+
'rgba4unorm-webgl' |
|
|
147
|
+
'rgb565unorm-webgl' |
|
|
148
|
+
'rgb5a1unorm-webgl' |
|
|
149
|
+
'rgb8unorm-webgl' |
|
|
150
|
+
'rgb8snorm-webgl' |
|
|
151
|
+
'rg16unorm-webgl' |
|
|
152
|
+
'rg16snorm-webgl' |
|
|
153
|
+
'rgb10a2unorm-webgl' |
|
|
154
|
+
'rgb16unorm-webgl' |
|
|
155
|
+
'rgb16snorm-webgl' |
|
|
156
|
+
'rgba16unorm-webgl' |
|
|
157
|
+
'rgba16snorm-webgl' |
|
|
158
|
+
'rgb32float-webgl' |
|
|
159
|
+
'bc1-rgb-unorm-webgl' |
|
|
160
|
+
'bc1-rgb-unorm-srgb-webgl' |
|
|
161
|
+
'pvrtc-rgb4unorm-webgl' |
|
|
162
|
+
'pvrtc-rgba4unorm-webgl' |
|
|
163
|
+
'pvrtc-rbg2unorm-webgl' |
|
|
164
|
+
'pvrtc-rgba2unorm-webgl' |
|
|
165
|
+
'etc1-rbg-unorm-webgl' |
|
|
166
|
+
'atc-rgb-unorm-webgl' |
|
|
167
|
+
'atc-rgba-unorm-webgl' |
|
|
168
|
+
'atc-rgbai-unorm-webgl';
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// luma.gl, MIT license
|
|
2
|
+
import {NumberArray} from '../../types';
|
|
3
|
+
import type {ColorTextureFormat, DepthStencilTextureFormat, TextureFormat} from './texture-formats';
|
|
4
|
+
import type {Buffer} from '../resources/buffer';
|
|
5
|
+
import type {Texture} from '../resources/texture'; // TextureView...
|
|
6
|
+
|
|
7
|
+
// UNIFORMS
|
|
8
|
+
|
|
9
|
+
/** Valid values for uniforms. @note boolean values get converted to 0 or 1 before setting */
|
|
10
|
+
export type UniformValue = number | boolean | Readonly<NumberArray>; // Float32Array> | Readonly<Int32Array> | Readonly<Uint32Array> | Readonly<number[]>;
|
|
11
|
+
|
|
12
|
+
// BINDINGS
|
|
13
|
+
|
|
14
|
+
/** Buffer bindings */
|
|
15
|
+
export type Binding = Texture | Buffer | {buffer: Buffer, offset?: number, size?: number};
|
|
16
|
+
|
|
17
|
+
// BINDING LAYOUTS
|
|
18
|
+
|
|
19
|
+
/** Describes a buffer binding layout */
|
|
20
|
+
type BufferBindingLayout = {
|
|
21
|
+
/** The index of the binding point in the compiled and linked shader */
|
|
22
|
+
location?: number;
|
|
23
|
+
visibility: number;
|
|
24
|
+
/** type of buffer */
|
|
25
|
+
type: 'uniform' | 'storage' | 'read-only-storage';
|
|
26
|
+
hasDynamicOffset?: boolean;
|
|
27
|
+
minBindingSize?: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Describes a texture binding */
|
|
31
|
+
type TextureBindingLayout = {
|
|
32
|
+
/** The index of the binding point in the compiled and linked shader */
|
|
33
|
+
location?: number;
|
|
34
|
+
visibility: number;
|
|
35
|
+
viewDimension?: '1d' | '2d' | '2d-array' | 'cube' | 'cube-array' | '3d';
|
|
36
|
+
sampleType?: 'float' | 'unfilterable-float' | 'depth' | 'sint' | 'uint';
|
|
37
|
+
multisampled?: boolean;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/** Describes a storage texture binding */
|
|
41
|
+
type StorageTextureBindingLayout = {
|
|
42
|
+
/** The index of the binding point in the compiled and linked shader */
|
|
43
|
+
location?: number;
|
|
44
|
+
visibility: number;
|
|
45
|
+
access?: 'write-only';
|
|
46
|
+
format: TextureFormat;
|
|
47
|
+
viewDimension?: '1d' | '2d' | '2d-array' | 'cube' | 'cube-array' | '3d';
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export type BindingDeclaration = BufferBindingLayout | TextureBindingLayout | StorageTextureBindingLayout;
|
|
51
|
+
|
|
52
|
+
// TEXTURE VIEWS
|
|
53
|
+
|
|
54
|
+
export type TextureView = {
|
|
55
|
+
texture: WebGLTexture;
|
|
56
|
+
layer?: number; // = 0
|
|
57
|
+
level?: number; // = 0
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
// ATTACHMENTS (See Framebuffer)
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Framebuffer attachments lets the user specify the textures that will be used for a RenderPass,
|
|
64
|
+
* together with some additional options for how to clear.
|
|
65
|
+
*/
|
|
66
|
+
export type ColorAttachment = {
|
|
67
|
+
/** Describes the texture subresource that will be output to for this color attachment. */
|
|
68
|
+
texture?: Texture;
|
|
69
|
+
/** Format of the texture resource. Used to auto create texture if not supplied */
|
|
70
|
+
format?: ColorTextureFormat;
|
|
71
|
+
/* Describes the texture subresource that will receive resolved output for this color attachment if multisampled. */
|
|
72
|
+
// resolveTarget?: GPUTextureView;
|
|
73
|
+
|
|
74
|
+
/** Value to clear to prior to executing the render pass. Default: [0, 0, 0, 0]. Ignored if loadOp is not "clear". */
|
|
75
|
+
clearValue?: number[];
|
|
76
|
+
/** load operation to perform on texture prior to executing the render pass. Default: 'clear'. */
|
|
77
|
+
loadOp?: 'load' | 'clear';
|
|
78
|
+
/** The store operation to perform on texture after executing the render pass. Default: 'store'. */
|
|
79
|
+
storeOp?: 'store' | 'discard';
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Framebuffer attachments lets the user specify the depth stencil texture that will be used for a RenderPass,
|
|
84
|
+
* together with some additional options for how to clear.
|
|
85
|
+
*/
|
|
86
|
+
export type DepthStencilAttachment = {
|
|
87
|
+
/** Describes the texture subresource that will be output to and read from for this depth/stencil attachment. */
|
|
88
|
+
texture?: Texture;
|
|
89
|
+
/** Format of the texture resource. Used to auto create texture if not supplied */
|
|
90
|
+
format?: DepthStencilTextureFormat;
|
|
91
|
+
|
|
92
|
+
/** Value to clear depth component to prior to executing the render pass, if depthLoadOp is "clear". 0.0-1.0. */
|
|
93
|
+
depthClearValue?: number;
|
|
94
|
+
/** Indicates load operation to perform on depth component prior to executing the render pass. Default 'clear'. */
|
|
95
|
+
depthLoadOp?: 'load' | 'clear';
|
|
96
|
+
/** Store operation to perform on depth component after executing the render pass. Default: 'store'. */
|
|
97
|
+
depthStoreOp?: 'store' | 'discard';
|
|
98
|
+
/** Indicates that the depth component is read only. */
|
|
99
|
+
depthReadOnly?: boolean;
|
|
100
|
+
|
|
101
|
+
/** Indicates value to clear stencil component to prior to executing the render pass, if stencilLoadOp is "clear". */
|
|
102
|
+
stencilClearValue?: number;
|
|
103
|
+
/** Indicates load operation to perform on stencil component prior to executing the render pass. Prefer clearing. */
|
|
104
|
+
stencilLoadOp?: 'load' | 'clear';
|
|
105
|
+
/** Store operation to perform on stencil component after executing the render pass. */
|
|
106
|
+
stencilStoreOp?: 'store' | 'discard';
|
|
107
|
+
/** Indicates that the stencil component is read only. */
|
|
108
|
+
stencilReadOnly?: boolean;
|
|
109
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// luma.gl, MIT license
|
|
2
|
+
// Copyright (c) vis.gl contributors
|
|
3
|
+
|
|
4
|
+
/** Basic data types signed and unsigned integers, and floats, of varying sizes */
|
|
5
|
+
export type DataType =
|
|
6
|
+
| 'uint8'
|
|
7
|
+
| 'sint8'
|
|
8
|
+
| 'uint16'
|
|
9
|
+
| 'sint16'
|
|
10
|
+
| 'uint32'
|
|
11
|
+
| 'sint32'
|
|
12
|
+
| 'float16'
|
|
13
|
+
| 'float32';
|
|
14
|
+
|
|
15
|
+
/** Vertex and Pixel data types. Include normalized integers */
|
|
16
|
+
export type NormalizedDataType =
|
|
17
|
+
| 'uint8'
|
|
18
|
+
| 'sint8'
|
|
19
|
+
| 'unorm8'
|
|
20
|
+
| 'snorm8'
|
|
21
|
+
| 'uint16'
|
|
22
|
+
| 'sint16'
|
|
23
|
+
| 'unorm16'
|
|
24
|
+
| 'snorm16'
|
|
25
|
+
| 'uint32'
|
|
26
|
+
| 'sint32'
|
|
27
|
+
// WebGPU does not support normalized 32 bit integer attributes...
|
|
28
|
+
// | 'unorm32'
|
|
29
|
+
// | 'snorm32'
|
|
30
|
+
| 'float32'
|
|
31
|
+
| 'float16'
|
|
32
|
+
;
|
|
33
|
+
|
|
34
|
+
/** Describes the type (without number of components) of a vertex format */
|
|
35
|
+
export type VertexType = NormalizedDataType;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Describes the memory format of a buffer that will be supplied to vertex attributes
|
|
39
|
+
* @note Must be compatible with the ShaderAttributeType of the shaders, see documentation.
|
|
40
|
+
* @note This is a superset of WebGPU vertex formats to allow foe some flexibility for WebGL only applications
|
|
41
|
+
* @todo Add device.isTextureFormatSupported() method?
|
|
42
|
+
*/
|
|
43
|
+
export type VertexFormat =
|
|
44
|
+
// 8 bit integers, note that only 16 bit aligned formats are supported in WebGPU (x2 and x4)
|
|
45
|
+
| 'uint8x2'
|
|
46
|
+
| 'uint8x4'
|
|
47
|
+
| 'sint8x2'
|
|
48
|
+
| 'sint8x4'
|
|
49
|
+
| 'unorm8-webgl'
|
|
50
|
+
| 'unorm8x2'
|
|
51
|
+
| 'unorm8x3-webgl'
|
|
52
|
+
| 'unorm8x4'
|
|
53
|
+
| 'snorm8-webgl'
|
|
54
|
+
| 'snorm8x2'
|
|
55
|
+
| 'snorm8x3-webgl'
|
|
56
|
+
| 'snorm8x4'
|
|
57
|
+
// 16 bit integers, note that only 32 bit aligned formats are supported in WebGPU (x2 and x4)
|
|
58
|
+
| 'uint16x2'
|
|
59
|
+
| 'uint16x4'
|
|
60
|
+
| 'sint16x2'
|
|
61
|
+
| 'sint16x4'
|
|
62
|
+
| 'unorm16x2'
|
|
63
|
+
| 'unorm16x4'
|
|
64
|
+
| 'snorm16x2'
|
|
65
|
+
| 'snorm16x4'
|
|
66
|
+
// 32 bit integers
|
|
67
|
+
| 'uint32'
|
|
68
|
+
| 'uint32x2'
|
|
69
|
+
| 'uint32x3'
|
|
70
|
+
| 'uint32x4'
|
|
71
|
+
| 'sint32'
|
|
72
|
+
| 'sint32x2'
|
|
73
|
+
| 'sint32x3'
|
|
74
|
+
| 'sint32x4'
|
|
75
|
+
// No normalized 32 bit integers in WebGPU...
|
|
76
|
+
// | 'unorm32'
|
|
77
|
+
// | 'unorm32x2'
|
|
78
|
+
// | 'unorm32x3'
|
|
79
|
+
// | 'unorm32x4'
|
|
80
|
+
// | 'snorm32'
|
|
81
|
+
// | 'snorm32x2'
|
|
82
|
+
// | 'snorm32x3'
|
|
83
|
+
// | 'snorm32x4'
|
|
84
|
+
// floats
|
|
85
|
+
| 'float16x2'
|
|
86
|
+
| 'float16x4'
|
|
87
|
+
| 'float32'
|
|
88
|
+
| 'float32x2'
|
|
89
|
+
| 'float32x3'
|
|
90
|
+
| 'float32x4'
|
|
91
|
+
;
|
package/src/index.ts
CHANGED
|
@@ -1,105 +1,173 @@
|
|
|
1
1
|
// luma.gl, MIT license
|
|
2
|
-
//
|
|
2
|
+
// Copyright (c) vis.gl contributors
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
export {log, assert, uid} from '@luma.gl/api';
|
|
4
|
+
export {VERSION} from './init';
|
|
6
5
|
|
|
7
|
-
//
|
|
6
|
+
// GENERAL TYPES
|
|
7
|
+
export type {ConstructorOf, PartialBy} from './types';
|
|
8
8
|
|
|
9
|
-
//
|
|
10
|
-
export {
|
|
9
|
+
// NUMERIC TYPES - TODO: could be imported from @math.gl/types
|
|
10
|
+
export type {TypedArray, TypedArrayConstructor, NumberArray, BigIntOrNumberArray} from './types';
|
|
11
11
|
|
|
12
|
-
export {
|
|
13
|
-
ClassicAnimationLoop as AnimationLoop,
|
|
14
|
-
ClassicModel as Model,
|
|
15
|
-
Transform,
|
|
16
|
-
ProgramManager,
|
|
17
|
-
ClipSpace
|
|
18
|
-
} from '@luma.gl/gltools';
|
|
12
|
+
export {isTypedArray, isNumberArray} from './utils/is-array';
|
|
19
13
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
} from '
|
|
14
|
+
// MAIN API ACCESS POINTS
|
|
15
|
+
export {luma} from './lib/luma';
|
|
16
|
+
|
|
17
|
+
export type {DeviceProps, DeviceLimits, DeviceInfo, DeviceFeature} from './adapter/device';
|
|
18
|
+
export {Device} from './adapter/device';
|
|
19
|
+
export type {CanvasContextProps} from './adapter/canvas-context';
|
|
20
|
+
export {CanvasContext} from './adapter/canvas-context';
|
|
21
|
+
|
|
22
|
+
// GPU RESOURCES
|
|
23
|
+
export type {ResourceProps} from './adapter/resources/resource';
|
|
24
|
+
export {Resource} from './adapter/resources/resource';
|
|
25
|
+
export type {BufferProps} from './adapter/resources/buffer';
|
|
26
|
+
export {Buffer} from './adapter/resources/buffer';
|
|
27
|
+
export type {TextureProps, TextureData} from './adapter/resources/texture';
|
|
28
|
+
export {Texture} from './adapter/resources/texture';
|
|
29
|
+
export type {ExternalTextureProps} from './adapter/resources/external-texture';
|
|
30
|
+
export {ExternalTexture} from './adapter/resources/external-texture';
|
|
31
|
+
export type {ShaderProps} from './adapter/resources/shader';
|
|
32
|
+
export {Shader} from './adapter/resources/shader';
|
|
33
|
+
export type {SamplerProps, SamplerParameters} from './adapter/resources/sampler';
|
|
34
|
+
export {Sampler} from './adapter/resources/sampler';
|
|
35
|
+
export type {FramebufferProps} from './adapter/resources/framebuffer';
|
|
36
|
+
export {Framebuffer} from './adapter/resources/framebuffer';
|
|
37
|
+
|
|
38
|
+
export type {RenderPipelineProps} from './adapter/resources/render-pipeline';
|
|
39
|
+
export {RenderPipeline} from './adapter/resources/render-pipeline';
|
|
40
|
+
|
|
41
|
+
export type {ComputePipelineProps} from './adapter/resources/compute-pipeline';
|
|
42
|
+
export {ComputePipeline} from './adapter/resources/compute-pipeline';
|
|
43
|
+
export type {RenderPassProps} from './adapter/resources/render-pass';
|
|
44
|
+
export {RenderPass} from './adapter/resources/render-pass';
|
|
45
|
+
export type {ComputePassProps} from './adapter/resources/compute-pass';
|
|
46
|
+
export {ComputePass} from './adapter/resources/compute-pass';
|
|
47
|
+
export type {CommandEncoderProps} from './adapter/resources/command-encoder';
|
|
48
|
+
export {CommandEncoder} from './adapter/resources/command-encoder';
|
|
49
|
+
export type {CommandBufferProps} from './adapter/resources/command-buffer';
|
|
50
|
+
export {CommandBuffer} from './adapter/resources/command-buffer';
|
|
51
|
+
|
|
52
|
+
export type {VertexArrayProps} from './adapter/resources/vertex-array';
|
|
53
|
+
export {VertexArray} from './adapter/resources/vertex-array';
|
|
54
|
+
|
|
55
|
+
export type {BufferRange, TransformFeedbackProps} from './adapter/resources/transform-feedback';
|
|
56
|
+
export {TransformFeedback} from './adapter/resources/transform-feedback';
|
|
57
|
+
|
|
58
|
+
// API TYPES
|
|
59
|
+
export type {AccessorObject} from './adapter/types/accessor';
|
|
60
|
+
export type {
|
|
61
|
+
Parameters,
|
|
62
|
+
PrimitiveTopology,
|
|
63
|
+
IndexFormat,
|
|
64
|
+
CullMode,
|
|
65
|
+
FrontFace,
|
|
66
|
+
RasterizationParameters,
|
|
67
|
+
CompareFunction,
|
|
68
|
+
StencilOperation,
|
|
69
|
+
DepthStencilParameters,
|
|
70
|
+
BlendFactor,
|
|
71
|
+
BlendOperation,
|
|
72
|
+
ColorParameters,
|
|
73
|
+
MultisampleParameters,
|
|
74
|
+
RenderPassParameters,
|
|
75
|
+
RenderPipelineParameters
|
|
76
|
+
} from './adapter/types/parameters';
|
|
77
|
+
|
|
78
|
+
// MEMORY LAYOUT TYPES
|
|
79
|
+
export type {VertexFormat, VertexType} from './adapter/types/vertex-formats';
|
|
80
|
+
export type {
|
|
81
|
+
TextureFormat,
|
|
82
|
+
ColorTextureFormat,
|
|
83
|
+
DepthStencilTextureFormat
|
|
84
|
+
} from './adapter/types/texture-formats';
|
|
85
|
+
export type {
|
|
86
|
+
ShaderDataType,
|
|
87
|
+
ShaderAttributeType,
|
|
88
|
+
ShaderUniformType
|
|
89
|
+
} from './adapter/types/shader-types';
|
|
30
90
|
|
|
31
|
-
|
|
91
|
+
export type {ColorAttachment, DepthStencilAttachment} from './adapter/types/types';
|
|
32
92
|
|
|
33
|
-
|
|
93
|
+
export type {
|
|
94
|
+
ShaderLayout,
|
|
95
|
+
AttributeDeclaration,
|
|
96
|
+
BindingDeclaration,
|
|
97
|
+
Binding
|
|
98
|
+
} from './adapter/types/shader-layout';
|
|
99
|
+
export type {BufferLayout, BufferAttributeLayout} from './adapter/types/buffer-layout';
|
|
100
|
+
export type {
|
|
101
|
+
// Deprecated, todo
|
|
102
|
+
AttributeBinding,
|
|
103
|
+
UniformBinding,
|
|
104
|
+
UniformBlockBinding,
|
|
105
|
+
VaryingBinding
|
|
106
|
+
} from './adapter/types/shader-layout';
|
|
34
107
|
|
|
35
|
-
|
|
108
|
+
export type {UniformValue} from './adapter/types/types';
|
|
109
|
+
export {UniformBufferLayout} from './lib/uniforms/uniform-buffer-layout';
|
|
110
|
+
export {UniformBlock} from './lib/uniforms/uniform-block';
|
|
111
|
+
export {UniformStore} from './lib/uniforms/uniform-store';
|
|
112
|
+
|
|
113
|
+
// TYPE UTILS
|
|
114
|
+
export {decodeVertexFormat} from './adapter/type-utils/decode-vertex-format';
|
|
115
|
+
export {decodeTextureFormat} from './adapter/type-utils/decode-texture-format';
|
|
116
|
+
export {getDataTypeFromTypedArray, getTypedArrayFromDataType, getVertexFormatFromAttribute} from './adapter/type-utils/vertex-format-from-attribute';
|
|
117
|
+
|
|
118
|
+
// SHADER TYPE UTILS
|
|
119
|
+
export {decodeShaderUniformType} from './adapter/type-utils/decode-shader-types';
|
|
120
|
+
export {decodeShaderAttributeType} from './adapter/type-utils/decode-attribute-type';
|
|
121
|
+
|
|
122
|
+
// COMPILER LOG
|
|
123
|
+
export type {CompilerMessage} from './lib/compiler-log/compiler-message';
|
|
124
|
+
export {formatCompilerLog} from './lib/compiler-log/format-compiler-log';
|
|
125
|
+
|
|
126
|
+
//
|
|
127
|
+
export type {AttributeInfo} from './adapter/attribute-utils/get-attribute-from-layouts';
|
|
36
128
|
export {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
hasFeature,
|
|
41
|
-
hasFeatures
|
|
42
|
-
} from '@luma.gl/gltools';
|
|
129
|
+
getAttributeInfosFromLayouts,
|
|
130
|
+
mergeShaderLayout
|
|
131
|
+
} from './adapter/attribute-utils/get-attribute-from-layouts';
|
|
43
132
|
|
|
44
|
-
|
|
45
|
-
/** @deprecated Use luma.stats */
|
|
46
|
-
export const lumaStats = luma.stats;
|
|
133
|
+
// GENERAL UTILS
|
|
47
134
|
|
|
135
|
+
export {StatsManager} from './utils/stats-manager';
|
|
136
|
+
export {assert} from './utils/assert';
|
|
137
|
+
export {cast} from './utils/cast';
|
|
138
|
+
export {log} from './utils/log';
|
|
139
|
+
export {uid, isPowerOfTwo, isObjectEmpty} from './utils/utils';
|
|
140
|
+
export {isUniformValue, splitUniformsAndBindings} from './lib/uniforms/uniform';
|
|
141
|
+
export {formatValue} from './utils/format-value';
|
|
142
|
+
export {stubRemovedMethods} from './utils/stub-methods';
|
|
143
|
+
export {checkProps} from './utils/check-props';
|
|
48
144
|
export {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
fp32 as fp32Deprecated,
|
|
79
|
-
fp64 as fp64Deprecated,
|
|
80
|
-
project as projectDeprecated,
|
|
81
|
-
dirlight as dirlightDeprecated,
|
|
82
|
-
picking as pickingDeprecated,
|
|
83
|
-
gouraudLighting as gouraudLightingDeprecated,
|
|
84
|
-
phongLighting as phongLightingDeprecated,
|
|
85
|
-
pbr as pbrDeprecated
|
|
86
|
-
} from '@luma.gl/shadertools';
|
|
87
|
-
|
|
88
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
89
|
-
export const normalizeShaderModule = normalizeShaderModuleDeprecated;
|
|
90
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
91
|
-
export const fp32 = fp32Deprecated;
|
|
92
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
93
|
-
export const fp64 = fp64Deprecated;
|
|
94
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
95
|
-
export const project = projectDeprecated;
|
|
96
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
97
|
-
export const dirlight = dirlightDeprecated;
|
|
98
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
99
|
-
export const picking = pickingDeprecated;
|
|
100
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
101
|
-
export const gouraudLighting = gouraudLightingDeprecated;
|
|
102
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
103
|
-
export const phongLighting = phongLightingDeprecated;
|
|
104
|
-
/** @deprecated Import directly from `@luma.gl/shadertools` */
|
|
105
|
-
export const pbr = pbrDeprecated;
|
|
145
|
+
setPathPrefix,
|
|
146
|
+
loadFile,
|
|
147
|
+
loadImage,
|
|
148
|
+
loadImageBitmap,
|
|
149
|
+
loadScript
|
|
150
|
+
} from './utils/load-file';
|
|
151
|
+
export {getScratchArrayBuffer, getScratchArray, fillArray} from './utils/array-utils-flat';
|
|
152
|
+
export {makeRandomNumberGenerator, random} from './utils/random';
|
|
153
|
+
export {deepEqual} from './utils/deep-equal';
|
|
154
|
+
|
|
155
|
+
// ENGINE - TODO/move to @luma.gl/engine once that module is webgl-independent?
|
|
156
|
+
export {requestAnimationFrame, cancelAnimationFrame} from './utils/request-animation-frame';
|
|
157
|
+
|
|
158
|
+
// SHADER HELPERS
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Marks GLSL shaders for syntax highlighting: glsl`...`
|
|
162
|
+
* Install https://marketplace.visualstudio.com/items?itemName=boyswan.glsl-literal
|
|
163
|
+
*/
|
|
164
|
+
export const glsl = (x: TemplateStringsArray) => `${x}`;
|
|
165
|
+
|
|
166
|
+
// INTERNAL
|
|
167
|
+
|
|
168
|
+
export type {
|
|
169
|
+
CopyBufferToBufferOptions,
|
|
170
|
+
CopyBufferToTextureOptions,
|
|
171
|
+
CopyTextureToBufferOptions,
|
|
172
|
+
CopyTextureToTextureOptions
|
|
173
|
+
} from './adapter/resources/command-encoder';
|
package/src/init.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {isBrowser} from '@probe.gl/env';
|
|
2
|
+
import {log} from './utils/log';
|
|
3
|
+
import {lumaStats} from './utils/stats-manager';
|
|
4
|
+
|
|
5
|
+
declare global {
|
|
6
|
+
// eslint-disable-next-line no-var
|
|
7
|
+
var luma: any
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* By adding the result of init() to Device.VERSION we guarantee it will be called
|
|
12
|
+
* @returns version
|
|
13
|
+
*/
|
|
14
|
+
function initializeLuma(): string {
|
|
15
|
+
// Version detection using babel plugin
|
|
16
|
+
// @ts-expect-error
|
|
17
|
+
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'running from source';
|
|
18
|
+
|
|
19
|
+
const STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';
|
|
20
|
+
// Assign luma.log.level in console to control logging: \
|
|
21
|
+
// 0: none, 1: minimal, 2: verbose, 3: attribute/uniforms, 4: gl logs
|
|
22
|
+
// luma.log.break[], set to gl funcs, luma.log.profile[] set to model names`;
|
|
23
|
+
|
|
24
|
+
if (globalThis.luma && globalThis.luma.VERSION !== VERSION) {
|
|
25
|
+
throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${VERSION}`);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (!globalThis.luma) {
|
|
29
|
+
if (isBrowser()) {
|
|
30
|
+
log.log(1, `${VERSION} - ${STARTUP_MESSAGE}`)();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
globalThis.luma = globalThis.luma || {
|
|
34
|
+
VERSION,
|
|
35
|
+
version: VERSION,
|
|
36
|
+
log,
|
|
37
|
+
|
|
38
|
+
// A global stats object that various components can add information to
|
|
39
|
+
// E.g. see webgl/resource.js
|
|
40
|
+
stats: lumaStats,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return VERSION;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export const VERSION = initializeLuma();
|