@luma.gl/webgl 9.1.0-alpha.9 → 9.1.0-beta.3
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/converters/device-parameters.d.ts +3 -3
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +1 -0
- package/dist/adapter/converters/device-parameters.js.map +1 -0
- package/dist/adapter/converters/sampler-parameters.js +7 -4
- package/dist/adapter/converters/sampler-parameters.js.map +1 -0
- package/dist/adapter/converters/shader-formats.js +1 -0
- package/dist/adapter/converters/shader-formats.js.map +1 -0
- package/dist/adapter/converters/vertex-formats.js +1 -0
- package/dist/adapter/converters/vertex-formats.js.map +1 -0
- package/dist/adapter/converters/webgl-texture-table.d.ts +40 -0
- package/dist/adapter/converters/webgl-texture-table.d.ts.map +1 -0
- package/dist/adapter/converters/webgl-texture-table.js +304 -0
- package/dist/adapter/converters/webgl-texture-table.js.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-features.js +2 -2
- package/dist/adapter/device-helpers/webgl-device-features.js.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-info.js +1 -0
- package/dist/adapter/device-helpers/webgl-device-info.js.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-limits.js +1 -0
- package/dist/adapter/device-helpers/webgl-device-limits.js.map +1 -0
- package/dist/adapter/helpers/decode-webgl-types.js +1 -0
- package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
- package/dist/adapter/helpers/format-utils.d.ts.map +1 -0
- package/dist/{classic → adapter/helpers}/format-utils.js +7 -0
- package/dist/adapter/helpers/format-utils.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +5 -4
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
- package/dist/adapter/helpers/parse-shader-compiler-log.js +1 -0
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
- package/dist/adapter/helpers/set-uniform.js +1 -0
- package/dist/adapter/helpers/set-uniform.js.map +1 -0
- package/dist/adapter/helpers/typed-array-utils.d.ts.map +1 -0
- package/dist/{classic → adapter/helpers}/typed-array-utils.js +1 -0
- package/dist/adapter/helpers/typed-array-utils.js.map +1 -0
- package/dist/adapter/helpers/webgl-texture-utils.d.ts +96 -25
- package/dist/adapter/helpers/webgl-texture-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/webgl-texture-utils.js +225 -236
- package/dist/adapter/helpers/webgl-texture-utils.js.map +1 -0
- package/dist/adapter/helpers/webgl-topology-utils.js +1 -0
- package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +4 -1
- package/dist/adapter/resources/webgl-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-buffer.d.ts +59 -2
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +89 -32
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +4 -0
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
- package/dist/adapter/resources/webgl-external-texture.js +15 -0
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
- package/dist/adapter/resources/webgl-framebuffer.d.ts +33 -35
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +70 -75
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
- package/dist/adapter/resources/webgl-query-set.js +1 -0
- package/dist/adapter/resources/webgl-query-set.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +33 -18
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +3 -4
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +44 -22
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
- package/dist/adapter/resources/webgl-sampler.js +1 -0
- package/dist/adapter/resources/webgl-sampler.js.map +1 -0
- package/dist/adapter/resources/webgl-shader.d.ts +1 -0
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +13 -6
- package/dist/adapter/resources/webgl-shader.js.map +1 -0
- package/dist/adapter/resources/webgl-texture-view.js +1 -0
- package/dist/adapter/resources/webgl-texture-view.js.map +1 -0
- package/dist/adapter/resources/webgl-texture.d.ts +32 -20
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +163 -218
- package/dist/adapter/resources/webgl-texture.js.map +1 -0
- package/dist/adapter/resources/webgl-transform-feedback.js +1 -0
- package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
- package/dist/adapter/resources/webgl-vertex-array.js +1 -0
- package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
- package/dist/adapter/webgl-adapter.d.ts.map +1 -1
- package/dist/adapter/webgl-adapter.js +5 -10
- package/dist/adapter/webgl-adapter.js.map +1 -0
- package/dist/adapter/webgl-canvas-context.d.ts +4 -6
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +13 -17
- package/dist/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/adapter/webgl-device.d.ts +20 -19
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +75 -51
- package/dist/adapter/webgl-device.js.map +1 -0
- package/dist/context/debug/spector-types.js +2 -1
- package/dist/context/debug/spector-types.js.map +1 -0
- package/dist/context/debug/spector.d.ts +5 -5
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +7 -6
- package/dist/context/debug/spector.js.map +1 -0
- package/dist/context/debug/webgl-developer-tools.d.ts +2 -3
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +7 -19
- package/dist/context/debug/webgl-developer-tools.js.map +1 -0
- package/dist/context/helpers/create-browser-context.d.ts +6 -22
- package/dist/context/helpers/create-browser-context.d.ts.map +1 -1
- package/dist/context/helpers/create-browser-context.js +41 -32
- package/dist/context/helpers/create-browser-context.js.map +1 -0
- package/dist/context/helpers/webgl-context-data.js +1 -0
- package/dist/context/helpers/webgl-context-data.js.map +1 -0
- package/dist/context/helpers/webgl-extensions.js +1 -0
- package/dist/context/helpers/webgl-extensions.js.map +1 -0
- package/dist/context/parameters/unified-parameter-api.js +1 -0
- package/dist/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +3 -2
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/context/polyfills/polyfill-webgl1-extensions.js +1 -0
- package/dist/context/polyfills/polyfill-webgl1-extensions.js.map +1 -0
- package/dist/context/state-tracker/deep-array-equal.js +1 -0
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/context/state-tracker/webgl-state-tracker.js +1 -0
- package/dist/context/state-tracker/webgl-state-tracker.js.map +1 -0
- package/dist/context/state-tracker/with-parameters.js +1 -0
- package/dist/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/deprecated/accessor.d.ts.map +1 -0
- package/dist/{classic → deprecated}/accessor.js +37 -1
- package/dist/deprecated/accessor.js.map +1 -0
- package/dist/dist.dev.js +2234 -2373
- package/dist/dist.min.js +2 -2
- package/dist/index.cjs +2124 -2256
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/fill-array.d.ts +4 -4
- package/dist/utils/fill-array.d.ts.map +1 -1
- package/dist/utils/fill-array.js +1 -0
- package/dist/utils/fill-array.js.map +1 -0
- package/dist/utils/load-script.js +1 -0
- package/dist/utils/load-script.js.map +1 -0
- package/dist/utils/split-uniforms-and-bindings.d.ts +1 -1
- package/dist/utils/split-uniforms-and-bindings.d.ts.map +1 -1
- package/dist/utils/split-uniforms-and-bindings.js +1 -0
- package/dist/utils/split-uniforms-and-bindings.js.map +1 -0
- package/dist/utils/uid.js +1 -0
- package/dist/utils/uid.js.map +1 -0
- package/package.json +5 -5
- package/src/adapter/converters/device-parameters.ts +3 -3
- package/src/adapter/converters/sampler-parameters.ts +6 -4
- package/src/adapter/converters/webgl-texture-table.ts +404 -0
- package/src/adapter/device-helpers/webgl-device-features.ts +5 -2
- package/src/{classic → adapter/helpers}/format-utils.ts +6 -0
- package/src/adapter/helpers/get-shader-layout.ts +7 -4
- package/src/adapter/helpers/webgl-texture-utils.ts +400 -57
- package/src/adapter/resources/webgl-buffer.ts +3 -1
- package/src/adapter/resources/webgl-command-buffer.ts +125 -41
- package/src/adapter/resources/webgl-command-encoder.ts +6 -0
- package/src/adapter/resources/webgl-external-texture.ts +14 -0
- package/src/adapter/resources/webgl-framebuffer.ts +79 -85
- package/src/adapter/resources/webgl-render-pass.ts +56 -42
- package/src/adapter/resources/webgl-render-pipeline.ts +56 -26
- package/src/adapter/resources/webgl-shader.ts +15 -7
- package/src/adapter/resources/webgl-texture.ts +188 -250
- package/src/adapter/webgl-adapter.ts +4 -12
- package/src/adapter/webgl-canvas-context.ts +16 -19
- package/src/adapter/webgl-device.ts +125 -88
- package/src/context/debug/spector-types.ts +1 -1
- package/src/context/debug/spector.ts +11 -11
- package/src/context/debug/webgl-developer-tools.ts +8 -31
- package/src/context/helpers/create-browser-context.ts +53 -63
- package/src/context/parameters/webgl-parameter-tables.ts +2 -2
- package/src/{classic → deprecated}/accessor.ts +44 -3
- package/src/index.ts +2 -5
- package/src/utils/fill-array.ts +4 -4
- package/src/utils/split-uniforms-and-bindings.ts +3 -3
- package/dist/adapter/converters/texture-formats.d.ts +0 -83
- package/dist/adapter/converters/texture-formats.d.ts.map +0 -1
- package/dist/adapter/converters/texture-formats.js +0 -511
- package/dist/classic/accessor.d.ts.map +0 -1
- package/dist/classic/clear.d.ts +0 -22
- package/dist/classic/clear.d.ts.map +0 -1
- package/dist/classic/clear.js +0 -86
- package/dist/classic/copy-and-blit.d.ts +0 -64
- package/dist/classic/copy-and-blit.d.ts.map +0 -1
- package/dist/classic/copy-and-blit.js +0 -194
- package/dist/classic/format-utils.d.ts.map +0 -1
- package/dist/classic/typed-array-utils.d.ts.map +0 -1
- package/src/adapter/converters/texture-formats.ts +0 -657
- package/src/classic/clear.ts +0 -115
- package/src/classic/copy-and-blit.ts +0 -323
- /package/dist/{classic → adapter/helpers}/format-utils.d.ts +0 -0
- /package/dist/{classic → adapter/helpers}/typed-array-utils.d.ts +0 -0
- /package/dist/{classic → deprecated}/accessor.d.ts +0 -0
- /package/src/{classic → adapter/helpers}/typed-array-utils.ts +0 -0
|
@@ -1,64 +1,33 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
// import {decodeTextureFormat} from '@luma.gl/core';
|
|
5
|
-
// import {Buffer, Texture, log} from '@luma.gl/core';
|
|
6
4
|
import { Texture, log } from '@luma.gl/core';
|
|
7
5
|
import { GL } from '@luma.gl/constants';
|
|
8
|
-
|
|
9
|
-
import { withGLParameters } from "../../context/state-tracker/with-parameters.js";
|
|
10
|
-
// getTextureFormatBytesPerPixel
|
|
11
|
-
import { getTextureFormatWebGL } from "../converters/texture-formats.js";
|
|
6
|
+
import { getTextureFormatWebGL } from "../converters/webgl-texture-table.js";
|
|
12
7
|
import { convertSamplerParametersToWebGL } from "../converters/sampler-parameters.js";
|
|
13
|
-
// import {WEBGLBuffer} from './webgl-buffer';
|
|
14
8
|
import { WEBGLSampler } from "./webgl-sampler.js";
|
|
15
9
|
import { WEBGLTextureView } from "./webgl-texture-view.js";
|
|
16
|
-
// import type {WebGLSetTextureOptions, WebGLCopyTextureOptions} from '../helpers/webgl-texture-utils';
|
|
17
10
|
import { initializeTextureStorage,
|
|
18
11
|
// clearMipLevel,
|
|
19
|
-
|
|
12
|
+
copyExternalImageToMipLevel, copyCPUDataToMipLevel,
|
|
20
13
|
// copyGPUBufferToMipLevel,
|
|
21
14
|
getWebGLTextureTarget } from "../helpers/webgl-texture-utils.js";
|
|
22
|
-
// PORTABLE HELPERS (Move to methods on Texture?)
|
|
23
|
-
/**
|
|
24
|
-
* Normalize TextureData to an array of TextureLevelData / ExternalImages
|
|
25
|
-
* @param data
|
|
26
|
-
* @param options
|
|
27
|
-
* @returns array of TextureLevelData / ExternalImages
|
|
28
|
-
*/
|
|
29
|
-
function normalizeTextureData(data, options) {
|
|
30
|
-
let lodArray;
|
|
31
|
-
if (ArrayBuffer.isView(data)) {
|
|
32
|
-
lodArray = [
|
|
33
|
-
{
|
|
34
|
-
// ts-expect-error does data really need to be Uint8ClampedArray?
|
|
35
|
-
data,
|
|
36
|
-
width: options.width,
|
|
37
|
-
height: options.height
|
|
38
|
-
// depth: options.depth
|
|
39
|
-
}
|
|
40
|
-
];
|
|
41
|
-
}
|
|
42
|
-
else if (!Array.isArray(data)) {
|
|
43
|
-
lodArray = [data];
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
lodArray = data;
|
|
47
|
-
}
|
|
48
|
-
return lodArray;
|
|
49
|
-
}
|
|
50
15
|
/**
|
|
51
16
|
* WebGL... the texture API from hell... hopefully made simpler
|
|
52
17
|
*/
|
|
53
18
|
export class WEBGLTexture extends Texture {
|
|
54
|
-
MAX_ATTRIBUTES;
|
|
19
|
+
// readonly MAX_ATTRIBUTES: number;
|
|
55
20
|
device;
|
|
56
21
|
gl;
|
|
57
22
|
handle;
|
|
58
23
|
sampler = undefined; // TODO - currently unused in WebGL. Create dummy sampler?
|
|
59
24
|
view = undefined; // TODO - currently unused in WebGL. Create dummy view?
|
|
60
|
-
mipmaps
|
|
25
|
+
mipmaps;
|
|
26
|
+
// Texture type
|
|
27
|
+
/** Whether the internal format is compressed */
|
|
28
|
+
compressed;
|
|
61
29
|
/**
|
|
30
|
+
* The WebGL target corresponding to the texture type
|
|
62
31
|
* @note `target` cannot be modified by bind:
|
|
63
32
|
* textures are special because when you first bind them to a target,
|
|
64
33
|
* When you first bind a texture as a GL_TEXTURE_2D, you are saying that this texture is a 2D texture.
|
|
@@ -67,142 +36,89 @@ export class WEBGLTexture extends Texture {
|
|
|
67
36
|
* attempting to bind it as GL_TEXTURE_3D will give rise to a run-time error
|
|
68
37
|
*/
|
|
69
38
|
glTarget;
|
|
70
|
-
// Texture type
|
|
71
39
|
/** The WebGL format - essentially channel structure */
|
|
72
40
|
glFormat;
|
|
73
41
|
/** The WebGL data format - the type of each channel */
|
|
74
42
|
glType;
|
|
75
43
|
/** The WebGL constant corresponding to the WebGPU style constant in format */
|
|
76
44
|
glInternalFormat;
|
|
77
|
-
/** Whether the internal format is compressed */
|
|
78
|
-
compressed;
|
|
79
|
-
// data;
|
|
80
|
-
// inherited props
|
|
81
|
-
// dimension: ...
|
|
82
|
-
// format: GLTextureTarget;
|
|
83
|
-
// width: number = undefined;
|
|
84
|
-
// height: number = undefined;
|
|
85
|
-
// depth: number = undefined;
|
|
86
45
|
// state
|
|
87
|
-
/** Texture binding slot */
|
|
46
|
+
/** Texture binding slot - TODO - move to texture view? */
|
|
88
47
|
textureUnit = 0;
|
|
89
|
-
/** For automatically updating video */
|
|
90
|
-
_video = null;
|
|
91
48
|
constructor(device, props) {
|
|
92
|
-
|
|
93
|
-
|
|
49
|
+
super(device, props);
|
|
50
|
+
// Texture base class strips out the data prop, so we need to add it back in
|
|
51
|
+
const propsWithData = { ...this.props };
|
|
52
|
+
propsWithData.data = props.data;
|
|
94
53
|
this.device = device;
|
|
95
54
|
this.gl = this.device.gl;
|
|
96
55
|
// Note: In WebGL the texture target defines the type of texture on first bind.
|
|
97
56
|
this.glTarget = getWebGLTextureTarget(this.props.dimension);
|
|
98
57
|
// The target format of this texture
|
|
99
|
-
const
|
|
100
|
-
this.glInternalFormat =
|
|
101
|
-
this.glFormat =
|
|
102
|
-
this.glType =
|
|
103
|
-
this.compressed =
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
// @ts-expect-error
|
|
107
|
-
props.data.readyState < HTMLVideoElement.HAVE_METADATA) {
|
|
108
|
-
const video = props.data;
|
|
109
|
-
this._video = null; // Declare member before the object is sealed
|
|
110
|
-
video.addEventListener('loadeddata', () => this.initialize(props));
|
|
111
|
-
}
|
|
112
|
-
// We removed data, we need to add it again.
|
|
113
|
-
// @ts-expect-error
|
|
114
|
-
this.initialize({ ...this.props, data: props.data });
|
|
58
|
+
const formatInfo = getTextureFormatWebGL(this.props.format);
|
|
59
|
+
this.glInternalFormat = formatInfo.internalFormat;
|
|
60
|
+
this.glFormat = formatInfo.format;
|
|
61
|
+
this.glType = formatInfo.type;
|
|
62
|
+
this.compressed = formatInfo.compressed;
|
|
63
|
+
this.mipmaps = Boolean(this.props.mipmaps);
|
|
64
|
+
this._initialize(propsWithData);
|
|
115
65
|
Object.seal(this);
|
|
116
66
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Initialize texture with supplied props
|
|
119
|
-
*/
|
|
67
|
+
/** Initialize texture with supplied props */
|
|
120
68
|
// eslint-disable-next-line max-statements
|
|
121
|
-
|
|
69
|
+
_initialize(propsWithData) {
|
|
122
70
|
this.handle = this.props.handle || this.gl.createTexture();
|
|
123
|
-
this.device.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
71
|
+
this.device._setWebGLDebugMetadata(this.handle, this, {
|
|
72
|
+
spector: {
|
|
73
|
+
...this.props,
|
|
74
|
+
data: propsWithData.data
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
let { width, height } = propsWithData;
|
|
127
78
|
if (!width || !height) {
|
|
128
|
-
const textureSize =
|
|
79
|
+
const textureSize = Texture.getTextureDataSize(propsWithData.data);
|
|
129
80
|
width = textureSize?.width || 1;
|
|
130
81
|
height = textureSize?.height || 1;
|
|
131
82
|
}
|
|
132
83
|
// Store opts for accessors
|
|
133
84
|
this.width = width;
|
|
134
85
|
this.height = height;
|
|
135
|
-
this.depth =
|
|
86
|
+
this.depth = propsWithData.depth;
|
|
136
87
|
// Set texture sampler parameters
|
|
137
|
-
this.setSampler(
|
|
138
|
-
// @ts-ignore
|
|
88
|
+
this.setSampler(propsWithData.sampler);
|
|
89
|
+
// @ts-ignore TODO - fix types
|
|
139
90
|
this.view = new WEBGLTextureView(this.device, { ...this.props, texture: this });
|
|
140
91
|
this.bind();
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
if (props.data) {
|
|
92
|
+
initializeTextureStorage(this.gl, this.mipLevels, this);
|
|
93
|
+
if (propsWithData.data) {
|
|
145
94
|
// prettier-ignore
|
|
146
|
-
switch (
|
|
95
|
+
switch (propsWithData.dimension) {
|
|
147
96
|
case '1d':
|
|
148
|
-
this.setTexture1DData(
|
|
97
|
+
this.setTexture1DData(propsWithData.data);
|
|
149
98
|
break;
|
|
150
99
|
case '2d':
|
|
151
|
-
this.setTexture2DData(
|
|
100
|
+
this.setTexture2DData(propsWithData.data);
|
|
152
101
|
break;
|
|
153
102
|
case '3d':
|
|
154
|
-
this.setTexture3DData(
|
|
103
|
+
this.setTexture3DData(propsWithData.data);
|
|
155
104
|
break;
|
|
156
105
|
case 'cube':
|
|
157
|
-
this.setTextureCubeData(
|
|
106
|
+
this.setTextureCubeData(propsWithData.data);
|
|
158
107
|
break;
|
|
159
108
|
case '2d-array':
|
|
160
|
-
this.setTextureArrayData(
|
|
109
|
+
this.setTextureArrayData(propsWithData.data);
|
|
161
110
|
break;
|
|
162
111
|
case 'cube-array':
|
|
163
|
-
this.setTextureCubeArrayData(
|
|
112
|
+
this.setTextureCubeArrayData(propsWithData.data);
|
|
164
113
|
break;
|
|
165
114
|
// @ts-expect-error
|
|
166
|
-
default: throw new Error(
|
|
115
|
+
default: throw new Error(propsWithData.dimension);
|
|
167
116
|
}
|
|
168
117
|
}
|
|
169
|
-
this.mipmaps = Boolean(props.mipmaps);
|
|
170
118
|
if (this.mipmaps) {
|
|
171
119
|
this.generateMipmap();
|
|
172
120
|
}
|
|
173
|
-
// if (isVideo) {
|
|
174
|
-
// this._video = {
|
|
175
|
-
// video: data,
|
|
176
|
-
// // TODO - should we be using the sampler parameters here?
|
|
177
|
-
// parameters: {},
|
|
178
|
-
// // @ts-expect-error HTMLVideoElement.HAVE_CURRENT_DATA is not declared
|
|
179
|
-
// lastTime: data.readyState >= HTMLVideoElement.HAVE_CURRENT_DATA ? data.currentTime : -1
|
|
180
|
-
// };
|
|
181
|
-
// }
|
|
182
|
-
}
|
|
183
|
-
/*
|
|
184
|
-
initializeCube(props?: TextureProps): void {
|
|
185
|
-
const {mipmaps = true} = props; // , parameters = {} as Record<GL, any>} = props;
|
|
186
|
-
|
|
187
|
-
// Store props for accessors
|
|
188
|
-
// this.props = props;
|
|
189
|
-
|
|
190
|
-
// @ts-expect-error
|
|
191
|
-
this.setCubeMapData(props).then(() => {
|
|
192
|
-
// TODO - should genMipmap() be called on the cubemap or on the faces?
|
|
193
|
-
// TODO - without generateMipmap() cube textures do not work at all!!! Why?
|
|
194
|
-
if (mipmaps) {
|
|
195
|
-
this.generateMipmap(props);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
this.setSampler(props.sampler);
|
|
199
|
-
|
|
200
|
-
// v8 compatibility?
|
|
201
|
-
// const {parameters = {} as Record<GL, any>} = props;
|
|
202
|
-
// this._setSamplerParameters(parameters);
|
|
203
|
-
});
|
|
204
121
|
}
|
|
205
|
-
*/
|
|
206
122
|
destroy() {
|
|
207
123
|
if (this.handle) {
|
|
208
124
|
this.gl.deleteTexture(this.handle);
|
|
@@ -212,9 +128,6 @@ export class WEBGLTexture extends Texture {
|
|
|
212
128
|
this.destroyed = true;
|
|
213
129
|
}
|
|
214
130
|
}
|
|
215
|
-
toString() {
|
|
216
|
-
return `Texture(${this.id},${this.width}x${this.height})`;
|
|
217
|
-
}
|
|
218
131
|
createView(props) {
|
|
219
132
|
return new WEBGLTextureView(this.device, { ...props, texture: this });
|
|
220
133
|
}
|
|
@@ -231,45 +144,65 @@ export class WEBGLTexture extends Texture {
|
|
|
231
144
|
const parameters = convertSamplerParametersToWebGL(samplerProps);
|
|
232
145
|
this._setSamplerParameters(parameters);
|
|
233
146
|
}
|
|
234
|
-
/** Update external texture (video frame or canvas) */
|
|
235
|
-
update() {
|
|
236
|
-
log.warn('Texture.update() not implemented');
|
|
237
|
-
// if (this._video) {
|
|
238
|
-
// const {video, parameters, lastTime} = this._video;
|
|
239
|
-
// // @ts-expect-error
|
|
240
|
-
// if (lastTime === video.currentTime || video.readyState < HTMLVideoElement.HAVE_CURRENT_DATA) {
|
|
241
|
-
// return;
|
|
242
|
-
// }
|
|
243
|
-
// this.setSubImageData({
|
|
244
|
-
// data: video,
|
|
245
|
-
// parameters
|
|
246
|
-
// });
|
|
247
|
-
// if (this.mipmaps) {
|
|
248
|
-
// this.generateMipmap();
|
|
249
|
-
// }
|
|
250
|
-
// this._video.lastTime = video.currentTime;
|
|
251
|
-
// }
|
|
252
|
-
}
|
|
253
147
|
// Call to regenerate mipmaps after modifying texture(s)
|
|
254
|
-
generateMipmap(
|
|
255
|
-
|
|
256
|
-
|
|
148
|
+
generateMipmap(options) {
|
|
149
|
+
const isFilterableAndRenderable = this.device.isTextureFormatRenderable(this.props.format) &&
|
|
150
|
+
this.device.isTextureFormatFilterable(this.props.format);
|
|
151
|
+
if (!isFilterableAndRenderable) {
|
|
152
|
+
log.warn(`${this} is not renderable or filterable, may not be able to generate mipmaps`)();
|
|
153
|
+
if (!options?.force) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
257
156
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
withGLParameters(this.gl, params, () => {
|
|
157
|
+
try {
|
|
158
|
+
this.gl.bindTexture(this.glTarget, this.handle);
|
|
261
159
|
this.gl.generateMipmap(this.glTarget);
|
|
262
|
-
}
|
|
263
|
-
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
log.warn(`Error generating mipmap for ${this}: ${error.message}`)();
|
|
163
|
+
}
|
|
164
|
+
finally {
|
|
165
|
+
this.gl.bindTexture(this.glTarget, null);
|
|
166
|
+
}
|
|
264
167
|
}
|
|
265
168
|
// Image Data Setters
|
|
169
|
+
copyExternalImage(options) {
|
|
170
|
+
const size = Texture.getExternalImageSize(options.image);
|
|
171
|
+
const opts = { ...Texture.defaultCopyExternalImageOptions, ...size, ...options };
|
|
172
|
+
const { image, depth, mipLevel, x, y, z, flipY } = opts;
|
|
173
|
+
let { width, height } = opts;
|
|
174
|
+
const { dimension, glTarget, glFormat, glInternalFormat, glType } = this;
|
|
175
|
+
// WebGL will error if we try to copy outside the bounds of the texture
|
|
176
|
+
width = Math.min(width, this.width - x);
|
|
177
|
+
height = Math.min(height, this.height - y);
|
|
178
|
+
if (options.sourceX || options.sourceY) {
|
|
179
|
+
// requires copyTexSubImage2D from a framebuffer'
|
|
180
|
+
throw new Error('WebGL does not support sourceX/sourceY)');
|
|
181
|
+
}
|
|
182
|
+
copyExternalImageToMipLevel(this.device.gl, this.handle, image, {
|
|
183
|
+
dimension,
|
|
184
|
+
mipLevel,
|
|
185
|
+
x,
|
|
186
|
+
y,
|
|
187
|
+
z,
|
|
188
|
+
width,
|
|
189
|
+
height,
|
|
190
|
+
depth,
|
|
191
|
+
glFormat,
|
|
192
|
+
glInternalFormat,
|
|
193
|
+
glType,
|
|
194
|
+
glTarget,
|
|
195
|
+
flipY
|
|
196
|
+
});
|
|
197
|
+
return { width: opts.width, height: opts.height };
|
|
198
|
+
}
|
|
266
199
|
setTexture1DData(data) {
|
|
267
200
|
throw new Error('setTexture1DData not supported in WebGL.');
|
|
268
201
|
}
|
|
269
202
|
/** Set a simple texture */
|
|
270
203
|
setTexture2DData(lodData, depth = 0) {
|
|
271
204
|
this.bind();
|
|
272
|
-
const lodArray = normalizeTextureData(lodData, this);
|
|
205
|
+
const lodArray = Texture.normalizeTextureData(lodData, this);
|
|
273
206
|
// If the user provides multiple LODs, then automatic mipmap
|
|
274
207
|
// generation generateMipmap() should be disabled to avoid overwriting them.
|
|
275
208
|
if (lodArray.length > 1 && this.props.mipmaps !== false) {
|
|
@@ -336,6 +269,11 @@ export class WEBGLTexture extends Texture {
|
|
|
336
269
|
const faceDepth = Texture.CubeFaces.indexOf(face);
|
|
337
270
|
this.setTexture2DData(lodData, faceDepth);
|
|
338
271
|
}
|
|
272
|
+
// DEPRECATED METHODS
|
|
273
|
+
/** Update external texture (video frame or canvas) @deprecated Use ExternalTexture */
|
|
274
|
+
update() {
|
|
275
|
+
throw new Error('Texture.update() not implemented. Use ExternalTexture');
|
|
276
|
+
}
|
|
339
277
|
// INTERNAL METHODS
|
|
340
278
|
/** @todo update this method to accept LODs */
|
|
341
279
|
setImageDataForFace(options) {
|
|
@@ -374,7 +312,7 @@ export class WEBGLTexture extends Texture {
|
|
|
374
312
|
* Sets sampler parameters on texture
|
|
375
313
|
*/
|
|
376
314
|
_setSamplerParameters(parameters) {
|
|
377
|
-
log.log(1,
|
|
315
|
+
log.log(1, `${this.id} sampler parameters`, this.device.getGLKeys(parameters))();
|
|
378
316
|
this.gl.bindTexture(this.glTarget, this.handle);
|
|
379
317
|
for (const [pname, pvalue] of Object.entries(parameters)) {
|
|
380
318
|
const param = Number(pname);
|
|
@@ -406,81 +344,32 @@ export class WEBGLTexture extends Texture {
|
|
|
406
344
|
}
|
|
407
345
|
this.gl.bindTexture(this.glTarget, null);
|
|
408
346
|
}
|
|
409
|
-
// CLASSIC
|
|
410
|
-
/*
|
|
411
|
-
setCubeMapData(options: {
|
|
412
|
-
width: number;
|
|
413
|
-
height: number;
|
|
414
|
-
data: Record<GL, Texture2DData> | Record<TextureCubeFace, Texture2DData>;
|
|
415
|
-
format?: any;
|
|
416
|
-
type?: any;
|
|
417
|
-
/** @deprecated Use .data *
|
|
418
|
-
pixels: any;
|
|
419
|
-
}): void {
|
|
420
|
-
const {gl} = this;
|
|
421
|
-
|
|
422
|
-
const {width, height, pixels, data, format = GL.RGBA, type = GL.UNSIGNED_BYTE} = options;
|
|
423
|
-
|
|
424
|
-
// pixel data (imageDataMap) is an Object from Face to Image or Promise.
|
|
425
|
-
// For example:
|
|
426
|
-
// {
|
|
427
|
-
// GL.TEXTURE_CUBE_MAP_POSITIVE_X : Image-or-Promise,
|
|
428
|
-
// GL.TEXTURE_CUBE_MAP_NEGATIVE_X : Image-or-Promise,
|
|
429
|
-
// ... }
|
|
430
|
-
// To provide multiple level-of-details (LODs) this can be Face to Array
|
|
431
|
-
// of Image or Promise, like this
|
|
432
|
-
// {
|
|
433
|
-
// GL.TEXTURE_CUBE_MAP_POSITIVE_X : [Image-or-Promise-LOD-0, Image-or-Promise-LOD-1],
|
|
434
|
-
// GL.TEXTURE_CUBE_MAP_NEGATIVE_X : [Image-or-Promise-LOD-0, Image-or-Promise-LOD-1],
|
|
435
|
-
// ... }
|
|
436
|
-
|
|
437
|
-
const imageDataMap = this._getImageDataMap(pixels || data);
|
|
438
|
-
|
|
439
|
-
const resolvedFaces = WEBGLTexture.FACES.map(face => {
|
|
440
|
-
const facePixels = imageDataMap[face];
|
|
441
|
-
return Array.isArray(facePixels) ? facePixels : [facePixels];
|
|
442
|
-
});
|
|
443
|
-
this.bind();
|
|
444
|
-
|
|
445
|
-
WEBGLTexture.FACES.forEach((face, index) => {
|
|
446
|
-
if (resolvedFaces[index].length > 1 && this.props.mipmaps !== false) {
|
|
447
|
-
// If the user provides multiple LODs, then automatic mipmap
|
|
448
|
-
// generation generateMipmap() should be disabled to avoid overwritting them.
|
|
449
|
-
log.warn(`${this.id} has mipmap and multiple LODs.`)();
|
|
450
|
-
}
|
|
451
|
-
resolvedFaces[index].forEach((image, lodLevel) => {
|
|
452
|
-
// TODO: adjust width & height for LOD!
|
|
453
|
-
if (width && height) {
|
|
454
|
-
gl.texImage2D(face, lodLevel, format, width, height, 0 /* border*, format, type, image);
|
|
455
|
-
} else {
|
|
456
|
-
gl.texImage2D(face, lodLevel, format, format, type, image);
|
|
457
|
-
}
|
|
458
|
-
});
|
|
459
|
-
});
|
|
460
|
-
|
|
461
|
-
this.unbind();
|
|
462
|
-
}
|
|
463
|
-
*/
|
|
464
347
|
// INTERNAL SETTERS
|
|
465
348
|
/**
|
|
466
349
|
* Copy a region of data from a CPU memory buffer into this texture.
|
|
467
350
|
* @todo - GLUnpackParameters parameters
|
|
468
351
|
*/
|
|
469
|
-
_setMipLevel(depth,
|
|
352
|
+
_setMipLevel(depth, mipLevel, textureData, glTarget = this.glTarget) {
|
|
470
353
|
// if (!textureData) {
|
|
471
354
|
// clearMipLevel(this.device.gl, {...this, depth, level});
|
|
472
355
|
// return;
|
|
473
356
|
// }
|
|
474
357
|
if (Texture.isExternalImage(textureData)) {
|
|
475
|
-
|
|
358
|
+
copyExternalImageToMipLevel(this.device.gl, this.handle, textureData, {
|
|
359
|
+
...this,
|
|
360
|
+
depth,
|
|
361
|
+
mipLevel,
|
|
362
|
+
glTarget,
|
|
363
|
+
flipY: this.props.flipY
|
|
364
|
+
});
|
|
476
365
|
return;
|
|
477
366
|
}
|
|
478
367
|
// @ts-expect-error
|
|
479
|
-
if (
|
|
368
|
+
if (Texture.isTextureLevelData(textureData)) {
|
|
480
369
|
copyCPUDataToMipLevel(this.device.gl, textureData.data, {
|
|
481
370
|
...this,
|
|
482
371
|
depth,
|
|
483
|
-
|
|
372
|
+
mipLevel,
|
|
484
373
|
glTarget
|
|
485
374
|
});
|
|
486
375
|
return;
|
|
@@ -510,3 +399,59 @@ export class WEBGLTexture extends Texture {
|
|
|
510
399
|
return textureUnit;
|
|
511
400
|
}
|
|
512
401
|
}
|
|
402
|
+
// TODO - Remove when texture refactor is complete
|
|
403
|
+
/*
|
|
404
|
+
setCubeMapData(options: {
|
|
405
|
+
width: number;
|
|
406
|
+
height: number;
|
|
407
|
+
data: Record<GL, Texture2DData> | Record<TextureCubeFace, Texture2DData>;
|
|
408
|
+
format?: any;
|
|
409
|
+
type?: any;
|
|
410
|
+
/** @deprecated Use .data *
|
|
411
|
+
pixels: any;
|
|
412
|
+
}): void {
|
|
413
|
+
const {gl} = this;
|
|
414
|
+
|
|
415
|
+
const {width, height, pixels, data, format = GL.RGBA, type = GL.UNSIGNED_BYTE} = options;
|
|
416
|
+
|
|
417
|
+
// pixel data (imageDataMap) is an Object from Face to Image or Promise.
|
|
418
|
+
// For example:
|
|
419
|
+
// {
|
|
420
|
+
// GL.TEXTURE_CUBE_MAP_POSITIVE_X : Image-or-Promise,
|
|
421
|
+
// GL.TEXTURE_CUBE_MAP_NEGATIVE_X : Image-or-Promise,
|
|
422
|
+
// ... }
|
|
423
|
+
// To provide multiple level-of-details (LODs) this can be Face to Array
|
|
424
|
+
// of Image or Promise, like this
|
|
425
|
+
// {
|
|
426
|
+
// GL.TEXTURE_CUBE_MAP_POSITIVE_X : [Image-or-Promise-LOD-0, Image-or-Promise-LOD-1],
|
|
427
|
+
// GL.TEXTURE_CUBE_MAP_NEGATIVE_X : [Image-or-Promise-LOD-0, Image-or-Promise-LOD-1],
|
|
428
|
+
// ... }
|
|
429
|
+
|
|
430
|
+
const imageDataMap = this._getImageDataMap(pixels || data);
|
|
431
|
+
|
|
432
|
+
const resolvedFaces = WEBGLTexture.FACES.map(face => {
|
|
433
|
+
const facePixels = imageDataMap[face];
|
|
434
|
+
return Array.isArray(facePixels) ? facePixels : [facePixels];
|
|
435
|
+
});
|
|
436
|
+
this.bind();
|
|
437
|
+
|
|
438
|
+
WEBGLTexture.FACES.forEach((face, index) => {
|
|
439
|
+
if (resolvedFaces[index].length > 1 && this.props.mipmaps !== false) {
|
|
440
|
+
// If the user provides multiple LODs, then automatic mipmap
|
|
441
|
+
// generation generateMipmap() should be disabled to avoid overwritting them.
|
|
442
|
+
log.warn(`${this.id} has mipmap and multiple LODs.`)();
|
|
443
|
+
}
|
|
444
|
+
resolvedFaces[index].forEach((image, lodLevel) => {
|
|
445
|
+
// TODO: adjust width & height for LOD!
|
|
446
|
+
if (width && height) {
|
|
447
|
+
gl.texImage2D(face, lodLevel, format, width, height, 0 /* border*, format, type, image);
|
|
448
|
+
} else {
|
|
449
|
+
gl.texImage2D(face, lodLevel, format, format, type, image);
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
});
|
|
453
|
+
|
|
454
|
+
this.unbind();
|
|
455
|
+
}
|
|
456
|
+
*/
|
|
457
|
+
//# sourceMappingURL=webgl-texture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgl-texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-texture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgl-transform-feedback.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-transform-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgl-vertex-array.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-vertex-array.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/webgl-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"webgl-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/webgl-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAM,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAO3C,qBAAa,YAAa,SAAQ,OAAO;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAW;;IAYxC,oCAAoC;IACpC,WAAW,IAAI,OAAO;IAItB,gGAAgG;IAChG,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIpC;;;;;OAKG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAejE,MAAM,CAAC,KAAK,GAAE,WAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;CAoC5D;AAWD,eAAO,MAAM,aAAa,cAAqB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { Adapter, Device,
|
|
4
|
+
import { Adapter, Device, log } from '@luma.gl/core';
|
|
5
5
|
import { WebGLDevice } from "./webgl-device.js";
|
|
6
6
|
import { enforceWebGL2 } from "../context/polyfills/polyfill-webgl1-extensions.js";
|
|
7
7
|
import { loadSpectorJS, DEFAULT_SPECTOR_PROPS } from "../context/debug/spector.js";
|
|
@@ -43,23 +43,18 @@ export class WebGLAdapter extends Adapter {
|
|
|
43
43
|
if (!isWebGL(gl)) {
|
|
44
44
|
throw new Error('Invalid WebGL2RenderingContext');
|
|
45
45
|
}
|
|
46
|
-
return new WebGLDevice({
|
|
46
|
+
return new WebGLDevice({ _handle: gl });
|
|
47
47
|
}
|
|
48
48
|
async create(props = {}) {
|
|
49
49
|
log.groupCollapsed(LOG_LEVEL, 'WebGLDevice created')();
|
|
50
50
|
const promises = [];
|
|
51
51
|
// Load webgl and spector debug scripts from CDN if requested
|
|
52
|
-
if (props.debug) {
|
|
52
|
+
if (props.debugWebGL || props.debug) {
|
|
53
53
|
promises.push(loadWebGLDeveloperTools());
|
|
54
54
|
}
|
|
55
|
-
if (props.
|
|
55
|
+
if (props.debugSpectorJS) {
|
|
56
56
|
promises.push(loadSpectorJS(props));
|
|
57
57
|
}
|
|
58
|
-
// Wait for page to load: if canvas is a string we need to query the DOM for the canvas element.
|
|
59
|
-
// We only wait when props.canvas is string to avoids setting the global page onload callback unless necessary.
|
|
60
|
-
if (typeof props.canvas === 'string') {
|
|
61
|
-
promises.push(CanvasContext.pageLoaded);
|
|
62
|
-
}
|
|
63
58
|
// Wait for all the loads to settle before creating the context.
|
|
64
59
|
// The Device.create() functions are async, so in contrast to the constructor, we can `await` here.
|
|
65
60
|
const results = await Promise.allSettled(promises);
|
|
@@ -68,7 +63,6 @@ export class WebGLAdapter extends Adapter {
|
|
|
68
63
|
log.error(`Failed to initialize debug libraries ${result.reason}`)();
|
|
69
64
|
}
|
|
70
65
|
}
|
|
71
|
-
log.probe(LOG_LEVEL + 1, 'DOM is loaded')();
|
|
72
66
|
const device = new WebGLDevice(props);
|
|
73
67
|
// Log some debug info about the newly created context
|
|
74
68
|
const message = `\
|
|
@@ -89,3 +83,4 @@ function isWebGL(gl) {
|
|
|
89
83
|
return Boolean(gl && Number.isFinite(gl._version));
|
|
90
84
|
}
|
|
91
85
|
export const webgl2Adapter = new WebGLAdapter();
|
|
86
|
+
//# sourceMappingURL=webgl-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgl-adapter.js","sourceRoot":"","sources":["../../src/adapter/webgl-adapter.ts"],"names":[],"mappings":"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"}
|