@luma.gl/webgl 9.0.0-alpha.21 → 9.0.0-alpha.24

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 (165) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +1 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +9 -9
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/sampler-parameters.d.ts +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.js +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  9. package/dist/adapter/converters/texture-formats.d.ts +29 -40
  10. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  11. package/dist/adapter/converters/texture-formats.js +152 -114
  12. package/dist/adapter/converters/texture-formats.js.map +1 -1
  13. package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
  14. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  15. package/dist/adapter/helpers/attribute-utils.d.ts +1 -1
  16. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -1
  17. package/dist/adapter/helpers/attribute-utils.js +1 -1
  18. package/dist/adapter/helpers/attribute-utils.js.map +1 -1
  19. package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
  20. package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
  21. package/dist/adapter/helpers/get-shader-info.js.map +1 -1
  22. package/dist/adapter/helpers/uniforms.d.ts +7 -8
  23. package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
  24. package/dist/adapter/helpers/uniforms.js +4 -4
  25. package/dist/adapter/helpers/uniforms.js.map +1 -1
  26. package/dist/adapter/objects/constants-to-keys.d.ts +0 -2
  27. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  28. package/dist/adapter/objects/constants-to-keys.js +0 -20
  29. package/dist/adapter/objects/constants-to-keys.js.map +1 -1
  30. package/dist/adapter/objects/webgl-renderbuffer.d.ts +12 -9
  31. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  32. package/dist/adapter/objects/webgl-renderbuffer.js +29 -19
  33. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
  34. package/dist/adapter/objects/webgl-resource.d.ts +0 -1
  35. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  36. package/dist/adapter/objects/webgl-resource.js +4 -7
  37. package/dist/adapter/objects/webgl-resource.js.map +1 -1
  38. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
  39. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
  40. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  41. package/dist/adapter/resources/webgl-buffer.js +3 -2
  42. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  43. package/dist/adapter/resources/webgl-command-buffer.d.ts +13 -7
  44. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  45. package/dist/adapter/resources/webgl-command-buffer.js +168 -25
  46. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  47. package/dist/adapter/resources/webgl-command-encoder.d.ts +3 -2
  48. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  49. package/dist/adapter/resources/webgl-command-encoder.js +6 -2
  50. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  51. package/dist/adapter/resources/webgl-framebuffer.d.ts +11 -14
  52. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  53. package/dist/adapter/resources/webgl-framebuffer.js +29 -79
  54. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  55. package/dist/adapter/resources/webgl-render-pass.d.ts +16 -1
  56. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  57. package/dist/adapter/resources/webgl-render-pass.js +80 -0
  58. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  59. package/dist/adapter/resources/webgl-render-pipeline.d.ts +1 -1
  60. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  61. package/dist/adapter/resources/webgl-render-pipeline.js +5 -5
  62. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  63. package/dist/adapter/resources/webgl-sampler.d.ts +1 -1
  64. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  65. package/dist/adapter/resources/webgl-sampler.js +1 -1
  66. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  67. package/dist/adapter/resources/webgl-texture.d.ts +43 -23
  68. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  69. package/dist/adapter/resources/webgl-texture.js +32 -30
  70. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  71. package/dist/adapter/webgl-canvas-context.d.ts +1 -2
  72. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  73. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  74. package/dist/adapter/webgl-device.d.ts +13 -6
  75. package/dist/adapter/webgl-device.d.ts.map +1 -1
  76. package/dist/adapter/webgl-device.js +20 -2
  77. package/dist/adapter/webgl-device.js.map +1 -1
  78. package/dist/classic/buffer.d.ts +1 -2
  79. package/dist/classic/buffer.d.ts.map +1 -1
  80. package/dist/classic/buffer.js +0 -6
  81. package/dist/classic/buffer.js.map +1 -1
  82. package/dist/classic/clear.d.ts +22 -0
  83. package/dist/classic/clear.d.ts.map +1 -0
  84. package/dist/classic/clear.js +88 -0
  85. package/dist/classic/clear.js.map +1 -0
  86. package/dist/classic/copy-and-blit.d.ts +45 -0
  87. package/dist/classic/copy-and-blit.d.ts.map +1 -0
  88. package/dist/classic/copy-and-blit.js +136 -0
  89. package/dist/classic/copy-and-blit.js.map +1 -0
  90. package/dist/classic/format-utils.d.ts +3 -0
  91. package/dist/classic/format-utils.d.ts.map +1 -0
  92. package/dist/classic/format-utils.js +38 -0
  93. package/dist/classic/format-utils.js.map +1 -0
  94. package/dist/classic/typed-array-utils.d.ts +15 -17
  95. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  96. package/dist/classic/typed-array-utils.js +1 -1
  97. package/dist/classic/typed-array-utils.js.map +1 -1
  98. package/dist/context/context/create-browser-context.d.ts +17 -19
  99. package/dist/context/context/create-browser-context.d.ts.map +1 -1
  100. package/dist/context/context/create-browser-context.js +4 -4
  101. package/dist/context/context/create-browser-context.js.map +1 -1
  102. package/dist/context/context/create-headless-context.d.ts +1 -1
  103. package/dist/context/context/create-headless-context.d.ts.map +1 -1
  104. package/dist/context/debug/spector.d.ts +1 -3
  105. package/dist/context/debug/spector.d.ts.map +1 -1
  106. package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
  107. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  108. package/dist/context/parameters/unified-parameter-api.d.ts +1 -1
  109. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  110. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  111. package/dist/context/parameters/webgl-parameter-tables.d.ts +2 -3
  112. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  113. package/dist/context/parameters/webgl-parameter-tables.js +1 -1
  114. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  115. package/dist/dist.dev.js +1306 -659
  116. package/dist/index.cjs +1269 -897
  117. package/dist/index.d.ts +5 -2
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +4 -1
  120. package/dist/index.js.map +1 -1
  121. package/dist/types.d.ts +1 -1
  122. package/dist/types.d.ts.map +1 -1
  123. package/dist.min.js +22 -21
  124. package/package.json +7 -4
  125. package/src/adapter/converters/device-parameters.ts +46 -22
  126. package/src/adapter/converters/sampler-parameters.ts +1 -2
  127. package/src/adapter/converters/texture-formats.ts +242 -161
  128. package/src/adapter/helpers/attribute-utils.ts +1 -2
  129. package/src/adapter/helpers/get-shader-info.ts +3 -0
  130. package/src/adapter/helpers/uniforms.ts +9 -10
  131. package/src/adapter/objects/constants-to-keys.ts +0 -25
  132. package/src/adapter/objects/webgl-renderbuffer.ts +32 -29
  133. package/src/adapter/objects/webgl-resource.ts +4 -8
  134. package/src/adapter/resources/webgl-buffer.ts +4 -5
  135. package/src/adapter/resources/webgl-command-buffer.ts +328 -21
  136. package/src/adapter/resources/webgl-command-encoder.ts +7 -2
  137. package/src/adapter/resources/webgl-framebuffer.ts +63 -111
  138. package/src/adapter/resources/webgl-render-pass.ts +146 -2
  139. package/src/adapter/resources/webgl-render-pipeline.ts +7 -4
  140. package/src/adapter/resources/webgl-sampler.ts +1 -2
  141. package/src/adapter/resources/webgl-texture.ts +61 -43
  142. package/src/adapter/webgl-canvas-context.ts +2 -2
  143. package/src/adapter/webgl-device.ts +37 -8
  144. package/src/classic/buffer.ts +3 -3
  145. package/src/classic/clear.ts +110 -0
  146. package/src/classic/copy-and-blit.ts +189 -0
  147. package/src/classic/format-utils.ts +43 -0
  148. package/src/classic/typed-array-utils.ts +15 -26
  149. package/src/context/context/create-browser-context.ts +37 -30
  150. package/src/context/parameters/unified-parameter-api.ts +1 -1
  151. package/src/context/parameters/webgl-parameter-tables.ts +2 -2
  152. package/src/index.ts +10 -3
  153. package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
  154. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
  155. package/dist/adapter/converters/renderbuffer-formats.js +0 -180
  156. package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
  157. package/dist/types/webgl.d.ts +0 -145
  158. package/dist/types/webgl.d.ts.map +0 -1
  159. package/dist/types/webgl.js +0 -2
  160. package/dist/types/webgl.js.map +0 -1
  161. package/src/.DS_Store +0 -0
  162. package/src/adapter/.DS_Store +0 -0
  163. package/src/adapter/converters/renderbuffer-formats.ts +0 -90
  164. package/src/context/.DS_Store +0 -0
  165. package/src/types/webgl.ts +0 -286
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luma.gl/webgl",
3
- "version": "9.0.0-alpha.21",
3
+ "version": "9.0.0-alpha.24",
4
4
  "description": "WebGL2 adapter for the luma.gl API",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -44,9 +44,12 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@babel/runtime": "^7.0.0",
