@luma.gl/core 9.3.0-alpha.4 → 9.3.0-alpha.8
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/adapter/canvas-context.d.ts +6 -182
- package/dist/adapter/canvas-context.d.ts.map +1 -1
- package/dist/adapter/canvas-context.js +5 -481
- package/dist/adapter/canvas-context.js.map +1 -1
- package/dist/adapter/canvas-observer.d.ts +32 -0
- package/dist/adapter/canvas-observer.d.ts.map +1 -0
- package/dist/adapter/canvas-observer.js +90 -0
- package/dist/adapter/canvas-observer.js.map +1 -0
- package/dist/adapter/canvas-surface.d.ts +150 -0
- package/dist/adapter/canvas-surface.d.ts.map +1 -0
- package/dist/adapter/canvas-surface.js +392 -0
- package/dist/adapter/canvas-surface.js.map +1 -0
- package/dist/adapter/device.d.ts +76 -11
- package/dist/adapter/device.d.ts.map +1 -1
- package/dist/adapter/device.js +180 -9
- package/dist/adapter/device.js.map +1 -1
- package/dist/adapter/luma.js +1 -1
- package/dist/adapter/presentation-context.d.ts +11 -0
- package/dist/adapter/presentation-context.d.ts.map +1 -0
- package/dist/adapter/presentation-context.js +12 -0
- package/dist/adapter/presentation-context.js.map +1 -0
- package/dist/adapter/resources/buffer.d.ts +1 -1
- package/dist/adapter/resources/buffer.d.ts.map +1 -1
- package/dist/adapter/resources/buffer.js +14 -6
- package/dist/adapter/resources/buffer.js.map +1 -1
- package/dist/adapter/resources/command-buffer.d.ts +3 -1
- package/dist/adapter/resources/command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/command-buffer.js +3 -1
- package/dist/adapter/resources/command-buffer.js.map +1 -1
- package/dist/adapter/resources/command-encoder.d.ts +25 -2
- package/dist/adapter/resources/command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/command-encoder.js +68 -2
- package/dist/adapter/resources/command-encoder.js.map +1 -1
- package/dist/adapter/resources/compute-pipeline.d.ts +2 -2
- package/dist/adapter/resources/compute-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/fence.d.ts +1 -1
- package/dist/adapter/resources/fence.d.ts.map +1 -1
- package/dist/adapter/resources/fence.js +3 -1
- package/dist/adapter/resources/fence.js.map +1 -1
- package/dist/adapter/resources/framebuffer.d.ts +1 -1
- package/dist/adapter/resources/framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/query-set.d.ts +17 -1
- package/dist/adapter/resources/query-set.d.ts.map +1 -1
- package/dist/adapter/resources/query-set.js.map +1 -1
- package/dist/adapter/resources/render-pipeline.d.ts +28 -10
- package/dist/adapter/resources/render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/render-pipeline.js +21 -2
- package/dist/adapter/resources/render-pipeline.js.map +1 -1
- package/dist/adapter/resources/resource.d.ts +8 -0
- package/dist/adapter/resources/resource.d.ts.map +1 -1
- package/dist/adapter/resources/resource.js +240 -14
- package/dist/adapter/resources/resource.js.map +1 -1
- package/dist/adapter/resources/shared-render-pipeline.d.ts +22 -0
- package/dist/adapter/resources/shared-render-pipeline.d.ts.map +1 -0
- package/dist/adapter/resources/shared-render-pipeline.js +25 -0
- package/dist/adapter/resources/shared-render-pipeline.js.map +1 -0
- package/dist/adapter/resources/texture-view.d.ts +1 -1
- package/dist/adapter/resources/texture-view.d.ts.map +1 -1
- package/dist/adapter/resources/texture.d.ts +82 -15
- package/dist/adapter/resources/texture.d.ts.map +1 -1
- package/dist/adapter/resources/texture.js +186 -33
- package/dist/adapter/resources/texture.js.map +1 -1
- package/dist/adapter/types/attachments.d.ts +1 -1
- package/dist/adapter/types/attachments.d.ts.map +1 -1
- package/dist/adapter/types/buffer-layout.d.ts +1 -1
- package/dist/adapter/types/buffer-layout.d.ts.map +1 -1
- package/dist/adapter/types/parameters.d.ts +3 -1
- package/dist/adapter/types/parameters.d.ts.map +1 -1
- package/dist/adapter/types/parameters.js +1 -0
- package/dist/adapter/types/parameters.js.map +1 -1
- package/dist/adapter/types/shader-layout.d.ts +10 -6
- package/dist/adapter/types/shader-layout.d.ts.map +1 -1
- package/dist/adapter/types/uniforms.d.ts +6 -0
- package/dist/adapter/types/uniforms.d.ts.map +1 -1
- package/dist/adapter-utils/bind-groups.d.ts +9 -0
- package/dist/adapter-utils/bind-groups.d.ts.map +1 -0
- package/dist/adapter-utils/bind-groups.js +41 -0
- package/dist/adapter-utils/bind-groups.js.map +1 -0
- package/dist/adapter-utils/get-attribute-from-layouts.d.ts +2 -2
- package/dist/adapter-utils/get-attribute-from-layouts.d.ts.map +1 -1
- package/dist/adapter-utils/get-attribute-from-layouts.js +6 -6
- package/dist/adapter-utils/get-attribute-from-layouts.js.map +1 -1
- package/dist/dist.dev.js +1934 -415
- package/dist/dist.min.js +6 -6
- package/dist/factories/bind-group-factory.d.ts +20 -0
- package/dist/factories/bind-group-factory.d.ts.map +1 -0
- package/dist/factories/bind-group-factory.js +79 -0
- package/dist/factories/bind-group-factory.js.map +1 -0
- package/dist/factories/core-module-state.d.ts +7 -0
- package/dist/factories/core-module-state.d.ts.map +1 -0
- package/dist/{shadertypes/data-types/shader-types.js → factories/core-module-state.js} +1 -1
- package/dist/factories/core-module-state.js.map +1 -0
- package/dist/factories/pipeline-factory.d.ts +54 -0
- package/dist/factories/pipeline-factory.d.ts.map +1 -0
- package/dist/factories/pipeline-factory.js +270 -0
- package/dist/factories/pipeline-factory.js.map +1 -0
- package/dist/factories/shader-factory.d.ts +20 -0
- package/dist/factories/shader-factory.d.ts.map +1 -0
- package/dist/factories/shader-factory.js +84 -0
- package/dist/factories/shader-factory.js.map +1 -0
- package/dist/index.cjs +1858 -409
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +25 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -9
- package/dist/index.js.map +1 -1
- package/dist/portable/uniform-block.d.ts +1 -1
- package/dist/portable/uniform-block.d.ts.map +1 -1
- package/dist/portable/uniform-buffer-layout.d.ts +20 -15
- package/dist/portable/uniform-buffer-layout.d.ts.map +1 -1
- package/dist/portable/uniform-buffer-layout.js +188 -43
- package/dist/portable/uniform-buffer-layout.js.map +1 -1
- package/dist/portable/uniform-store.d.ts +5 -6
- package/dist/portable/uniform-store.d.ts.map +1 -1
- package/dist/portable/uniform-store.js +6 -3
- package/dist/portable/uniform-store.js.map +1 -1
- package/dist/shadertypes/data-types/data-type-decoder.d.ts +20 -0
- package/dist/shadertypes/data-types/data-type-decoder.d.ts.map +1 -0
- package/dist/shadertypes/data-types/data-type-decoder.js +79 -0
- package/dist/shadertypes/data-types/data-type-decoder.js.map +1 -0
- package/dist/shadertypes/data-types/data-types.d.ts +31 -12
- package/dist/shadertypes/data-types/data-types.d.ts.map +1 -1
- package/dist/{image-utils → shadertypes/image-types}/image-types.d.ts +0 -6
- package/dist/shadertypes/image-types/image-types.d.ts.map +1 -0
- package/dist/shadertypes/image-types/image-types.js.map +1 -0
- package/dist/shadertypes/shader-types/shader-type-decoder.d.ts +41 -0
- package/dist/shadertypes/shader-types/shader-type-decoder.d.ts.map +1 -0
- package/dist/shadertypes/{data-types/decode-shader-types.js → shader-types/shader-type-decoder.js} +43 -4
- package/dist/shadertypes/shader-types/shader-type-decoder.js.map +1 -0
- package/dist/shadertypes/shader-types/shader-types.d.ts +101 -0
- package/dist/shadertypes/shader-types/shader-types.d.ts.map +1 -0
- package/dist/shadertypes/shader-types/shader-types.js +30 -0
- package/dist/shadertypes/shader-types/shader-types.js.map +1 -0
- package/dist/shadertypes/texture-types/pixel-utils.d.ts.map +1 -0
- package/dist/shadertypes/texture-types/pixel-utils.js.map +1 -0
- package/dist/shadertypes/{textures → texture-types}/texture-format-decoder.d.ts +1 -0
- package/dist/shadertypes/texture-types/texture-format-decoder.d.ts.map +1 -0
- package/dist/shadertypes/{textures → texture-types}/texture-format-decoder.js +55 -9
- package/dist/shadertypes/texture-types/texture-format-decoder.js.map +1 -0
- package/dist/shadertypes/texture-types/texture-format-generics.d.ts +34 -0
- package/dist/shadertypes/texture-types/texture-format-generics.d.ts.map +1 -0
- package/dist/shadertypes/texture-types/texture-format-generics.js.map +1 -0
- package/dist/shadertypes/texture-types/texture-format-table.d.ts.map +1 -0
- package/dist/shadertypes/{textures → texture-types}/texture-format-table.js +10 -9
- package/dist/shadertypes/texture-types/texture-format-table.js.map +1 -0
- package/dist/shadertypes/{textures → texture-types}/texture-formats.d.ts +10 -3
- package/dist/shadertypes/texture-types/texture-formats.d.ts.map +1 -0
- package/dist/shadertypes/{textures → texture-types}/texture-formats.js +1 -0
- package/dist/shadertypes/texture-types/texture-formats.js.map +1 -0
- package/dist/shadertypes/{textures → texture-types}/texture-layout.d.ts +1 -1
- package/dist/shadertypes/texture-types/texture-layout.d.ts.map +1 -0
- package/dist/shadertypes/texture-types/texture-layout.js.map +1 -0
- package/dist/shadertypes/vertex-types/vertex-format-decoder.d.ts +24 -0
- package/dist/shadertypes/vertex-types/vertex-format-decoder.d.ts.map +1 -0
- package/dist/shadertypes/vertex-types/vertex-format-decoder.js +106 -0
- package/dist/shadertypes/vertex-types/vertex-format-decoder.js.map +1 -0
- package/dist/shadertypes/vertex-types/vertex-formats.d.ts +50 -0
- package/dist/shadertypes/vertex-types/vertex-formats.d.ts.map +1 -0
- package/dist/shadertypes/vertex-types/vertex-formats.js.map +1 -0
- package/dist/utils/array-equal.d.ts +1 -1
- package/dist/utils/array-equal.d.ts.map +1 -1
- package/dist/utils/array-equal.js +15 -9
- package/dist/utils/array-equal.js.map +1 -1
- package/dist/utils/stats-manager.d.ts.map +1 -1
- package/dist/utils/stats-manager.js +61 -1
- package/dist/utils/stats-manager.js.map +1 -1
- package/package.json +3 -3
- package/src/adapter/canvas-context.ts +7 -623
- package/src/adapter/canvas-observer.ts +130 -0
- package/src/adapter/canvas-surface.ts +521 -0
- package/src/adapter/device.ts +287 -21
- package/src/adapter/presentation-context.ts +16 -0
- package/src/adapter/resources/buffer.ts +13 -5
- package/src/adapter/resources/command-buffer.ts +3 -1
- package/src/adapter/resources/command-encoder.ts +94 -3
- package/src/adapter/resources/compute-pipeline.ts +2 -2
- package/src/adapter/resources/fence.ts +3 -1
- package/src/adapter/resources/framebuffer.ts +1 -1
- package/src/adapter/resources/query-set.ts +17 -1
- package/src/adapter/resources/render-pipeline.ts +52 -16
- package/src/adapter/resources/resource.ts +284 -14
- package/src/adapter/resources/shared-render-pipeline.ts +40 -0
- package/src/adapter/resources/texture-view.ts +1 -1
- package/src/adapter/resources/texture.ts +273 -43
- package/src/adapter/types/attachments.ts +1 -1
- package/src/adapter/types/buffer-layout.ts +1 -1
- package/src/adapter/types/parameters.ts +4 -1
- package/src/adapter/types/shader-layout.ts +15 -9
- package/src/adapter/types/uniforms.ts +12 -0
- package/src/adapter-utils/bind-groups.ts +71 -0
- package/src/adapter-utils/get-attribute-from-layouts.ts +8 -11
- package/src/factories/bind-group-factory.ts +139 -0
- package/src/factories/core-module-state.ts +11 -0
- package/src/factories/pipeline-factory.ts +328 -0
- package/src/factories/shader-factory.ts +103 -0
- package/src/index.ts +54 -26
- package/src/portable/uniform-block.ts +1 -1
- package/src/portable/uniform-buffer-layout.ts +269 -62
- package/src/portable/uniform-store.ts +14 -11
- package/src/shadertypes/data-types/data-type-decoder.ts +105 -0
- package/src/shadertypes/data-types/data-types.ts +100 -48
- package/src/{image-utils → shadertypes/image-types}/image-types.ts +0 -7
- package/src/shadertypes/{data-types/decode-shader-types.ts → shader-types/shader-type-decoder.ts} +88 -14
- package/src/shadertypes/shader-types/shader-types.ts +207 -0
- package/src/shadertypes/{textures → texture-types}/texture-format-decoder.ts +75 -9
- package/src/shadertypes/{textures → texture-types}/texture-format-generics.ts +42 -48
- package/src/shadertypes/{textures → texture-types}/texture-format-table.ts +10 -9
- package/src/shadertypes/{textures → texture-types}/texture-formats.ts +20 -3
- package/src/shadertypes/vertex-types/vertex-format-decoder.ts +131 -0
- package/src/shadertypes/vertex-types/vertex-formats.ts +183 -0
- package/src/utils/array-equal.ts +21 -9
- package/src/utils/stats-manager.ts +76 -2
- package/dist/image-utils/image-types.d.ts.map +0 -1
- package/dist/image-utils/image-types.js.map +0 -1
- package/dist/shadertypes/data-types/decode-shader-types.d.ts +0 -17
- package/dist/shadertypes/data-types/decode-shader-types.d.ts.map +0 -1
- package/dist/shadertypes/data-types/decode-shader-types.js.map +0 -1
- package/dist/shadertypes/data-types/shader-types.d.ts +0 -43
- package/dist/shadertypes/data-types/shader-types.d.ts.map +0 -1
- package/dist/shadertypes/data-types/shader-types.js.map +0 -1
- package/dist/shadertypes/textures/pixel-utils.d.ts.map +0 -1
- package/dist/shadertypes/textures/pixel-utils.js.map +0 -1
- package/dist/shadertypes/textures/texture-format-decoder.d.ts.map +0 -1
- package/dist/shadertypes/textures/texture-format-decoder.js.map +0 -1
- package/dist/shadertypes/textures/texture-format-generics.d.ts +0 -33
- package/dist/shadertypes/textures/texture-format-generics.d.ts.map +0 -1
- package/dist/shadertypes/textures/texture-format-generics.js.map +0 -1
- package/dist/shadertypes/textures/texture-format-table.d.ts.map +0 -1
- package/dist/shadertypes/textures/texture-format-table.js.map +0 -1
- package/dist/shadertypes/textures/texture-formats.d.ts.map +0 -1
- package/dist/shadertypes/textures/texture-formats.js.map +0 -1
- package/dist/shadertypes/textures/texture-layout.d.ts.map +0 -1
- package/dist/shadertypes/textures/texture-layout.js.map +0 -1
- package/dist/shadertypes/vertex-arrays/decode-vertex-format.d.ts +0 -18
- package/dist/shadertypes/vertex-arrays/decode-vertex-format.d.ts.map +0 -1
- package/dist/shadertypes/vertex-arrays/decode-vertex-format.js +0 -100
- package/dist/shadertypes/vertex-arrays/decode-vertex-format.js.map +0 -1
- package/dist/shadertypes/vertex-arrays/vertex-formats.d.ts +0 -27
- package/dist/shadertypes/vertex-arrays/vertex-formats.d.ts.map +0 -1
- package/dist/shadertypes/vertex-arrays/vertex-formats.js.map +0 -1
- package/src/shadertypes/data-types/shader-types.ts +0 -94
- package/src/shadertypes/vertex-arrays/decode-vertex-format.ts +0 -124
- package/src/shadertypes/vertex-arrays/vertex-formats.ts +0 -91
- /package/dist/{image-utils → shadertypes/image-types}/image-types.js +0 -0
- /package/dist/shadertypes/{textures → texture-types}/pixel-utils.d.ts +0 -0
- /package/dist/shadertypes/{textures → texture-types}/pixel-utils.js +0 -0
- /package/dist/shadertypes/{textures → texture-types}/texture-format-generics.js +0 -0
- /package/dist/shadertypes/{textures → texture-types}/texture-format-table.d.ts +0 -0
- /package/dist/shadertypes/{textures → texture-types}/texture-layout.js +0 -0
- /package/dist/shadertypes/{vertex-arrays → vertex-types}/vertex-formats.js +0 -0
- /package/src/shadertypes/{textures → texture-types}/pixel-utils.ts +0 -0
- /package/src/shadertypes/{textures → texture-types}/texture-layout.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixel-utils.js","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/pixel-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ export declare class TextureFormatDecoder {
|
|
|
27
27
|
/** Computes the memory layout for a texture, in particular including row byte alignment */
|
|
28
28
|
computeMemoryLayout(opts: TextureMemoryLayoutOptions): TextureMemoryLayout;
|
|
29
29
|
}
|
|
30
|
+
/** Decoder for luma.gl texture types */
|
|
30
31
|
export declare const textureFormatDecoder: TextureFormatDecoder;
|
|
31
32
|
/**
|
|
32
33
|
* Decodes a texture format, returning e.g. attatchment type, components, byte length and flags (integer, signed, normalized)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-format-decoder.d.ts","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-format-decoder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EAC1B,6BAA0B;AAa3B,4CAA4C;AAC5C,MAAM,MAAM,0BAA0B,GAAG;IACvC,gCAAgC;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,8DAA8D;AAC9D,qBAAa,oBAAoB;IAC/B,0CAA0C;IAC1C,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,IAAI,kBAAkB;IAI5D,qDAAqD;IACrD,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,IAAI,yBAAyB;IAI1E,+CAA+C;IAC/C,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,IAAI,uBAAuB;IAItE,wIAAwI;IACxI,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB;IAIjD,oGAAoG;IACpG,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,yBAAyB;IAIjE,2FAA2F;IAC3F,mBAAmB,CAAC,IAAI,EAAE,0BAA0B,GAAG,mBAAmB;CAG3E;AAED,wCAAwC;AACxC,eAAO,MAAM,oBAAoB,sBAA6B,CAAC;AAqE/D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAiE7E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import {
|
|
4
|
+
import { dataTypeDecoder } from "../data-types/data-type-decoder.js";
|
|
5
5
|
import { getTextureFormatDefinition } from "./texture-format-table.js";
|
|
6
6
|
const RGB_FORMAT_REGEX = /^(r|rg|rgb|rgba|bgra)([0-9]*)([a-z]*)(-srgb)?(-webgl)?$/;
|
|
7
7
|
const COLOR_FORMAT_PREFIXES = ['rgb', 'rgba', 'bgra'];
|
|
@@ -37,15 +37,19 @@ export class TextureFormatDecoder {
|
|
|
37
37
|
return computeTextureMemoryLayout(opts);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
/** Decoder for luma.gl texture types */
|
|
40
41
|
export const textureFormatDecoder = new TextureFormatDecoder();
|
|
41
42
|
// HELPERS - MEMORY LAYOUT
|
|
42
43
|
/** Get the memory layout of a texture */
|
|
43
44
|
function computeTextureMemoryLayout({ format, width, height, depth, byteAlignment }) {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
const
|
|
45
|
+
const formatInfo = textureFormatDecoder.getInfo(format);
|
|
46
|
+
const { bytesPerPixel, bytesPerBlock = bytesPerPixel, blockWidth = 1, blockHeight = 1, compressed = false } = formatInfo;
|
|
47
|
+
const blockColumns = compressed ? Math.ceil(width / blockWidth) : width;
|
|
48
|
+
const blockRows = compressed ? Math.ceil(height / blockHeight) : height;
|
|
49
|
+
// byteAlignment comes from the backend/call site. WebGPU buffer copies use 256, queue.writeTexture uses 1.
|
|
50
|
+
const unpaddedBytesPerRow = blockColumns * bytesPerBlock;
|
|
47
51
|
const bytesPerRow = Math.ceil(unpaddedBytesPerRow / byteAlignment) * byteAlignment;
|
|
48
|
-
const rowsPerImage =
|
|
52
|
+
const rowsPerImage = blockRows;
|
|
49
53
|
const byteLength = bytesPerRow * rowsPerImage * depth;
|
|
50
54
|
return {
|
|
51
55
|
bytesPerPixel,
|
|
@@ -72,8 +76,9 @@ function getTextureFormatCapabilities(format) {
|
|
|
72
76
|
const isSigned = formatInfo?.signed;
|
|
73
77
|
const isInteger = formatInfo?.integer;
|
|
74
78
|
const isWebGLSpecific = formatInfo?.webgl;
|
|
75
|
-
|
|
76
|
-
|
|
79
|
+
const isCompressed = Boolean(formatInfo?.compressed);
|
|
80
|
+
// Only uncompressed color formats can be used as color-renderable attachments.
|
|
81
|
+
formatCapabilities.render &&= !isDepthStencil && !isCompressed;
|
|
77
82
|
// signed and integer formats are not filterable
|
|
78
83
|
formatCapabilities.filter &&= !isDepthStencil && !isSigned && !isInteger && !isWebGLSpecific;
|
|
79
84
|
return formatCapabilities;
|
|
@@ -90,6 +95,7 @@ export function getTextureFormatInfo(format) {
|
|
|
90
95
|
formatInfo.bytesPerPixel = 1;
|
|
91
96
|
formatInfo.srgb = false;
|
|
92
97
|
formatInfo.compressed = true;
|
|
98
|
+
formatInfo.bytesPerBlock = getCompressedTextureBlockByteLength(format);
|
|
93
99
|
const blockSize = getCompressedTextureBlockSize(format);
|
|
94
100
|
if (blockSize) {
|
|
95
101
|
formatInfo.blockWidth = blockSize.blockWidth;
|
|
@@ -97,11 +103,11 @@ export function getTextureFormatInfo(format) {
|
|
|
97
103
|
}
|
|
98
104
|
}
|
|
99
105
|
// Fill in missing information that can be derived from the format string
|
|
100
|
-
const matches = RGB_FORMAT_REGEX.exec(format);
|
|
106
|
+
const matches = !formatInfo.packed ? RGB_FORMAT_REGEX.exec(format) : null;
|
|
101
107
|
if (matches) {
|
|
102
108
|
const [, channels, length, type, srgb, suffix] = matches;
|
|
103
109
|
const dataType = `${type}${length}`;
|
|
104
|
-
const decodedType = getDataTypeInfo(dataType);
|
|
110
|
+
const decodedType = dataTypeDecoder.getDataTypeInfo(dataType);
|
|
105
111
|
const bits = decodedType.byteLength * 8;
|
|
106
112
|
const components = (channels?.length ?? 1);
|
|
107
113
|
const bitsPerChannel = [
|
|
@@ -179,8 +185,48 @@ function getCompressedTextureBlockSize(format) {
|
|
|
179
185
|
const [, blockWidth, blockHeight] = matches;
|
|
180
186
|
return { blockWidth: Number(blockWidth), blockHeight: Number(blockHeight) };
|
|
181
187
|
}
|
|
188
|
+
if (format.startsWith('bc') ||
|
|
189
|
+
format.startsWith('etc1') ||
|
|
190
|
+
format.startsWith('etc2') ||
|
|
191
|
+
format.startsWith('eac') ||
|
|
192
|
+
format.startsWith('atc')) {
|
|
193
|
+
return { blockWidth: 4, blockHeight: 4 };
|
|
194
|
+
}
|
|
195
|
+
if (format.startsWith('pvrtc-rgb4') || format.startsWith('pvrtc-rgba4')) {
|
|
196
|
+
return { blockWidth: 4, blockHeight: 4 };
|
|
197
|
+
}
|
|
198
|
+
if (format.startsWith('pvrtc-rgb2') || format.startsWith('pvrtc-rgba2')) {
|
|
199
|
+
return { blockWidth: 8, blockHeight: 4 };
|
|
200
|
+
}
|
|
182
201
|
return null;
|
|
183
202
|
}
|
|
203
|
+
function getCompressedTextureBlockByteLength(format) {
|
|
204
|
+
if (format.startsWith('bc1') ||
|
|
205
|
+
format.startsWith('bc4') ||
|
|
206
|
+
format.startsWith('etc1') ||
|
|
207
|
+
format.startsWith('etc2-rgb8') ||
|
|
208
|
+
format.startsWith('etc2-rgb8a1') ||
|
|
209
|
+
format.startsWith('eac-r11') ||
|
|
210
|
+
format === 'atc-rgb-unorm-webgl') {
|
|
211
|
+
return 8;
|
|
212
|
+
}
|
|
213
|
+
if (format.startsWith('bc2') ||
|
|
214
|
+
format.startsWith('bc3') ||
|
|
215
|
+
format.startsWith('bc5') ||
|
|
216
|
+
format.startsWith('bc6h') ||
|
|
217
|
+
format.startsWith('bc7') ||
|
|
218
|
+
format.startsWith('etc2-rgba8') ||
|
|
219
|
+
format.startsWith('eac-rg11') ||
|
|
220
|
+
format.startsWith('astc') ||
|
|
221
|
+
format === 'atc-rgba-unorm-webgl' ||
|
|
222
|
+
format === 'atc-rgbai-unorm-webgl') {
|
|
223
|
+
return 16;
|
|
224
|
+
}
|
|
225
|
+
if (format.startsWith('pvrtc')) {
|
|
226
|
+
return 8;
|
|
227
|
+
}
|
|
228
|
+
return 16;
|
|
229
|
+
}
|
|
184
230
|
/*
|
|
185
231
|
'r8unorm': {s: "float"}, // ✓ ✓ ✓ },
|
|
186
232
|
'r8snorm': {s: "float"}, // ✓ },
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-format-decoder.js","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-format-decoder.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,eAAe,EAAC,2CAAwC;AAUhE,OAAO,EAAC,0BAA0B,EAAC,kCAA+B;AAElE,MAAM,gBAAgB,GAAG,yDAAyD,CAAC;AACnF,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACtD,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACnD,kBAAkB;AAClB,MAAM,kCAAkC,GAAG;IACzC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;CAC/F,CAAC;AAkBF,8DAA8D;AAC9D,MAAM,OAAO,oBAAoB;IAC/B,0CAA0C;IAC1C,OAAO,CAAC,MAAqB;QAC3B,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,qDAAqD;IACrD,cAAc,CAAC,MAAqB;QAClC,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,+CAA+C;IAC/C,YAAY,CAAC,MAAqB;QAChC,OAAO,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,wIAAwI;IACxI,OAAO,CAAC,MAAqB;QAC3B,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,oGAAoG;IACpG,eAAe,CAAC,MAAqB;QACnC,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,2FAA2F;IAC3F,mBAAmB,CAAC,IAAgC;QAClD,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,wCAAwC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAE/D,0BAA0B;AAE1B,yCAAyC;AACzC,SAAS,0BAA0B,CAAC,EAClC,MAAM,EACN,KAAK,EACL,MAAM,EACN,KAAK,EACL,aAAa,EACc;IAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,EACJ,aAAa,EACb,aAAa,GAAG,aAAa,EAC7B,UAAU,GAAG,CAAC,EACd,WAAW,GAAG,CAAC,EACf,UAAU,GAAG,KAAK,EACnB,GAAG,UAAU,CAAC;IACf,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,2GAA2G;IAC3G,MAAM,mBAAmB,GAAG,YAAY,GAAG,aAAa,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC;IACnF,MAAM,YAAY,GAAG,SAAS,CAAC;IAC/B,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,KAAK,CAAC;IAEtD,OAAO;QACL,aAAa;QACb,WAAW;QACX,YAAY;QACZ,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,WAAW,GAAG,YAAY;QACzC,UAAU;KACX,CAAC;AACJ,CAAC;AAED,yBAAyB;AAEzB,SAAS,4BAA4B,CAAC,MAAqB;IACzD,MAAM,IAAI,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAEhD,MAAM,kBAAkB,GAAwC;QAC9D,MAAM;QACN,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;KAC1B,CAAC;IAEF,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,UAAU,EAAE,MAAM,CAAC;IACpC,MAAM,SAAS,GAAG,UAAU,EAAE,OAAO,CAAC;IACtC,MAAM,eAAe,GAAG,UAAU,EAAE,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAErD,+EAA+E;IAC/E,kBAAkB,CAAC,MAAM,KAAK,CAAC,cAAc,IAAI,CAAC,YAAY,CAAC;IAC/D,gDAAgD;IAChD,kBAAkB,CAAC,MAAM,KAAK,CAAC,cAAc,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC;IAE7F,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,uBAAuB;AAEvB;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,IAAI,UAAU,GAAsB,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAE3E,IAAI,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC5B,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC;QAC1B,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC;QAC7B,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;QACxB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,UAAU,CAAC,aAAa,GAAG,mCAAmC,CAAC,MAAM,CAAC,CAAC;QAEvE,MAAM,SAAS,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;YAC7C,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACjD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;QACzD,MAAM,QAAQ,GAAG,GAAG,IAAI,GAAG,MAAM,EAAwB,CAAC;QAC1D,MAAM,WAAW,GAAG,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAkB,CAAC;QAC5D,MAAM,cAAc,GAAqC;YACvD,IAAI;YACJ,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3B,CAAC;QAEF,UAAU,GAAG;YACX,MAAM;YACN,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,QAAQ,EAAE,WAAW,CAAC,UAAU;YAChC,UAAU;YACV,QAAQ,EAAE,QAAuC;YACjD,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,cAAc;YACd,aAAa,EAAE,WAAW,CAAC,UAAU,GAAG,UAAU;YAClD,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,IAAI,EAAE,UAAU,CAAC,IAAI;SACtB,CAAC;QAEF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,wCAAwC;QACxC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gDAAgD;AAChD,SAAS,8BAA8B,CAAC,MAAqB;IAC3D,MAAM,IAAI,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,cAAc,CAAC;IAC3B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC1B,OAAO,IAAI,CAAC,CAAC,CAAC;IACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACnB,OAAO,IAAI,CAAC,MAAM,CAAC;IACnB,OAAO,IAAI,CAAC,KAAK,CAAC;IAClB,OAAO,IAAI,CAAC,KAAK,CAAC;IAElB,MAAM,UAAU,GAAsB;QACpC,GAAG,IAAI;QACP,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO;QACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,GAAG;QAC9B,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAkB;QAC5E,aAAa;QACb,cAAc;QACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;QAClC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;QAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;QACpC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;KACrC,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,kDAAkD;AAClD,SAAS,6BAA6B,CACpC,MAA+B;IAE/B,MAAM,KAAK,GAAG,mBAAmB,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC;QAC5C,OAAO,EAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAC,CAAC;IAC5E,CAAC;IAED,IACE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACvB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QACzB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QACzB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EACxB,CAAC;QACD,OAAO,EAAC,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACxE,OAAO,EAAC,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACxE,OAAO,EAAC,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAC,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mCAAmC,CAAC,MAA+B;IAC1E,IACE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QACzB,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAC9B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5B,MAAM,KAAK,qBAAqB,EAChC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IACE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QACzB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAC7B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QACzB,MAAM,KAAK,sBAAsB;QACjC,MAAM,KAAK,uBAAuB,EAClC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2GE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type TextureFormat, type TextureFormatDepthStencil, type TextureFormatCompressed } from "./texture-formats.js";
|
|
2
|
+
/** @type data type for a texture format */
|
|
3
|
+
export type TextureFormatDataTypeT<T extends TextureFormat> = T extends TextureFormatUint8 ? 'uint8' : T extends TextureFormatSint8 ? 'sint8' : T extends TextureFormatUnorm8 ? 'unorm8' : T extends TextureFormatSnorm8 ? 'snorm8' : T extends TextureFormatUint16 ? 'uint16' : T extends TextureFormatSint16 ? 'sint16' : T extends TextureFormatUnorm16 ? 'unorm16' : T extends TextureFormatSnorm16 ? 'snorm16' : T extends TextureFormatUint32 ? 'uint32' : T extends TextureFormatSint32 ? 'sint32' : T extends TextureFormatFloat16 ? 'float16' : T extends TextureFormatFloat32 ? 'float32' : T extends TextureFormatDepthStencil ? 'uint32' : T extends TextureFormatCompressed ? 'uint8' : T extends TextureFormatPacked16 ? 'uint16' : T extends TextureFormatPacked32 ? 'uint32' : never;
|
|
4
|
+
/** @type A numeric array of length matching the number of components in the texture format */
|
|
5
|
+
export type TextureFormatPixelT<T extends TextureFormat> = TextureFormatPackedComponentsT<T> extends 1 ? [number] : TextureFormatPackedComponentsT<T> extends 2 ? [number, number] : TextureFormatPackedComponentsT<T> extends 3 ? [number, number, number] : TextureFormatPackedComponentsT<T> extends 4 ? [number, number, number, number] : never;
|
|
6
|
+
/**
|
|
7
|
+
* @type number - the number of components in a texture format
|
|
8
|
+
* @note packed formats have only one component. Use TextureFormatPackedComponentsT
|
|
9
|
+
*/
|
|
10
|
+
export type TextureFormatComponentsT<T extends TextureFormat> = T extends TextureFormatR | TextureFormatPackedRGB | TextureFormatPackedRGBA ? 1 : T extends TextureFormatRG ? 2 : T extends TextureFormatRGB ? 3 : T extends TextureFormatRGBA ? 4 : never;
|
|
11
|
+
/** @type number - the number of components in a packed texture format */
|
|
12
|
+
export type TextureFormatPackedComponentsT<T extends TextureFormat> = T extends TextureFormatR ? 1 : T extends TextureFormatRG ? 2 : T extends TextureFormatRGB | TextureFormatPackedRGB ? 3 : T extends TextureFormatRGBA | TextureFormatPackedRGBA ? 4 : never;
|
|
13
|
+
type TextureFormatR = 'r8uint' | 'r8sint' | 'r8unorm' | 'r8snorm' | 'r16unorm' | 'r16snorm' | 'r16uint' | 'r16sint' | 'r16float' | 'r32uint' | 'r32sint' | 'r32float';
|
|
14
|
+
type TextureFormatRG = 'rg8unorm' | 'rg8snorm' | 'rg8uint' | 'rg8sint' | 'rg16unorm' | 'rg16snorm' | 'rg16uint' | 'rg16sint' | 'rg16float' | 'rg32uint' | 'rg32sint' | 'rg32float';
|
|
15
|
+
type TextureFormatRGB = 'rgb8unorm-webgl' | 'rgb8snorm-webgl' | 'rgb16unorm-webgl' | 'rgb16snorm-webgl' | 'rgb32float-webgl';
|
|
16
|
+
type TextureFormatRGBA = 'rgba8uint' | 'rgba8unorm' | 'rgba8unorm-srgb' | 'rgba8snorm' | 'bgra8unorm' | 'bgra8unorm-srgb' | 'rgba8sint' | 'rgba16unorm' | 'rgba16snorm' | 'rgba16uint' | 'rgba16sint' | 'rgba16float' | 'rgba32uint' | 'rgba32sint' | 'rgba32float';
|
|
17
|
+
type TextureFormatPackedRGB = 'rgb565unorm-webgl' | 'rgb9e5ufloat' | 'rg11b10ufloat';
|
|
18
|
+
type TextureFormatPackedRGBA = 'rgba4unorm-webgl' | 'rgb5a1unorm-webgl' | 'rgb10a2unorm' | 'rgb10a2uint';
|
|
19
|
+
type TextureFormatUnorm8 = 'r8unorm' | 'rg8unorm' | 'rgb8unorm-webgl' | 'rgba8unorm' | 'rgba8unorm-srgb' | 'bgra8unorm' | 'bgra8unorm-srgb';
|
|
20
|
+
type TextureFormatSnorm8 = 'r8snorm' | 'rg8snorm' | 'rgb8snorm-webgl' | 'rgba8snorm';
|
|
21
|
+
type TextureFormatUint8 = 'r8uint' | 'rg8uint' | 'rgba8uint';
|
|
22
|
+
type TextureFormatSint8 = 'r8sint' | 'rg8sint' | 'rgba8sint';
|
|
23
|
+
type TextureFormatUnorm16 = 'r16unorm' | 'rg16unorm' | 'rgb16unorm-webgl' | 'rgba16unorm';
|
|
24
|
+
type TextureFormatSnorm16 = 'r16snorm' | 'rg16snorm' | 'rgb16snorm-webgl' | 'rgba16snorm';
|
|
25
|
+
type TextureFormatUint16 = 'r16uint' | 'rg16uint' | 'rgba16uint';
|
|
26
|
+
type TextureFormatSint16 = 'r16sint' | 'rg16sint' | 'rgba16sint';
|
|
27
|
+
type TextureFormatFloat16 = 'r16float' | 'rg16float' | 'rgba16float';
|
|
28
|
+
type TextureFormatUint32 = 'r32uint' | 'rg32uint' | 'rgba32uint';
|
|
29
|
+
type TextureFormatSint32 = 'r32sint' | 'rg32sint' | 'rgba32sint';
|
|
30
|
+
type TextureFormatFloat32 = 'r32float' | 'rg32float' | 'rgb32float-webgl' | 'rgba32float';
|
|
31
|
+
type TextureFormatPacked16 = 'rgba4unorm-webgl' | 'rgb565unorm-webgl' | 'rgb5a1unorm-webgl';
|
|
32
|
+
type TextureFormatPacked32 = 'rgb9e5ufloat' | 'rg11b10ufloat' | 'rgb10a2unorm' | 'rgb10a2uint';
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=texture-format-generics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-format-generics.d.ts","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-format-generics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-format-generics.js","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-format-generics.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-format-table.d.ts","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-format-table.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EAGb,cAAc,EACd,iBAAiB,EAElB,6BAA0B;AAsB3B,wDAAwD;AAExD,sDAAsD;AACtD,KAAK,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG;IAC1D,qCAAqC;IACrC,CAAC,CAAC,EAAE,cAAc,CAAC;IACnB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC;IAChC,0FAA0F;IAC1F,MAAM,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC;IAChC,KAAK,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC;IAC/B,KAAK,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC;IAE/B,wDAAwD;IACxD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,eAAe;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,iCAAiC;IACjC,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,aAAa,GAAG,uBAAuB,CAMzF;AAED,wBAAgB,qBAAqB,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC,CAEhG;AA8KD,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAGzF,CAAC"}
|
|
@@ -13,6 +13,7 @@ const float32_renderable = 'float32-renderable-webgl';
|
|
|
13
13
|
const float16_renderable = 'float16-renderable-webgl';
|
|
14
14
|
const rgb9e5ufloat_renderable = 'rgb9e5ufloat-renderable-webgl';
|
|
15
15
|
const snorm8_renderable = 'snorm8-renderable-webgl';
|
|
16
|
+
const norm16_webgl = 'norm16-webgl';
|
|
16
17
|
const norm16_renderable = 'norm16-renderable-webgl';
|
|
17
18
|
const snorm16_renderable = 'snorm16-renderable-webgl';
|
|
18
19
|
const float32_filterable = 'float32-filterable';
|
|
@@ -47,14 +48,14 @@ const TEXTURE_FORMAT_COLOR_DEPTH_TABLE = {
|
|
|
47
48
|
'rgba8sint': {},
|
|
48
49
|
'bgra8unorm': {},
|
|
49
50
|
'bgra8unorm-srgb': {},
|
|
50
|
-
'r16unorm': { f: norm16_renderable },
|
|
51
|
-
'rg16unorm': { render: norm16_renderable },
|
|
52
|
-
'rgb16unorm-webgl': { f:
|
|
53
|
-
'rgba16unorm': { render: norm16_renderable },
|
|
54
|
-
'r16snorm': { f: snorm16_renderable },
|
|
55
|
-
'rg16snorm': { render: snorm16_renderable },
|
|
56
|
-
'rgb16snorm-webgl': { f:
|
|
57
|
-
'rgba16snorm': { render: snorm16_renderable },
|
|
51
|
+
'r16unorm': { f: norm16_webgl, render: norm16_renderable },
|
|
52
|
+
'rg16unorm': { f: norm16_webgl, render: norm16_renderable },
|
|
53
|
+
'rgb16unorm-webgl': { f: norm16_webgl, render: false }, // rgb not renderable
|
|
54
|
+
'rgba16unorm': { f: norm16_webgl, render: norm16_renderable },
|
|
55
|
+
'r16snorm': { f: norm16_webgl, render: snorm16_renderable },
|
|
56
|
+
'rg16snorm': { f: norm16_webgl, render: snorm16_renderable },
|
|
57
|
+
'rgb16snorm-webgl': { f: norm16_webgl, render: false }, // rgb not renderable
|
|
58
|
+
'rgba16snorm': { f: norm16_webgl, render: snorm16_renderable },
|
|
58
59
|
'r16uint': {},
|
|
59
60
|
'rg16uint': {},
|
|
60
61
|
'rgba16uint': {},
|
|
@@ -157,7 +158,7 @@ const TEXTURE_FORMAT_COMPRESSED_TABLE = {
|
|
|
157
158
|
// WEBGL_compressed_texture_pvrtc
|
|
158
159
|
'pvrtc-rgb4unorm-webgl': { f: texture_compression_pvrtc_webgl },
|
|
159
160
|
'pvrtc-rgba4unorm-webgl': { f: texture_compression_pvrtc_webgl },
|
|
160
|
-
'pvrtc-
|
|
161
|
+
'pvrtc-rgb2unorm-webgl': { f: texture_compression_pvrtc_webgl },
|
|
161
162
|
'pvrtc-rgba2unorm-webgl': { f: texture_compression_pvrtc_webgl },
|
|
162
163
|
// WEBGL_compressed_texture_etc1
|
|
163
164
|
'etc1-rbg-unorm-webgl': { f: texture_compression_etc1_webgl },
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-format-table.js","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-format-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NormalizedDataType,
|
|
1
|
+
import type { NormalizedDataType, TypedArrayConstructorT, NormalizedTypedArrayConstructorT } from "../data-types/data-types.js";
|
|
2
2
|
/** Information about the structure of a texture format */
|
|
3
3
|
export type TextureFormatInfo = {
|
|
4
4
|
/** The format that is described */
|
|
@@ -13,6 +13,8 @@ export type TextureFormatInfo = {
|
|
|
13
13
|
dataType?: NormalizedDataType;
|
|
14
14
|
/** Number of bytes per pixel */
|
|
15
15
|
bytesPerPixel: number;
|
|
16
|
+
/** Compressed formats only: Number of bytes per block */
|
|
17
|
+
bytesPerBlock?: number;
|
|
16
18
|
/** Number of bits per channel (may be unreliable for packed formats) */
|
|
17
19
|
bitsPerChannel: [number, number, number, number];
|
|
18
20
|
/** If this is a packed data type */
|
|
@@ -86,7 +88,7 @@ export type TextureCompression = 'dxt' | 'dxt-srgb' | 'etc1' | 'etc2' | 'pvrtc'
|
|
|
86
88
|
* Texture feature checks
|
|
87
89
|
* @note these must be a subset of DeviceFeatures.
|
|
88
90
|
*/
|
|
89
|
-
export type TextureFeature = 'texture-compression-bc' | 'texture-compression-astc' | 'texture-compression-etc2' | 'texture-compression-etc1-webgl' | 'texture-compression-pvrtc-webgl' | 'texture-compression-atc-webgl' | 'float32-renderable-webgl' | 'float16-renderable-webgl' | 'rgb9e5ufloat-renderable-webgl' | 'snorm8-renderable-webgl' | 'norm16-renderable-webgl' | 'snorm16-renderable-webgl' | 'float32-filterable' | 'float16-filterable-webgl';
|
|
91
|
+
export type TextureFeature = 'texture-compression-bc' | 'texture-compression-astc' | 'texture-compression-etc2' | 'texture-compression-etc1-webgl' | 'texture-compression-pvrtc-webgl' | 'texture-compression-atc-webgl' | 'float32-renderable-webgl' | 'float16-renderable-webgl' | 'rgb9e5ufloat-renderable-webgl' | 'snorm8-renderable-webgl' | 'norm16-webgl' | 'norm16-renderable-webgl' | 'snorm16-renderable-webgl' | 'float32-filterable' | 'float16-filterable-webgl';
|
|
90
92
|
/** Chrome-specific extensions. Expected to eventually become standard features. */
|
|
91
93
|
export type ChromeExperimentalTextureFeature = 'chromium-experimental-unorm16-texture-formats' | 'chromium-experimental-snorm16-texture-formats';
|
|
92
94
|
/** Texture formats */
|
|
@@ -110,8 +112,13 @@ export type TextureFormatSint32 = 'r32sint' | 'rg32sint' | 'rgba32sint';
|
|
|
110
112
|
export type TextureFormatFloat32 = 'r32float' | 'rg32float' | 'rgb32float-webgl' | 'rgba32float';
|
|
111
113
|
export type TextureFormatPacked16 = 'rgba4unorm-webgl' | 'rgb565unorm-webgl' | 'rgb5a1unorm-webgl';
|
|
112
114
|
export type TextureFormatPacked32 = 'rgb9e5ufloat' | 'rg11b10ufloat' | 'rgb10a2unorm' | 'rgb10a2uint';
|
|
113
|
-
export type TextureFormatCompressed = 'bc1-rgb-unorm-webgl' | 'bc1-rgb-unorm-srgb-webgl' | 'pvrtc-rgb4unorm-webgl' | 'pvrtc-rgba4unorm-webgl' | 'pvrtc-
|
|
115
|
+
export type TextureFormatCompressed = 'bc1-rgb-unorm-webgl' | 'bc1-rgb-unorm-srgb-webgl' | 'pvrtc-rgb4unorm-webgl' | 'pvrtc-rgba4unorm-webgl' | 'pvrtc-rgb2unorm-webgl' | 'pvrtc-rgba2unorm-webgl' | 'etc1-rbg-unorm-webgl' | 'atc-rgb-unorm-webgl' | 'atc-rgba-unorm-webgl' | 'atc-rgbai-unorm-webgl' | 'bc1-rgba-unorm' | 'bc1-rgba-unorm-srgb' | 'bc2-rgba-unorm' | 'bc2-rgba-unorm-srgb' | 'bc3-rgba-unorm' | 'bc3-rgba-unorm-srgb' | 'bc4-r-unorm' | 'bc4-r-snorm' | 'bc5-rg-unorm' | 'bc5-rg-snorm' | 'bc6h-rgb-ufloat' | 'bc6h-rgb-float' | 'bc7-rgba-unorm' | 'bc7-rgba-unorm-srgb' | 'etc2-rgb8unorm' | 'etc2-rgb8unorm-srgb' | 'etc2-rgb8a1unorm' | 'etc2-rgb8a1unorm-srgb' | 'etc2-rgba8unorm' | 'etc2-rgba8unorm-srgb' | 'eac-r11unorm' | 'eac-r11snorm' | 'eac-rg11unorm' | 'eac-rg11snorm' | 'astc-4x4-unorm' | 'astc-4x4-unorm-srgb' | 'astc-5x4-unorm' | 'astc-5x4-unorm-srgb' | 'astc-5x5-unorm' | 'astc-5x5-unorm-srgb' | 'astc-6x5-unorm' | 'astc-6x5-unorm-srgb' | 'astc-6x6-unorm' | 'astc-6x6-unorm-srgb' | 'astc-8x5-unorm' | 'astc-8x5-unorm-srgb' | 'astc-8x6-unorm' | 'astc-8x6-unorm-srgb' | 'astc-8x8-unorm' | 'astc-8x8-unorm-srgb' | 'astc-10x5-unorm' | 'astc-10x5-unorm-srgb' | 'astc-10x6-unorm' | 'astc-10x6-unorm-srgb' | 'astc-10x8-unorm' | 'astc-10x8-unorm-srgb' | 'astc-10x10-unorm' | 'astc-10x10-unorm-srgb' | 'astc-12x10-unorm' | 'astc-12x10-unorm-srgb' | 'astc-12x12-unorm' | 'astc-12x12-unorm-srgb';
|
|
116
|
+
export type CompressedTextureFormat = TextureFormatCompressed;
|
|
114
117
|
export type TextureFormatTypedArray<T extends TextureFormat> = DataTypeArray<TextureFormatDataType<T>>;
|
|
115
118
|
export type TextureFormatNormalizedTypedArray<T extends TextureFormat> = NormalizedDataTypeArray<TextureFormatDataType<T>>;
|
|
116
119
|
export type TextureFormatDataType<T extends TextureFormat> = T extends TextureFormatUint8 ? 'uint8' : T extends TextureFormatSint8 ? 'sint8' : T extends TextureFormatUnorm8 ? 'unorm8' : T extends TextureFormatSnorm8 ? 'snorm8' : T extends TextureFormatUint16 ? 'uint16' : T extends TextureFormatSint16 ? 'sint16' : T extends TextureFormatUnorm16 ? 'unorm16' : T extends TextureFormatSnorm16 ? 'snorm16' : T extends TextureFormatUint32 ? 'uint32' : T extends TextureFormatSint32 ? 'sint32' : T extends TextureFormatFloat16 ? 'float16' : T extends TextureFormatFloat32 ? 'float32' : T extends TextureFormatDepthStencil ? 'uint32' : T extends TextureFormatCompressed ? 'uint8' : T extends TextureFormatPacked16 ? 'uint16' : T extends TextureFormatPacked32 ? 'uint32' : never;
|
|
120
|
+
export type TextureFormatDataTypeT<T extends TextureFormat> = TextureFormatDataType<T>;
|
|
121
|
+
type DataTypeArray<T extends NormalizedDataType> = InstanceType<TypedArrayConstructorT<T>>;
|
|
122
|
+
type NormalizedDataTypeArray<T extends NormalizedDataType> = InstanceType<NormalizedTypedArrayConstructorT<T>>;
|
|
123
|
+
export {};
|
|
117
124
|
//# sourceMappingURL=texture-formats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-formats.d.ts","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-formats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-formats.js","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-formats.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;;AA6UpC,eAAe;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypedArray } from '@math.gl/types';
|
|
2
2
|
import { type TextureFormat, type TextureMemoryLayout } from "./texture-formats.js";
|
|
3
|
-
export declare function getTextureImageView<T extends TextureFormat>(arrayBuffer: ArrayBuffer, memoryLayout: TextureMemoryLayout, format: T, image?: number):
|
|
3
|
+
export declare function getTextureImageView<T extends TextureFormat>(arrayBuffer: ArrayBuffer, memoryLayout: TextureMemoryLayout, format: T, image?: number): Uint8Array<ArrayBuffer> | Uint16Array<ArrayBuffer> | Uint32Array<ArrayBuffer> | Float32Array<ArrayBuffer>;
|
|
4
4
|
export declare function setTextureImageData<T extends TextureFormat>(arrayBuffer: ArrayBuffer, memoryLayout: TextureMemoryLayout, format: T, data: TypedArray, image?: number): void;
|
|
5
5
|
//# sourceMappingURL=texture-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-layout.d.ts","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-layout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAC,6BAA0B;AAG/E,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,aAAa,EACzD,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,mBAAmB,EACjC,MAAM,EAAE,CAAC,EACT,KAAK,SAAI,6GA8BV;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,aAAa,EACzD,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,mBAAmB,EACjC,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,UAAU,EAChB,KAAK,SAAI,GACR,IAAI,CASN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-layout.js","sourceRoot":"","sources":["../../../src/shadertypes/texture-types/texture-layout.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,oBAAoB,EAAC,oCAAiC;AAE9D,MAAM,UAAU,mBAAmB,CACjC,WAAwB,EACxB,YAAiC,EACjC,MAAS,EACT,KAAK,GAAG,CAAC;IAET,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC;IAC3E,MAAM,EAAC,aAAa,EAAC,GAAG,YAAY,CAAC;IACrC,MAAM,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;IACrC,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,iBAAiB,CAAC;IAEnE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1D,KAAK,SAAS;YACZ,OAAO,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1D,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACf,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3D,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACf,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3D,KAAK,UAAU;YACb,OAAO,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5D,KAAK,aAAa;YAChB,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa;QACzE,KAAK,aAAa;YAChB,OAAO,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5D;YACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,WAAwB,EACxB,YAAiC,EACjC,MAAS,EACT,IAAgB,EAChB,KAAK,GAAG,CAAC;IAET,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,sCAAsC;IAExD,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEjF,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TypedArray } from "../../types.js";
|
|
2
|
+
import type { PrimitiveDataType, SignedDataType } from "../data-types/data-types.js";
|
|
3
|
+
import type { VertexFormat, VertexFormatInfo } from "./vertex-formats.js";
|
|
4
|
+
export declare class VertexFormatDecoder {
|
|
5
|
+
/**
|
|
6
|
+
* Decodes a vertex format, returning type, components, byte length and flags (integer, signed, normalized)
|
|
7
|
+
*/
|
|
8
|
+
getVertexFormatInfo<T extends VertexFormat = VertexFormat>(format: T): VertexFormatInfo<T>;
|
|
9
|
+
/** Build a vertex format from a signed data type and a component */
|
|
10
|
+
makeVertexFormat(signedDataType: SignedDataType, components: 1 | 2 | 3 | 4, normalized?: boolean): VertexFormat;
|
|
11
|
+
/** Get the vertex format for an attribute with TypedArray and size */
|
|
12
|
+
getVertexFormatFromAttribute(typedArray: TypedArray, size: number, normalized?: boolean): VertexFormat;
|
|
13
|
+
/**
|
|
14
|
+
* Return a "default" vertex format for a certain shader data type
|
|
15
|
+
* The simplest vertex format that matches the shader attribute's data type
|
|
16
|
+
*/
|
|
17
|
+
getCompatibleVertexFormat(opts: {
|
|
18
|
+
primitiveType: PrimitiveDataType;
|
|
19
|
+
components: 1 | 2 | 3 | 4;
|
|
20
|
+
}): VertexFormat;
|
|
21
|
+
}
|
|
22
|
+
/** Decoder for luma.gl vertex types */
|
|
23
|
+
export declare const vertexFormatDecoder: VertexFormatDecoder;
|
|
24
|
+
//# sourceMappingURL=vertex-format-decoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertex-format-decoder.d.ts","sourceRoot":"","sources":["../../../src/shadertypes/vertex-types/vertex-format-decoder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,uBAAoB;AAC5C,OAAO,KAAK,EAAqB,iBAAiB,EAAE,cAAc,EAAC,oCAAiC;AACpG,OAAO,KAAK,EAAC,YAAY,EAAE,gBAAgB,EAAC,4BAAyB;AAGrE,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,mBAAmB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IA2B1F,oEAAoE;IACpE,gBAAgB,CACd,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EACzB,UAAU,CAAC,EAAE,OAAO,GACnB,YAAY;IAqCf,sEAAsE;IACtE,4BAA4B,CAC1B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,OAAO,GACnB,YAAY;IAUf;;;OAGG;IAEH,yBAAyB,CAAC,IAAI,EAAE;QAC9B,aAAa,EAAE,iBAAiB,CAAC;QACjC,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC3B,GAAG,YAAY;CAsBjB;AAED,uCAAuC;AACvC,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// luma.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { dataTypeDecoder } from "../data-types/data-type-decoder.js";
|
|
5
|
+
export class VertexFormatDecoder {
|
|
6
|
+
/**
|
|
7
|
+
* Decodes a vertex format, returning type, components, byte length and flags (integer, signed, normalized)
|
|
8
|
+
*/
|
|
9
|
+
getVertexFormatInfo(format) {
|
|
10
|
+
// Strip the -webgl ending if present
|
|
11
|
+
let webglOnly;
|
|
12
|
+
if (format.endsWith('-webgl')) {
|
|
13
|
+
format.replace('-webgl', '');
|
|
14
|
+
webglOnly = true;
|
|
15
|
+
}
|
|
16
|
+
// split components from type
|
|
17
|
+
const [type_, count] = format.split('x');
|
|
18
|
+
const type = type_;
|
|
19
|
+
const components = (count ? parseInt(count) : 1);
|
|
20
|
+
// decode the type
|
|
21
|
+
const decodedType = dataTypeDecoder.getDataTypeInfo(type);
|
|
22
|
+
const result = {
|
|
23
|
+
type,
|
|
24
|
+
components,
|
|
25
|
+
byteLength: decodedType.byteLength * components,
|
|
26
|
+
integer: decodedType.integer,
|
|
27
|
+
signed: decodedType.signed,
|
|
28
|
+
normalized: decodedType.normalized
|
|
29
|
+
};
|
|
30
|
+
if (webglOnly) {
|
|
31
|
+
result.webglOnly = true;
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
/** Build a vertex format from a signed data type and a component */
|
|
36
|
+
makeVertexFormat(signedDataType, components, normalized) {
|
|
37
|
+
const dataType = normalized
|
|
38
|
+
? dataTypeDecoder.getNormalizedDataType(signedDataType)
|
|
39
|
+
: signedDataType;
|
|
40
|
+
switch (dataType) {
|
|
41
|
+
// TODO - Special cases for WebGL (not supported on WebGPU), overrides the check below
|
|
42
|
+
case 'unorm8':
|
|
43
|
+
if (components === 1) {
|
|
44
|
+
return 'unorm8';
|
|
45
|
+
}
|
|
46
|
+
if (components === 3) {
|
|
47
|
+
return 'unorm8x3-webgl';
|
|
48
|
+
}
|
|
49
|
+
return `${dataType}x${components}`;
|
|
50
|
+
case 'snorm8':
|
|
51
|
+
case 'uint8':
|
|
52
|
+
case 'sint8':
|
|
53
|
+
// WebGPU 8 bit formats must be aligned to 16 bit boundaries');
|
|
54
|
+
// fall through
|
|
55
|
+
case 'uint16':
|
|
56
|
+
case 'sint16':
|
|
57
|
+
case 'unorm16':
|
|
58
|
+
case 'snorm16':
|
|
59
|
+
case 'float16':
|
|
60
|
+
// WebGPU 16 bit formats must be aligned to 32 bit boundaries
|
|
61
|
+
if (components === 1 || components === 3) {
|
|
62
|
+
throw new Error(`size: ${components}`);
|
|
63
|
+
}
|
|
64
|
+
return `${dataType}x${components}`;
|
|
65
|
+
default:
|
|
66
|
+
return components === 1 ? dataType : `${dataType}x${components}`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** Get the vertex format for an attribute with TypedArray and size */
|
|
70
|
+
getVertexFormatFromAttribute(typedArray, size, normalized) {
|
|
71
|
+
if (!size || size > 4) {
|
|
72
|
+
throw new Error(`size ${size}`);
|
|
73
|
+
}
|
|
74
|
+
const components = size;
|
|
75
|
+
const signedDataType = dataTypeDecoder.getDataType(typedArray);
|
|
76
|
+
return this.makeVertexFormat(signedDataType, components, normalized);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Return a "default" vertex format for a certain shader data type
|
|
80
|
+
* The simplest vertex format that matches the shader attribute's data type
|
|
81
|
+
*/
|
|
82
|
+
getCompatibleVertexFormat(opts) {
|
|
83
|
+
let vertexType;
|
|
84
|
+
switch (opts.primitiveType) {
|
|
85
|
+
case 'f32':
|
|
86
|
+
vertexType = 'float32';
|
|
87
|
+
break;
|
|
88
|
+
case 'i32':
|
|
89
|
+
vertexType = 'sint32';
|
|
90
|
+
break;
|
|
91
|
+
case 'u32':
|
|
92
|
+
vertexType = 'uint32';
|
|
93
|
+
break;
|
|
94
|
+
case 'f16':
|
|
95
|
+
return opts.components <= 2 ? 'float16x2' : 'float16x4';
|
|
96
|
+
}
|
|
97
|
+
// TODO logic does not work for float16
|
|
98
|
+
if (opts.components === 1) {
|
|
99
|
+
return vertexType;
|
|
100
|
+
}
|
|
101
|
+
return `${vertexType}x${opts.components}`;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** Decoder for luma.gl vertex types */
|
|
105
|
+
export const vertexFormatDecoder = new VertexFormatDecoder();
|
|
106
|
+
//# sourceMappingURL=vertex-format-decoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertex-format-decoder.js","sourceRoot":"","sources":["../../../src/shadertypes/vertex-types/vertex-format-decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DataTypeIsIntegerT, DataTypeIsNormalizedT, DataTypeIsSignedT } from "../data-types/data-types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Describes the **memory format** and interpretation (normalization) of a buffer that will be supplied to vertex attributes
|
|
4
|
+
* @note Must be compatible with the AttributeShaderType of the shaders, see documentation.
|
|
5
|
+
* @note This is a superset of WebGPU vertex formats to allow for some flexibility for WebGL only applications
|
|
6
|
+
* @todo Add device.isVertexFormatSupported() method?
|
|
7
|
+
*/
|
|
8
|
+
export type VertexFormat = 'uint8' | 'uint8x2' | 'uint8x4' | 'sint8' | 'sint8x2' | 'sint8x4' | 'unorm8' | 'unorm8x2' | 'unorm8x3-webgl' | 'unorm8x4' | 'unorm8x4-bgra' | 'unorm10-10-10-2' | 'snorm8' | 'snorm8x2' | 'snorm8x3-webgl' | 'snorm8x4' | 'uint16' | 'sint16' | 'unorm16' | 'snorm16' | 'uint16x2' | 'uint16x4' | 'sint16x2' | 'sint16x4' | 'unorm16x2' | 'unorm16x4' | 'snorm16x2' | 'snorm16x4' | 'uint32' | 'uint32x2' | 'uint32x3' | 'uint32x4' | 'sint32' | 'sint32x2' | 'sint32x3' | 'sint32x4' | 'float16' | 'float16x2' | 'float16x4' | 'float32' | 'float32x2' | 'float32x3' | 'float32x4';
|
|
9
|
+
/**
|
|
10
|
+
* @type Information about a vertex format
|
|
11
|
+
*/
|
|
12
|
+
export type VertexFormatInfo<T extends VertexFormat = VertexFormat> = {
|
|
13
|
+
/** Type of each component */
|
|
14
|
+
type: VertexFormatDataTypeT<T>;
|
|
15
|
+
/** Number of components per vertex / row */
|
|
16
|
+
components: VertexFormatComponentsT<T>;
|
|
17
|
+
/** Is this an integer format (normalized integer formats are not integer) */
|
|
18
|
+
integer: DataTypeIsIntegerT<VertexFormatDataTypeT<T>>;
|
|
19
|
+
/** Is this a signed format? */
|
|
20
|
+
signed: DataTypeIsSignedT<VertexFormatDataTypeT<T>>;
|
|
21
|
+
/** Is this a normalized format? */
|
|
22
|
+
normalized: DataTypeIsNormalizedT<VertexFormatDataTypeT<T>>;
|
|
23
|
+
/** Length in bytes */
|
|
24
|
+
byteLength: number;
|
|
25
|
+
/** Is this a bgra format? */
|
|
26
|
+
bgra?: boolean;
|
|
27
|
+
/** Is this a webgl only format? */
|
|
28
|
+
webglOnly?: boolean;
|
|
29
|
+
};
|
|
30
|
+
/** @type the NormalizedDataType of the components in a VertexFormat */
|
|
31
|
+
export type VertexFormatDataTypeT<T extends VertexFormat> = T extends VertexFormatUint8 ? 'uint8' : T extends VertexFormatSint8 ? 'sint8' : T extends VertexFormatUnorm8 ? 'unorm8' : T extends VertexFormatSnorm8 ? 'snorm8' : T extends VertexFormatUint16 ? 'uint16' : T extends VertexFormatSint16 ? 'sint16' : T extends VertexFormatUnorm16 ? 'unorm16' : T extends VertexFormatSnorm16 ? 'snorm16' : T extends VertexFormatUint32 ? 'uint32' : T extends VertexFormatSint32 ? 'sint32' : T extends VertexFormatFloat16 ? 'float16' : T extends VertexFormatFloat32 ? 'float32' : never;
|
|
32
|
+
/** @type number - the number of components in a VertexFormat */
|
|
33
|
+
export type VertexFormatComponentsT<T extends VertexFormat> = T extends VertexFormat2Components ? 2 : T extends VertexFormat3Components ? 3 : T extends VertexFormat4Components ? 4 : 1;
|
|
34
|
+
type VertexFormatUint8 = 'uint8' | 'uint8x2' | 'uint8x4';
|
|
35
|
+
type VertexFormatSint8 = 'sint8' | 'sint8x2' | 'sint8x4';
|
|
36
|
+
type VertexFormatUnorm8 = 'unorm8' | 'unorm8x2' | 'unorm8x3-webgl' | 'unorm8x4' | 'unorm8x4-bgra' | 'unorm10-10-10-2';
|
|
37
|
+
type VertexFormatSnorm8 = 'snorm8' | 'snorm8x2' | 'snorm8x3-webgl' | 'snorm8x4';
|
|
38
|
+
type VertexFormatUint16 = 'uint16' | 'uint16x2' | 'uint16x4';
|
|
39
|
+
type VertexFormatSint16 = 'sint16' | 'sint16x2' | 'sint16x4';
|
|
40
|
+
type VertexFormatUnorm16 = 'unorm16' | 'unorm16x2' | 'unorm16x4';
|
|
41
|
+
type VertexFormatSnorm16 = 'snorm16' | 'snorm16x2' | 'snorm16x4';
|
|
42
|
+
type VertexFormatUint32 = 'uint32' | 'uint32x2' | 'uint32x3' | 'uint32x4';
|
|
43
|
+
type VertexFormatSint32 = 'sint32' | 'sint32x2' | 'sint32x3' | 'sint32x4';
|
|
44
|
+
type VertexFormatFloat16 = 'float16' | 'float16x2' | 'float16x4';
|
|
45
|
+
type VertexFormatFloat32 = 'float32' | 'float32x2' | 'float32x3' | 'float32x4';
|
|
46
|
+
type VertexFormat2Components = 'uint8x2' | 'sint8x2' | 'unorm8x2' | 'snorm8x2' | 'uint16x2' | 'sint16x2' | 'unorm16x2' | 'snorm16x2' | 'uint32x2' | 'sint32x2' | 'float16x2' | 'float32x2';
|
|
47
|
+
type VertexFormat3Components = 'unorm8x3-webgl' | 'uint32x3' | 'sint32x3' | 'float32x3';
|
|
48
|
+
type VertexFormat4Components = 'uint8x4' | 'sint8x4' | 'unorm8x4' | 'unorm8x4-bgra' | 'unorm10-10-10-2' | 'snorm8x4' | 'uint16x4' | 'sint16x4' | 'unorm16x4' | 'snorm16x4' | 'uint32x4' | 'sint32x4' | 'float16x4' | 'float32x4';
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=vertex-formats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertex-formats.d.ts","sourceRoot":"","sources":["../../../src/shadertypes/vertex-types/vertex-formats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertex-formats.js","sourceRoot":"","sources":["../../../src/shadertypes/vertex-types/vertex-formats.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Test if two arrays are deep equal, with a length limit that defaults to 16 */
|
|
1
|
+
/** Test if two arrays are deep equal, with a small-array length limit that defaults to 16 */
|
|
2
2
|
export declare function arrayEqual(a: unknown, b: unknown, limit?: number): boolean;
|
|
3
3
|
/** Copy a value */
|
|
4
4
|
export declare function arrayCopy<T>(a: T): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-equal.d.ts","sourceRoot":"","sources":["../../src/utils/array-equal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"array-equal.d.ts","sourceRoot":"","sources":["../../src/utils/array-equal.ts"],"names":[],"mappings":"AAQA,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,GAAE,MAAW,WA2BpE;AAED,mBAAmB;AACnB,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAKpC"}
|