@luma.gl/webgl 9.0.0-alpha.5 → 9.0.0-alpha.6

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 (208) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +11 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +15 -2
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/sampler-parameters.d.ts +4 -4
  6. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.js +21 -2
  8. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  9. package/dist/adapter/converters/texture-formats.js +3 -3
  10. package/dist/adapter/converters/texture-formats.js.map +1 -1
  11. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  12. package/dist/adapter/device-helpers/device-features.js +12 -2
  13. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  14. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  15. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  16. package/dist/adapter/helpers/get-shader-layout.js +40 -16
  17. package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
  18. package/dist/adapter/helpers/uniforms.d.ts +1 -1
  19. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  20. package/dist/adapter/helpers/uniforms.js +4 -4
  21. package/dist/adapter/helpers/uniforms.js.map +1 -1
  22. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  23. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  24. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  25. package/dist/adapter/resources/webgl-buffer.d.ts +1 -1
  26. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  27. package/dist/adapter/resources/webgl-buffer.js +2 -2
  28. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  29. package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -1
  30. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  31. package/dist/adapter/resources/webgl-framebuffer.js +5 -3
  32. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  33. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  34. package/dist/adapter/resources/webgl-render-pass.js +2 -0
  35. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  36. package/dist/adapter/resources/webgl-render-pipeline.d.ts +1 -1
  37. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  38. package/dist/adapter/resources/webgl-render-pipeline.js +40 -24
  39. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  40. package/dist/adapter/resources/webgl-sampler.d.ts +2 -2
  41. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  42. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  43. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  44. package/dist/adapter/resources/webgl-shader.js +4 -3
  45. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  46. package/dist/adapter/resources/webgl-texture.d.ts +19 -19
  47. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  48. package/dist/adapter/resources/webgl-texture.js +14 -13
  49. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  50. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  51. package/dist/adapter/webgl-canvas-context.js +1 -1
  52. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  53. package/dist/classic/buffer.js +14 -6
  54. package/dist/classic/buffer.js.map +1 -1
  55. package/dist/context/context/create-context.d.ts.map +1 -1
  56. package/dist/context/context/create-context.js +8 -2
  57. package/dist/context/context/create-context.js.map +1 -1
  58. package/dist/context/context/device-pixels.d.ts.map +1 -1
  59. package/dist/context/context/device-pixels.js +13 -8
  60. package/dist/context/context/device-pixels.js.map +1 -1
  61. package/dist/context/debug/spector.js +1 -1
  62. package/dist/context/debug/spector.js.map +1 -1
  63. package/dist/context/debug/webgl-developer-tools.js +1 -1
  64. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  65. package/dist/context/parameters/unified-parameter-api.d.ts +5 -4
  66. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  67. package/dist/context/parameters/unified-parameter-api.js +1 -3
  68. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  69. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  70. package/dist/context/polyfill/polyfill-table.d.ts +1 -1
  71. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  72. package/dist/context/polyfill/polyfill-table.js +1 -1
  73. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  74. package/dist/context/state-tracker/track-context-state.js +1 -1
  75. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  76. package/dist/es5/adapter/converters/device-parameters.js +17 -2
  77. package/dist/es5/adapter/converters/device-parameters.js.map +1 -1
  78. package/dist/es5/adapter/converters/sampler-parameters.js +21 -2
  79. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -1
  80. package/dist/es5/adapter/converters/texture-formats.js +3 -3
  81. package/dist/es5/adapter/converters/texture-formats.js.map +1 -1
  82. package/dist/es5/adapter/device-helpers/device-features.js +15 -4
  83. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  84. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  85. package/dist/es5/adapter/helpers/get-shader-layout.js +48 -28
  86. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -1
  87. package/dist/es5/adapter/helpers/uniforms.js +4 -4
  88. package/dist/es5/adapter/helpers/uniforms.js.map +1 -1
  89. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  90. package/dist/es5/adapter/resources/webgl-buffer.js +2 -2
  91. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -1
  92. package/dist/es5/adapter/resources/webgl-framebuffer.js +4 -3
  93. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -1
  94. package/dist/es5/adapter/resources/webgl-render-pass.js +1 -0
  95. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -1
  96. package/dist/es5/adapter/resources/webgl-render-pipeline.js +43 -30
  97. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -1
  98. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -1
  99. package/dist/es5/adapter/resources/webgl-shader.js +4 -3
  100. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -1
  101. package/dist/es5/adapter/resources/webgl-texture.js +16 -16
  102. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -1
  103. package/dist/es5/adapter/webgl-canvas-context.js +1 -1
  104. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -1
  105. package/dist/es5/classic/buffer.js +14 -6
  106. package/dist/es5/classic/buffer.js.map +1 -1
  107. package/dist/es5/context/context/create-context.js +8 -2
  108. package/dist/es5/context/context/create-context.js.map +1 -1
  109. package/dist/es5/context/context/device-pixels.js +14 -8
  110. package/dist/es5/context/context/device-pixels.js.map +1 -1
  111. package/dist/es5/context/debug/spector.js +1 -1
  112. package/dist/es5/context/debug/spector.js.map +1 -1
  113. package/dist/es5/context/debug/webgl-developer-tools.js +1 -1
  114. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -1
  115. package/dist/es5/context/parameters/unified-parameter-api.js +2 -2
  116. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  117. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  118. package/dist/es5/context/polyfill/polyfill-table.js +1 -1
  119. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
  120. package/dist/es5/context/state-tracker/track-context-state.js +1 -1
  121. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  122. package/dist/es5/index.js +22 -16
  123. package/dist/es5/index.js.map +1 -1
  124. package/dist/es5/types/webgl.js.map +1 -1
  125. package/dist/esm/adapter/converters/device-parameters.js +15 -2
  126. package/dist/esm/adapter/converters/device-parameters.js.map +1 -1
  127. package/dist/esm/adapter/converters/sampler-parameters.js +21 -2
  128. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -1
  129. package/dist/esm/adapter/converters/texture-formats.js +3 -3
  130. package/dist/esm/adapter/converters/texture-formats.js.map +1 -1
  131. package/dist/esm/adapter/device-helpers/device-features.js +12 -2
  132. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  133. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  134. package/dist/esm/adapter/helpers/get-shader-layout.js +40 -16
  135. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -1
  136. package/dist/esm/adapter/helpers/uniforms.js +4 -4
  137. package/dist/esm/adapter/helpers/uniforms.js.map +1 -1
  138. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -1
  139. package/dist/esm/adapter/resources/webgl-buffer.js +2 -2
  140. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -1
  141. package/dist/esm/adapter/resources/webgl-framebuffer.js +5 -3
  142. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -1
  143. package/dist/esm/adapter/resources/webgl-render-pass.js +2 -0
  144. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -1
  145. package/dist/esm/adapter/resources/webgl-render-pipeline.js +40 -24
  146. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -1
  147. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -1
  148. package/dist/esm/adapter/resources/webgl-shader.js +4 -3
  149. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -1
  150. package/dist/esm/adapter/resources/webgl-texture.js +14 -13
  151. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -1
  152. package/dist/esm/adapter/webgl-canvas-context.js +1 -1
  153. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -1
  154. package/dist/esm/classic/buffer.js +14 -6
  155. package/dist/esm/classic/buffer.js.map +1 -1
  156. package/dist/esm/context/context/create-context.js +8 -2
  157. package/dist/esm/context/context/create-context.js.map +1 -1
  158. package/dist/esm/context/context/device-pixels.js +13 -8
  159. package/dist/esm/context/context/device-pixels.js.map +1 -1
  160. package/dist/esm/context/debug/spector.js +1 -1
  161. package/dist/esm/context/debug/spector.js.map +1 -1
  162. package/dist/esm/context/debug/webgl-developer-tools.js +1 -1
  163. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -1
  164. package/dist/esm/context/parameters/unified-parameter-api.js +1 -3
  165. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  166. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  167. package/dist/esm/context/polyfill/polyfill-table.js +1 -1
  168. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
  169. package/dist/esm/context/state-tracker/track-context-state.js +1 -1
  170. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  171. package/dist/esm/index.js +2 -2
  172. package/dist/esm/index.js.map +1 -1
  173. package/dist/esm/types/webgl.js.map +1 -1
  174. package/dist/index.d.ts +4 -3
  175. package/dist/index.d.ts.map +1 -1
  176. package/dist/index.js +2 -2
  177. package/dist/index.js.map +1 -1
  178. package/dist/types/webgl.d.ts +2 -2
  179. package/dist/types/webgl.d.ts.map +1 -1
  180. package/dist/types/webgl.js.map +1 -1
  181. package/package.json +7 -4
  182. package/src/adapter/converters/device-parameters.ts +28 -2
  183. package/src/adapter/converters/sampler-parameters.ts +16 -7
  184. package/src/adapter/converters/texture-formats.ts +3 -3
  185. package/src/adapter/device-helpers/device-features.ts +9 -1
  186. package/src/adapter/device-helpers/device-limits.ts +1 -1
  187. package/src/adapter/helpers/get-shader-layout.ts +40 -21
  188. package/src/adapter/helpers/uniforms.ts +21 -10
  189. package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
  190. package/src/adapter/resources/webgl-buffer.ts +3 -3
  191. package/src/adapter/resources/webgl-framebuffer.ts +6 -3
  192. package/src/adapter/resources/webgl-render-pass.ts +1 -0
  193. package/src/adapter/resources/webgl-render-pipeline.ts +43 -35
  194. package/src/adapter/resources/webgl-sampler.ts +5 -3
  195. package/src/adapter/resources/webgl-shader.ts +5 -4
  196. package/src/adapter/resources/webgl-texture.ts +37 -25
  197. package/src/adapter/webgl-canvas-context.ts +1 -1
  198. package/src/classic/buffer.ts +7 -7
  199. package/src/context/context/create-context.ts +9 -5
  200. package/src/context/context/device-pixels.ts +15 -9
  201. package/src/context/debug/spector.ts +1 -1
  202. package/src/context/debug/webgl-developer-tools.ts +1 -1
  203. package/src/context/parameters/unified-parameter-api.ts +12 -9
  204. package/src/context/polyfill/polyfill-context.ts +1 -1
  205. package/src/context/polyfill/polyfill-table.ts +1 -1
  206. package/src/context/state-tracker/track-context-state.ts +1 -1
  207. package/src/index.ts +11 -5
  208. package/src/types/webgl.ts +2 -2