47
- "@luma.gl/api": "9.0.0-alpha.21",
48
- "@luma.gl/constants": "9.0.0-alpha.21",
47
+ "@luma.gl/api": "9.0.0-alpha.24",
48
+ "@luma.gl/constants": "9.0.0-alpha.24",
49
49
  "@probe.gl/env": "^4.0.2"
50
50
  },
51
- "gitHead": "7ee95470a6a2f62753201beb0c36b00e37c70455"
51
+ "devDependencies": {
52
+ "@luma.gl/test-utils": "9.0.0-alpha.24"
53
+ },
54
+ "gitHead": "3707968c288edbfef7ab4060195493ca8f00e7d5"
52
55
  }
@@ -1,6 +1,13 @@
1
- import {Device, Parameters, CompareFunction, StencilOperation, log, isObjectEmpty} from '@luma.gl/api';
1
+ import {
2
+ Device,
3
+ Parameters,
4
+ CompareFunction,
5
+ StencilOperation,
6
+ log,
7
+ isObjectEmpty
8
+ } from '@luma.gl/api';
2
9
  import GL from '@luma.gl/constants';
3
- import type { GLParameters } from '../../types/webgl';
10
+ import type {GLParameters} from '@luma.gl/constants';
4
11
  import {pushContextState, popContextState} from '../../context/state-tracker/track-context-state';
