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

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 (32) hide show
  1. package/dist/adapter/converters/device-parameters.js.map +1 -1
  2. package/dist/adapter/converters/sampler-parameters.js +1 -1
  3. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  4. package/dist/adapter/resources/webgl-texture.d.ts +3 -3
  5. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  6. package/dist/adapter/resources/webgl-texture.js +7 -5
  7. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  8. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  9. package/dist/es5/adapter/converters/device-parameters.js.map +1 -1
  10. package/dist/es5/adapter/converters/sampler-parameters.js +1 -1
  11. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -1
  12. package/dist/es5/adapter/resources/webgl-texture.js +53 -53
  13. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -1
  14. package/dist/es5/context/state-tracker/track-context-state.js +12 -12
  15. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  16. package/dist/es5/types/webgl.js.map +1 -1
  17. package/dist/esm/adapter/converters/device-parameters.js.map +1 -1
  18. package/dist/esm/adapter/converters/sampler-parameters.js +1 -1
  19. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -1
  20. package/dist/esm/adapter/resources/webgl-texture.js +7 -5
  21. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -1
  22. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  23. package/dist/esm/types/webgl.js.map +1 -1
  24. package/dist/types/webgl.d.ts +1 -0
  25. package/dist/types/webgl.d.ts.map +1 -1
  26. package/dist/types/webgl.js.map +1 -1
  27. package/package.json +4 -4
  28. package/src/adapter/converters/device-parameters.ts +2 -2
  29. package/src/adapter/converters/sampler-parameters.ts +1 -1
  30. package/src/adapter/resources/webgl-texture.ts +2 -1
  31. package/src/context/state-tracker/track-context-state.ts +8 -7
  32. package/src/types/webgl.ts +1 -0
@@ -10,14 +10,14 @@ import {deepArrayEqual} from './deep-array-equal';
10
10
  /* eslint-disable no-shadow */
11
11
  class GLState {
12
12
  gl: WebGLRenderingContext;
13
- program = null;
14
- stateStack = [];
13
+ program: unknown = null;
14
+ stateStack: object[] = [];
15
15
  enable = true;
16
- cache;
16
+ cache: Record<string, any>;
17
17
  log;
18
18
 
19
19
  constructor(
20
- gl,
20
+ gl: WebGLRenderingContext,
21
21
  {
22
22
  copyState = false, // Copy cache from params (slow) or initialize from WebGL defaults (fast)
23
23
  log = () => {} // Logging function, called when gl parameter change calls are actually issued
@@ -50,11 +50,11 @@ class GLState {
50
50
  * @param values
51
51
  * @returns
52
52
  */
53
- _updateCache(values) {
53
+ _updateCache(values: {[key: number | string]: any}) {
54
54
  let valueChanged = false;
55
55
  let oldValue; // = undefined
56
56
 
57
- const oldValues = this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1];
57
+ const oldValues: {[key: number | string]: any} = this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1];
58
58
 
59
59
  for (const key in values) {
60
60
  assert(key !== undefined);
@@ -209,12 +209,13 @@ function installGetterOverride(gl: WebGLRenderingContext, functionName: string)
209
209
  * @param setter
210
210
  * @returns
211
211
  */
212
- function installSetterSpy(gl: WebGLRenderingContext, functionName, setter) {
212
+ function installSetterSpy(gl: WebGLRenderingContext, functionName: string, setter) {
213
213
  // Get the original function from the WebGLRenderingContext
214
214
  if (!gl[functionName]) {
215
215
  // This could happen if we try to intercept WebGL2 method on a WebGL1 context
216
216
  return;
217
217
  }
218
+
218
219
  const originalSetterFunc = gl[functionName].bind(gl);
219
220
 
220
221
  // Wrap it with a spy so that we can update our state cache when it gets called
@@ -135,6 +135,7 @@ export type WebGLSamplerParameters = {
135
135
  [GL.TEXTURE_MIN_LOD]?: number;
136
136
  [GL.TEXTURE_MAX_LOD]?: number;
137
137
  [GL.TEXTURE_COMPARE_FUNC]?: number; // COMPARE_FUNC);
138
+ [GL.TEXTURE_COMPARE_MODE]?: GL.COMPARE_REF_TO_TEXTURE;
138
139
  [GL.TEXTURE_MAX_ANISOTROPY_EXT]?: number; //
139
140
  };
140
141