@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.
Files changed (200) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +3 -3
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +1 -0
  4. package/dist/adapter/converters/device-parameters.js.map +1 -0
  5. package/dist/adapter/converters/sampler-parameters.js +7 -4
  6. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  7. package/dist/adapter/converters/shader-formats.js +1 -0
  8. package/dist/adapter/converters/shader-formats.js.map +1 -0
  9. package/dist/adapter/converters/vertex-formats.js +1 -0
  10. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  11. package/dist/adapter/converters/webgl-texture-table.d.ts +40 -0
  12. package/dist/adapter/converters/webgl-texture-table.d.ts.map +1 -0
  13. package/dist/adapter/converters/webgl-texture-table.js +304 -0
  14. package/dist/adapter/converters/webgl-texture-table.js.map +1 -0
  15. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
  16. package/dist/adapter/device-helpers/webgl-device-features.js +2 -2
  17. package/dist/adapter/device-helpers/webgl-device-features.js.map +1 -0
  18. package/dist/adapter/device-helpers/webgl-device-info.js +1 -0
  19. package/dist/adapter/device-helpers/webgl-device-info.js.map +1 -0
  20. package/dist/adapter/device-helpers/webgl-device-limits.js +1 -0
  21. package/dist/adapter/device-helpers/webgl-device-limits.js.map +1 -0
  22. package/dist/adapter/helpers/decode-webgl-types.js +1 -0
  23. package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
  24. package/dist/adapter/helpers/format-utils.d.ts.map +1 -0
  25. package/dist/{classic → adapter/helpers}/format-utils.js +7 -0
  26. package/dist/adapter/helpers/format-utils.js.map +1 -0
  27. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
  28. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  29. package/dist/adapter/helpers/get-shader-layout.js +5 -4
  30. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  31. package/dist/adapter/helpers/parse-shader-compiler-log.js +1 -0
  32. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  33. package/dist/adapter/helpers/set-uniform.js +1 -0
  34. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  35. package/dist/adapter/helpers/typed-array-utils.d.ts.map +1 -0
  36. package/dist/{classic → adapter/helpers}/typed-array-utils.js +1 -0
  37. package/dist/adapter/helpers/typed-array-utils.js.map +1 -0
  38. package/dist/adapter/helpers/webgl-texture-utils.d.ts +96 -25
  39. package/dist/adapter/helpers/webgl-texture-utils.d.ts.map +1 -1
  40. package/dist/adapter/helpers/webgl-texture-utils.js +225 -236
  41. package/dist/adapter/helpers/webgl-texture-utils.js.map +1 -0
  42. package/dist/adapter/helpers/webgl-topology-utils.js +1 -0
  43. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  44. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  45. package/dist/adapter/resources/webgl-buffer.js +4 -1
  46. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  47. package/dist/adapter/resources/webgl-command-buffer.d.ts +59 -2
  48. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  49. package/dist/adapter/resources/webgl-command-buffer.js +89 -32
  50. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  51. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  52. package/dist/adapter/resources/webgl-command-encoder.js +4 -0
  53. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  54. package/dist/adapter/resources/webgl-external-texture.js +15 -0
  55. package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
  56. package/dist/adapter/resources/webgl-framebuffer.d.ts +33 -35
  57. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  58. package/dist/adapter/resources/webgl-framebuffer.js +70 -75
  59. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  60. package/dist/adapter/resources/webgl-query-set.js +1 -0
  61. package/dist/adapter/resources/webgl-query-set.js.map +1 -0
  62. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  63. package/dist/adapter/resources/webgl-render-pass.js +33 -18
  64. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  65. package/dist/adapter/resources/webgl-render-pipeline.d.ts +3 -4
  66. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  67. package/dist/adapter/resources/webgl-render-pipeline.js +44 -22
  68. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  69. package/dist/adapter/resources/webgl-sampler.js +1 -0
  70. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  71. package/dist/adapter/resources/webgl-shader.d.ts +1 -0
  72. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  73. package/dist/adapter/resources/webgl-shader.js +13 -6
  74. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  75. package/dist/adapter/resources/webgl-texture-view.js +1 -0
  76. package/dist/adapter/resources/webgl-texture-view.js.map +1 -0
  77. package/dist/adapter/resources/webgl-texture.d.ts +32 -20
  78. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-texture.js +163 -218
  80. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  81. package/dist/adapter/resources/webgl-transform-feedback.js +1 -0
  82. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
  83. package/dist/adapter/resources/webgl-vertex-array.js +1 -0
  84. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  85. package/dist/adapter/webgl-adapter.d.ts.map +1 -1
  86. package/dist/adapter/webgl-adapter.js +5 -10
  87. package/dist/adapter/webgl-adapter.js.map +1 -0
  88. package/dist/adapter/webgl-canvas-context.d.ts +4 -6
  89. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  90. package/dist/adapter/webgl-canvas-context.js +13 -17
  91. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  92. package/dist/adapter/webgl-device.d.ts +20 -19
  93. package/dist/adapter/webgl-device.d.ts.map +1 -1
  94. package/dist/adapter/webgl-device.js +75 -51
  95. package/dist/adapter/webgl-device.js.map +1 -0
  96. package/dist/context/debug/spector-types.js +2 -1
  97. package/dist/context/debug/spector-types.js.map +1 -0
  98. package/dist/context/debug/spector.d.ts +5 -5
  99. package/dist/context/debug/spector.d.ts.map +1 -1
  100. package/dist/context/debug/spector.js +7 -6
  101. package/dist/context/debug/spector.js.map +1 -0
  102. package/dist/context/debug/webgl-developer-tools.d.ts +2 -3
  103. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  104. package/dist/context/debug/webgl-developer-tools.js +7 -19
  105. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  106. package/dist/context/helpers/create-browser-context.d.ts +6 -22
  107. package/dist/context/helpers/create-browser-context.d.ts.map +1 -1
  108. package/dist/context/helpers/create-browser-context.js +41 -32
  109. package/dist/context/helpers/create-browser-context.js.map +1 -0
  110. package/dist/context/helpers/webgl-context-data.js +1 -0
  111. package/dist/context/helpers/webgl-context-data.js.map +1 -0
  112. package/dist/context/helpers/webgl-extensions.js +1 -0
  113. package/dist/context/helpers/webgl-extensions.js.map +1 -0
  114. package/dist/context/parameters/unified-parameter-api.js +1 -0
  115. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  116. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  117. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  118. package/dist/context/parameters/webgl-parameter-tables.js +3 -2
  119. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  120. package/dist/context/polyfills/polyfill-webgl1-extensions.js +1 -0
  121. package/dist/context/polyfills/polyfill-webgl1-extensions.js.map +1 -0
  122. package/dist/context/state-tracker/deep-array-equal.js +1 -0
  123. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  124. package/dist/context/state-tracker/webgl-state-tracker.js +1 -0
  125. package/dist/context/state-tracker/webgl-state-tracker.js.map +1 -0
  126. package/dist/context/state-tracker/with-parameters.js +1 -0
  127. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  128. package/dist/deprecated/accessor.d.ts.map +1 -0
  129. package/dist/{classic → deprecated}/accessor.js +37 -1
  130. package/dist/deprecated/accessor.js.map +1 -0
  131. package/dist/dist.dev.js +2234 -2373
  132. package/dist/dist.min.js +2 -2
  133. package/dist/index.cjs +2124 -2256
  134. package/dist/index.cjs.map +4 -4
  135. package/dist/index.d.ts +2 -3
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +3 -4
  138. package/dist/index.js.map +1 -0
  139. package/dist/types.js +1 -0
  140. package/dist/types.js.map +1 -0
  141. package/dist/utils/fill-array.d.ts +4 -4
  142. package/dist/utils/fill-array.d.ts.map +1 -1
  143. package/dist/utils/fill-array.js +1 -0
  144. package/dist/utils/fill-array.js.map +1 -0
  145. package/dist/utils/load-script.js +1 -0
  146. package/dist/utils/load-script.js.map +1 -0
  147. package/dist/utils/split-uniforms-and-bindings.d.ts +1 -1
  148. package/dist/utils/split-uniforms-and-bindings.d.ts.map +1 -1
  149. package/dist/utils/split-uniforms-and-bindings.js +1 -0
  150. package/dist/utils/split-uniforms-and-bindings.js.map +1 -0
  151. package/dist/utils/uid.js +1 -0
  152. package/dist/utils/uid.js.map +1 -0
  153. package/package.json +5 -5
  154. package/src/adapter/converters/device-parameters.ts +3 -3
  155. package/src/adapter/converters/sampler-parameters.ts +6 -4
  156. package/src/adapter/converters/webgl-texture-table.ts +404 -0
  157. package/src/adapter/device-helpers/webgl-device-features.ts +5 -2
  158. package/src/{classic → adapter/helpers}/format-utils.ts +6 -0
  159. package/src/adapter/helpers/get-shader-layout.ts +7 -4
  160. package/src/adapter/helpers/webgl-texture-utils.ts +400 -57
  161. package/src/adapter/resources/webgl-buffer.ts +3 -1
  162. package/src/adapter/resources/webgl-command-buffer.ts +125 -41
  163. package/src/adapter/resources/webgl-command-encoder.ts +6 -0
  164. package/src/adapter/resources/webgl-external-texture.ts +14 -0
  165. package/src/adapter/resources/webgl-framebuffer.ts +79 -85
  166. package/src/adapter/resources/webgl-render-pass.ts +56 -42
  167. package/src/adapter/resources/webgl-render-pipeline.ts +56 -26
  168. package/src/adapter/resources/webgl-shader.ts +15 -7
  169. package/src/adapter/resources/webgl-texture.ts +188 -250
  170. package/src/adapter/webgl-adapter.ts +4 -12
  171. package/src/adapter/webgl-canvas-context.ts +16 -19
  172. package/src/adapter/webgl-device.ts +125 -88
  173. package/src/context/debug/spector-types.ts +1 -1
  174. package/src/context/debug/spector.ts +11 -11
  175. package/src/context/debug/webgl-developer-tools.ts +8 -31
  176. package/src/context/helpers/create-browser-context.ts +53 -63
  177. package/src/context/parameters/webgl-parameter-tables.ts +2 -2
  178. package/src/{classic → deprecated}/accessor.ts +44 -3
  179. package/src/index.ts +2 -5
  180. package/src/utils/fill-array.ts +4 -4
  181. package/src/utils/split-uniforms-and-bindings.ts +3 -3
  182. package/dist/adapter/converters/texture-formats.d.ts +0 -83
  183. package/dist/adapter/converters/texture-formats.d.ts.map +0 -1
  184. package/dist/adapter/converters/texture-formats.js +0 -511
  185. package/dist/classic/accessor.d.ts.map +0 -1
  186. package/dist/classic/clear.d.ts +0 -22
  187. package/dist/classic/clear.d.ts.map +0 -1
  188. package/dist/classic/clear.js +0 -86
  189. package/dist/classic/copy-and-blit.d.ts +0 -64
  190. package/dist/classic/copy-and-blit.d.ts.map +0 -1
  191. package/dist/classic/copy-and-blit.js +0 -194
  192. package/dist/classic/format-utils.d.ts.map +0 -1
  193. package/dist/classic/typed-array-utils.d.ts.map +0 -1
  194. package/src/adapter/converters/texture-formats.ts +0 -657
  195. package/src/classic/clear.ts +0 -115
  196. package/src/classic/copy-and-blit.ts +0 -323
  197. /package/dist/{classic → adapter/helpers}/format-utils.d.ts +0 -0
  198. /package/dist/{classic → adapter/helpers}/typed-array-utils.d.ts +0 -0
  199. /package/dist/{classic → deprecated}/accessor.d.ts +0 -0
  200. /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