5
12
  import {setParameters} from '../../context/parameters/unified-parameter-api';
6
13
  import {WebGLDevice} from '../webgl-device';
@@ -16,7 +23,11 @@ import {WebGLDevice} from '../webgl-device';
16
23
  * - Returns the return value of the supplied function
17
24
  * @deprecated use withDeviceParameters instead
18
25
  */
19
- export function withGLParameters<T = unknown>(device: Device, parameters: GLParameters, func: (device?: Device) => T): T {
26
+ export function withGLParameters<T = unknown>(
27
+ device: Device,
28
+ parameters: GLParameters,
29
+ func: (device?: Device) => T
30
+ ): T {
20
31
  if (isObjectEmpty(parameters)) {
21
32
  // Avoid setting state if no parameters provided. Just call and return
22
33
  return func(device);
@@ -42,7 +53,11 @@ export function withGLParameters<T = unknown>(device: Device, parameters: GLPara
42
53
  * - Restores parameters
43
54
  * - Returns the return value of the supplied function
44
55
  */
45
- export function withDeviceParameters<T = unknown>(device: Device, parameters: Parameters, func: (device?: Device) => T): T {
56
+ export function withDeviceParameters<T = unknown>(
57
+ device: Device,
58
+ parameters: Parameters,
59
+ func: (device?: Device) => T
60
+ ): T {
46
61
  if (isObjectEmpty(parameters)) {
47
62
  // Avoid setting state if no parameters provided. Just call and return
48
63
  return func(device);
@@ -60,7 +75,6 @@ export function withDeviceParameters<T = unknown>(device: Device, parameters: Pa
60
75
  }
61
76
  }
62
77
 
63
-
64
78
  /** Set WebGPU Style Parameters */
65
79
  export function setDeviceParameters(device: Device, parameters: Parameters) {
66
80
  const webglDevice = WebGLDevice.attach(device);
@@ -84,10 +98,12 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
84
98
  }
85
99
 
86
100
  if (parameters.frontFace) {
87
- gl.frontFace(map('frontFace', parameters.frontFace, {
88
- ccw: GL.CCW,
89
- cw: GL.CW
90
- }));
101
+ gl.frontFace(
102
+ map('frontFace', parameters.frontFace, {
103
+ ccw: GL.CCW,
104
+ cw: GL.CW
105
+ })
106
+ );
91
107
  }
92
108
 
93
109
  if (parameters.depthBias !== undefined) {
@@ -105,7 +121,6 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
105
121
  }
106
122
 
107
123
  if (parameters.depthCompare) {
108
-
109
124
  parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
110
125
  gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
111
126
  }
@@ -125,15 +140,24 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
125
140
  const mask = parameters.stencilReadMask || 0xffffffff;
126
141
  const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
127
142
  // TODO - ensure back doesn't overwrite
128
- parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);
143
+ parameters.stencilCompare !== 'always'
144
+ ? gl.enable(GL.STENCIL_TEST)
145
+ : gl.disable(GL.STENCIL_TEST);
129
146
  gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
130
147
  gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
131
148
  }
132
149
 
133
- if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {
150
+ if (
151
+ parameters.stencilPassOperation &&
152
+ parameters.stencilFailOperation &&
153
+ parameters.stencilDepthFailOperation
154
+ ) {
134
155
  const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
135
156
  const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
136
- const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
157
+ const dpfail = convertStencilOperation(
158
+ 'stencilDepthFailOperation',
159
+ parameters.stencilDepthFailOperation
160
+ );
137
161
  gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);
138
162
  gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);
139
163
  }
@@ -190,14 +214,14 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
190
214
 
191
215
  export function convertCompareFunction(parameter: string, value: CompareFunction): GL {
192
216
  return map(parameter, value, {
193
- 'never': GL.NEVER,
194
- 'less': GL.LESS,
195
- 'equal': GL.EQUAL,
217
+ never: GL.NEVER,
218
+ less: GL.LESS,
219
+ equal: GL.EQUAL,
196
220
  'less-equal': GL.LEQUAL,
197
- 'greater': GL.GREATER,
221
+ greater: GL.GREATER,
198
222
  'not-equal': GL.NOTEQUAL,
199
223
  'greater-equal': GL.GEQUAL,
200
- 'always': GL.ALWAYS
224
+ always: GL.ALWAYS
201
225
  });
202
226
  }
203
227
 
@@ -216,10 +240,10 @@ export function convertToCompareFunction(parameter: string, value: GL): CompareF
216
240
 
217
241
  function convertStencilOperation(parameter: string, value: StencilOperation): GL {
218
242
  return map(parameter, value, {
219
- 'keep': GL.KEEP,
220
- 'zero': GL.ZERO,
221
- 'replace': GL.REPLACE,
222
- 'invert': GL.INVERT,
243
+ keep: GL.KEEP,
244
+ zero: GL.ZERO,
245
+ replace: GL.REPLACE,
246
+ invert: GL.INVERT,
223
247
  'increment-clamp': GL.INCR,
224
248
  'decrement-clamp': GL.DECR,
225
249
  'increment-wrap': GL.INCR_WRAP,
@@ -1,7 +1,6 @@
1
1
  // SAMPLER FILTERS
2
2
  import {SamplerParameters} from '@luma.gl/api';
3
- import GL from '@luma.gl/constants';
4
- import {GLSamplerParameters} from '../../types/webgl';
3
+ import {GL, GLSamplerParameters} from '@luma.gl/constants';
5
4
  import {convertCompareFunction, convertToCompareFunction} from './device-parameters';
6
5
 
7
6
  /* eslint-disable consistent-return */