@luma.gl/webgl 9.0.0-alpha.4 → 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.
- package/dist/adapter/converters/device-parameters.d.ts +11 -1
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +15 -2
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts +4 -4
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +22 -3
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/texture-formats.js +3 -3
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +12 -2
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +40 -16
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/uniforms.d.ts +1 -1
- package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
- package/dist/adapter/helpers/uniforms.js +4 -4
- package/dist/adapter/helpers/uniforms.js.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +2 -2
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +5 -3
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +2 -0
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +40 -24
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +2 -2
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +4 -3
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +22 -22
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +21 -18
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +1 -1
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/classic/buffer.js +14 -6
- package/dist/classic/buffer.js.map +1 -1
- package/dist/context/context/create-context.d.ts.map +1 -1
- package/dist/context/context/create-context.js +8 -2
- package/dist/context/context/create-context.js.map +1 -1
- package/dist/context/context/device-pixels.d.ts.map +1 -1
- package/dist/context/context/device-pixels.js +13 -8
- package/dist/context/context/device-pixels.js.map +1 -1
- package/dist/context/debug/spector.js +1 -1
- package/dist/context/debug/spector.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +1 -1
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts +5 -4
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +1 -3
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +1 -1
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +1 -1
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/es5/adapter/converters/device-parameters.js +17 -2
- package/dist/es5/adapter/converters/device-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +22 -3
- package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/texture-formats.js +3 -3
- package/dist/es5/adapter/converters/texture-formats.js.map +1 -1
- package/dist/es5/adapter/device-helpers/device-features.js +15 -4
- package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +48 -28
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/es5/adapter/helpers/uniforms.js +4 -4
- package/dist/es5/adapter/helpers/uniforms.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +2 -2
- package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +4 -3
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +1 -0
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +43 -30
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-shader.js +4 -3
- package/dist/es5/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-texture.js +54 -54
- package/dist/es5/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/es5/adapter/webgl-canvas-context.js +1 -1
- package/dist/es5/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/es5/classic/buffer.js +14 -6
- package/dist/es5/classic/buffer.js.map +1 -1
- package/dist/es5/context/context/create-context.js +8 -2
- package/dist/es5/context/context/create-context.js.map +1 -1
- package/dist/es5/context/context/device-pixels.js +14 -8
- package/dist/es5/context/context/device-pixels.js.map +1 -1
- package/dist/es5/context/debug/spector.js +1 -1
- package/dist/es5/context/debug/spector.js.map +1 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +1 -1
- package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +2 -2
- package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-table.js +1 -1
- package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/es5/context/state-tracker/track-context-state.js +13 -13
- package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/es5/index.js +22 -16
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/types/webgl.js.map +1 -1
- package/dist/esm/adapter/converters/device-parameters.js +15 -2
- package/dist/esm/adapter/converters/device-parameters.js.map +1 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +22 -3
- package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/esm/adapter/converters/texture-formats.js +3 -3
- package/dist/esm/adapter/converters/texture-formats.js.map +1 -1
- package/dist/esm/adapter/device-helpers/device-features.js +12 -2
- package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +40 -16
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/esm/adapter/helpers/uniforms.js +4 -4
- package/dist/esm/adapter/helpers/uniforms.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +2 -2
- package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +5 -3
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +2 -0
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +40 -24
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-shader.js +4 -3
- package/dist/esm/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-texture.js +21 -18
- package/dist/esm/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/esm/adapter/webgl-canvas-context.js +1 -1
- package/dist/esm/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/esm/classic/buffer.js +14 -6
- package/dist/esm/classic/buffer.js.map +1 -1
- package/dist/esm/context/context/create-context.js +8 -2
- package/dist/esm/context/context/create-context.js.map +1 -1
- package/dist/esm/context/context/device-pixels.js +13 -8
- package/dist/esm/context/context/device-pixels.js.map +1 -1
- package/dist/esm/context/debug/spector.js +1 -1
- package/dist/esm/context/debug/spector.js.map +1 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +1 -1
- package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +1 -3
- package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-table.js +1 -1
- package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/esm/context/state-tracker/track-context-state.js +1 -1
- package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/webgl.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/webgl.d.ts +3 -2
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js.map +1 -1
- package/package.json +7 -4
- package/src/adapter/converters/device-parameters.ts +30 -4
- package/src/adapter/converters/sampler-parameters.ts +17 -8
- package/src/adapter/converters/texture-formats.ts +3 -3
- package/src/adapter/device-helpers/device-features.ts +9 -1
- package/src/adapter/device-helpers/device-limits.ts +1 -1
- package/src/adapter/helpers/get-shader-layout.ts +40 -21
- package/src/adapter/helpers/uniforms.ts +21 -10
- package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
- package/src/adapter/resources/webgl-buffer.ts +3 -3
- package/src/adapter/resources/webgl-framebuffer.ts +6 -3
- package/src/adapter/resources/webgl-render-pass.ts +1 -0
- package/src/adapter/resources/webgl-render-pipeline.ts +43 -35
- package/src/adapter/resources/webgl-sampler.ts +5 -3
- package/src/adapter/resources/webgl-shader.ts +5 -4
- package/src/adapter/resources/webgl-texture.ts +39 -26
- package/src/adapter/webgl-canvas-context.ts +1 -1
- package/src/classic/buffer.ts +7 -7
- package/src/context/context/create-context.ts +9 -5
- package/src/context/context/device-pixels.ts +15 -9
- package/src/context/debug/spector.ts +1 -1
- package/src/context/debug/webgl-developer-tools.ts +1 -1
- package/src/context/parameters/unified-parameter-api.ts +12 -9
- package/src/context/polyfill/polyfill-context.ts +1 -1
- package/src/context/polyfill/polyfill-table.ts +1 -1
- package/src/context/state-tracker/track-context-state.ts +8 -7
- package/src/index.ts +11 -5
- package/src/types/webgl.ts +3 -2
|
@@ -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
|
|
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);
|
|
@@ -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
|
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
|
-
//
|
|
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,
|
package/src/types/webgl.ts
CHANGED
|
@@ -120,7 +120,7 @@ export type GLStencilOp =
|
|
|
120
120
|
| GL.INVERT;
|
|
121
121
|
|
|
122
122
|
/** Parameters for textures and samplers */
|
|
123
|
-
export type
|
|
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;
|
|
@@ -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
|
|
|
@@ -280,4 +281,4 @@ export type GLFunctionParameters = {
|
|
|
280
281
|
};
|
|
281
282
|
|
|
282
283
|
/** WebGL style parameters object (with both GL constants and function style fields) */
|
|
283
|
-
export type GLParameters = GLValueParameters
|
|
284
|
+
export type GLParameters = GLValueParameters & GLFunctionParameters;
|