- // import {GLPixelDataType} from '@luma.gl/constants';
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
- copyCPUImageToMipLevel, copyCPUDataToMipLevel,
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 = false;
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
- // Note: Clear out `props.data` so that we don't hold a reference to any big memory chunks
93
- super(device, { ...Texture.defaultProps, ...props, data: undefined });
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 format = getTextureFormatWebGL(this.props.format);
100
- this.glInternalFormat = format.internalFormat;
101
- this.glFormat = format.format;
102
- this.glType = format.type;
103
- this.compressed = format.compressed;
104
- if (typeof HTMLVideoElement !== 'undefined' &&
105
- props.data instanceof HTMLVideoElement &&
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
- initialize(props = {}) {
69
+ _initialize(propsWithData) {
122
70
  this.handle = this.props.handle || this.gl.createTexture();
123
- this.device.setSpectorMetadata(this.handle, { ...this.props, data: typeof this.props.data });
124
- const data = props.data;
125
- // const {parameters = {} as Record<GL, any>} = props;
126
- let { width, height } = props;
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 = this.getTextureDataSize(data);
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 = props.depth;
86
+ this.depth = propsWithData.depth;
136
87
  // Set texture sampler parameters
137
- this.setSampler(props.sampler);
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
- if (!this.props.data) {
142
- initializeTextureStorage(this.gl, this.mipLevels, this);
143
- }
144
- if (props.data) {
92
+ initializeTextureStorage(this.gl, this.mipLevels, this);
93
+ if (propsWithData.data) {
145
94
  // prettier-ignore
146
- switch (props.dimension) {
95
+ switch (propsWithData.dimension) {
147
96
  case '1d':
148
- this.setTexture1DData(props.data);
97
+ this.setTexture1DData(propsWithData.data);
149
98
  break;
150
99
  case '2d':
151
- this.setTexture2DData(props.data);
100
+ this.setTexture2DData(propsWithData.data);
152
101
  break;
153
102
  case '3d':
154
- this.setTexture3DData(props.data);
103
+ this.setTexture3DData(propsWithData.data);
155
104
  break;
156
105
  case 'cube':
157
- this.setTextureCubeData(props.data);
106
+ this.setTextureCubeData(propsWithData.data);
158
107
  break;
159
108
  case '2d-array':
160
- this.setTextureArrayData(props.data);
109
+ this.setTextureArrayData(propsWithData.data);
161
110
  break;
162
111
  case 'cube-array':
163
- this.setTextureCubeArrayData(props.data);
112
+ this.setTextureCubeArrayData(propsWithData.data);
164
113
  break;
165
114
  // @ts-expect-error
166
- default: throw new Error(props.dimension);
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(params = {}) {
255
- if (!this.props.data) {
256
- return;
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
- this.mipmaps = true;
259
- this.gl.bindTexture(this.glTarget, this.handle);
260
- withGLParameters(this.gl, params, () => {
157
+ try {
158
+ this.gl.bindTexture(this.glTarget, this.handle);
261
159
  this.gl.generateMipmap(this.glTarget);
262
- });
263
- this.gl.bindTexture(this.glTarget, null);
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, 'texture sampler parameters', parameters)();
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, level, textureData, glTarget = this.glTarget) {
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
- copyCPUImageToMipLevel(this.device.gl, textureData, { ...this, depth, level, glTarget });
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 (this.isTextureLevelData(textureData)) {
368
+ if (Texture.isTextureLevelData(textureData)) {
480
369
  copyCPUDataToMipLevel(this.device.gl, textureData.data, {
481
370
  ...this,
482
371
  depth,
483
- level,
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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"}
@@ -160,3 +160,4 @@ function isIndex(value) {
160
160
  }
161
161
  return /^\d+$/.test(value);
162
162
  }
163
+ //# sourceMappingURL=webgl-transform-feedback.js.map
@@ -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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"}
@@ -229,3 +229,4 @@ function compareConstantArrayValues(v1, v2) {
229
229
  }
230
230
  return true;
231
231
  }
232
+ //# sourceMappingURL=webgl-vertex-array.js.map
@@ -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,EAAqB,MAAM,eAAe,CAAC;AAC/E,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;CA4C5D;AAWD,eAAO,MAAM,aAAa,cAAqB,CAAC"}
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, CanvasContext, log } from '@luma.gl/core';
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({ gl: gl });
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.debugWithSpectorJS) {
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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"}