@@ -21,7 +21,10 @@ export type {GLParameters};
21
21
  * @note requires a `cache` object to be set on the context (gl.state.cache)
22
22
  * This object is used to fill in any missing values for composite setter functions
23
23
  */
24
- export function setParameters(device: Device | WebGLRenderingContext, parameters: GLParameters): void {
24
+ export function setParameters(
25
+ device: Device | WebGLRenderingContext,
26
+ parameters: GLParameters
27
+ ): void {
25
28
  const webglDevice = WebGLDevice.attach(device);
26
29
  const gl = webglDevice.gl;
27
30
 
@@ -74,7 +77,10 @@ export function setParameters(device: Device | WebGLRenderingContext, parameters
74
77
 
75
78
  /**
76
79
  * Reads the entire WebGL state from a context
77
- * @returns - a newly created map, with values keyed by GL parameters
80
+
81
+ // default to querying all parameters
82
+
83
+ * @returns - a newly created map, with values keyed by GL parameters
78
84
  *
79
85
  * @note Copies the state from a context (gl.getParameter should not be overriden)
80
86
  * Reads the entire WebGL state from a context
@@ -83,13 +89,10 @@ export function setParameters(device: Device | WebGLRenderingContext, parameters
83
89
  * considered a very slow operation, to be used only if/when a context already manipulated
84
90
  * by external code needs to be synchronized for the first time
85
91
  */
86
- export function getParameters(gl: WebGLRenderingContext, parameters?: Record<keyof GLParameters, any>): GLParameters;
87
- export function getParameters(gl: WebGLRenderingContext, parameters?: (keyof GLParameters)[]): GLParameters;
88
- export function getParameters(gl: WebGLRenderingContext, parameters: keyof GLParameters): GLParameters;
89
-
90
- export function getParameters(gl, parameters) {
91
- // default to querying all parameters
92
- parameters = parameters || GL_PARAMETER_DEFAULTS;
92
+ export function getParameters(
93
+ gl: WebGLRenderingContext,
94
+ parameters: keyof GLParameters | (keyof GLParameters)[] | GLParameters = GL_PARAMETER_DEFAULTS
95
+ ): GLParameters {
93
96
  // support both arrays of parameters and objects (keys represent parameters)
94
97
 
95
98
  if (typeof parameters === 'number') {
@@ -65,7 +65,7 @@ function polyfillExtension(gl: WebGLRenderingContext, {extension, target, target
65
65
  for (const key of Object.keys(defaults)) {
66
66
  const extKey = `${key}${suffix}`;
67
67
 
68
- let polyfill = null;
68
+ let polyfill: Function | null = null;
69
69
  if (key === 'meta') {
70
70
  // ignore
71
71
  } else if (typeof gl[key] === 'function') {
@@ -81,7 +81,7 @@ export const WEBGL2_CONTEXT_POLYFILLS = {
81
81
  getQueryParameter(handle, pname) {
82
82
  return this.getQueryObject(handle, pname);
83
83
  },
84
- getQueryObject: () => {}
84
+ getQueryObject: (handle: unknown, pname: unknown) => {}
85
85
  }
86
86
  };
87
87
 
@@ -54,7 +54,7 @@ class GLState {
54
54
  let valueChanged = false;
55
55
  let oldValue; // = undefined
56
56
 
57
- const oldValues: {[key: number | string]: any} = this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1];
57
+ const oldValues: {[key: number | string]: any} | null = this.stateStack.length > 0 ? this.stateStack[this.stateStack.length - 1] : null;
58
58
 
59
59
  for (const key in values) {
60
60
  assert(key !== undefined);
package/src/index.ts CHANGED
@@ -8,13 +8,14 @@
8
8
  import '@luma.gl/api';
9
9
  import './init'
10
10
 
11
+ // Types
12
+ export type {WebGLLimits} from './adapter/device-helpers/device-limits';
13
+
14
+ // WebGL adapter classes
11
15
  export {default as WebGLDevice} from './adapter/webgl-device';
12
16
  export {default as WebGLCanvasContext} from './adapter/webgl-canvas-context';
13
17
 
14
- // Legacy WebGL Classes - will be moved to gltools
15
- export {default as Accessor} from './classic/accessor';
16
- export type {ClassicBufferProps as BufferProps} from './classic/buffer';
17
- export {default as Buffer} from './classic/buffer';
18
+ // WebGL Resource classes
18
19
  export {default as WEBGLResource, default as WebGLResource} from './adapter/objects/webgl-resource';
19
20
  export {default as WEBGLBuffer} from './adapter/resources/webgl-buffer';
20
21
  export {default as WEBGLTexture} from './adapter/resources/webgl-texture';
@@ -24,16 +25,21 @@ export {default as WEBGLSampler} from './adapter/resources/webgl-sampler';
24
25
  export {default as WEBGLFramebuffer} from './adapter/resources/webgl-framebuffer';
25
26
 
26
27
  export {default as WEBGLRenderPipeline} from './adapter/resources/webgl-render-pipeline';
27
-
28
28
  // export {default as WEBGLComputePipeline} from './adapter/resources/webgl-compute-pipeline';
29
29
  export {default as WEBGLCommandEncoder} from './adapter/resources/webgl-command-encoder';
30
30
  export {default as WEBGLRenderPass} from './adapter/resources/webgl-render-pass';
31
31
  //export {default as WEBGLComputePass} from './adapter/resources/webgl-compute-pass';
32
32
 
33
+ // non-api resources
33
34
  export type {RenderbufferProps} from './adapter/objects/webgl-renderbuffer';
34
35
  export {default as WEBGLRenderbuffer} from './adapter/objects/webgl-renderbuffer';
35
36
  export {default as WEBGLVertexArrayObject} from './adapter/objects/webgl-vertex-array-object';
36
37
 
38
+ // WebGL adapter classes (Legacy, will be moved to gltools)
39
+ export {default as Accessor} from './classic/accessor';
40
+ export type {ClassicBufferProps, ClassicBufferProps as BufferProps} from './classic/buffer';
41
+ export {default as ClassicBuffer, default as Buffer} from './classic/buffer';
42
+
37
43
  export {
38
44
  isWebGL,
39
45
  isWebGL2,
@@ -120,7 +120,7 @@ export type GLStencilOp =
120
120
  | GL.INVERT;
121
121
 
122
122
  /** Parameters for textures and samplers */
123
- export type WebGLSamplerParameters = {
123
+ export type GLSamplerParameters = {
124
124
  [GL.TEXTURE_WRAP_S]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
125
125
  [GL.TEXTURE_WRAP_T]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
126
126
  [GL.TEXTURE_WRAP_R]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
@@ -281,4 +281,4 @@ export type GLFunctionParameters = {
281
281
  };
282
282
 
283
283
  /** WebGL style parameters object (with both GL constants and function style fields) */
284
- export type GLParameters = GLValueParameters | GLFunctionParameters;
284
+ export type GLParameters = GLValueParameters & GLFunctionParameters;