@luma.gl/webgl 9.0.0-alpha.11 → 9.0.0-alpha.12
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.js +1 -12
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +0 -9
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +3 -0
- package/dist/adapter/converters/vertex-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.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +4 -0
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +2 -4
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +1 -1
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts +2 -4
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +1 -7
- package/dist/adapter/objects/webgl-resource.js.map +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 +0 -1
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +0 -2
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +0 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +2 -2
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +4 -32
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +1 -0
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +4 -0
- 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.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +2 -2
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +1 -3
- 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 +3 -0
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +2 -3
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +5 -4
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +1 -7
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +103 -103
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +15 -14
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/{context/context-state.d.ts → polyfill/context-data.d.ts} +3 -3
- package/dist/context/polyfill/context-data.d.ts.map +1 -0
- package/dist/context/polyfill/context-data.js +14 -0
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +4 -4
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts +7 -7
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +5 -4
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +0 -1
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +1 -1
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/device-parameters.js +1 -12
- package/dist/es5/adapter/converters/device-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/texture-formats.js +1 -10
- package/dist/es5/adapter/converters/texture-formats.js.map +1 -1
- package/dist/es5/adapter/converters/vertex-formats.js +3 -0
- package/dist/es5/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +4 -0
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +2 -4
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/es5/adapter/helpers/set-uniform.js +1 -1
- package/dist/es5/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +1 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-resource.js +1 -6
- package/dist/es5/adapter/objects/webgl-resource.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 +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +2 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +2 -38
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +5 -0
- package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-texture.js +1 -7
- package/dist/es5/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/es5/adapter/webgl-canvas-context.js +2 -0
- package/dist/es5/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/es5/adapter/webgl-device.js +4 -3
- package/dist/es5/adapter/webgl-device.js.map +1 -1
- package/dist/es5/classic/buffer.js.map +1 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +1 -7
- package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +10 -9
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/es5/context/polyfill/context-data.js +21 -0
- package/dist/es5/context/polyfill/context-data.js.map +1 -0
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-context.js +4 -4
- package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-table.js +5 -4
- package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/es5/context/state-tracker/with-parameters.js +4 -2
- package/dist/es5/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/esm/adapter/converters/device-parameters.js +1 -12
- package/dist/esm/adapter/converters/device-parameters.js.map +1 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -9
- package/dist/esm/adapter/converters/texture-formats.js.map +1 -1
- package/dist/esm/adapter/converters/vertex-formats.js +3 -0
- package/dist/esm/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +4 -0
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +2 -4
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/esm/adapter/helpers/set-uniform.js +1 -1
- package/dist/esm/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +1 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-resource.js +1 -7
- package/dist/esm/adapter/objects/webgl-resource.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 +0 -2
- package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +2 -2
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +4 -32
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +4 -0
- package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-texture.js +1 -3
- package/dist/esm/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/esm/adapter/webgl-canvas-context.js +3 -0
- package/dist/esm/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/esm/adapter/webgl-device.js +5 -4
- package/dist/esm/adapter/webgl-device.js.map +1 -1
- package/dist/esm/classic/buffer.js.map +1 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +1 -7
- package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +15 -14
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/esm/context/polyfill/context-data.js +14 -0
- package/dist/esm/context/polyfill/context-data.js.map +1 -0
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-context.js +4 -4
- package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-table.js +5 -4
- package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/esm/context/state-tracker/with-parameters.js +1 -1
- package/dist/esm/context/state-tracker/with-parameters.js.map +1 -1
- package/package.json +4 -4
- package/src/adapter/converters/device-parameters.ts +11 -11
- package/src/adapter/converters/texture-formats.ts +12 -12
- package/src/adapter/converters/vertex-formats.ts +1 -0
- package/src/adapter/device-helpers/device-features.ts +0 -1
- package/src/adapter/device-helpers/get-device-info.ts +5 -1
- package/src/adapter/helpers/get-shader-layout.ts +18 -15
- package/src/adapter/helpers/set-uniform.ts +1 -1
- package/src/adapter/objects/constants-to-keys.ts +4 -1
- package/src/adapter/objects/webgl-renderbuffer.ts +5 -5
- package/src/adapter/objects/webgl-resource.ts +7 -12
- package/src/adapter/objects/webgl-vertex-array-object.ts +4 -4
- package/src/adapter/resources/webgl-buffer.ts +4 -4
- package/src/adapter/resources/webgl-command-encoder.ts +4 -4
- package/src/adapter/resources/webgl-framebuffer.ts +6 -5
- package/src/adapter/resources/webgl-render-pipeline.ts +24 -23
- package/src/adapter/resources/webgl-sampler.ts +5 -1
- package/src/adapter/resources/webgl-shader.ts +1 -1
- package/src/adapter/resources/webgl-texture.ts +5 -7
- package/src/adapter/webgl-canvas-context.ts +1 -0
- package/src/adapter/webgl-device.ts +10 -12
- package/src/classic/buffer.ts +7 -4
- package/src/context/debug/webgl-developer-tools.ts +7 -7
- package/src/context/parameters/unified-parameter-api.ts +1 -1
- package/src/context/parameters/webgl-parameter-tables.ts +113 -94
- package/src/context/{context/context-state.ts → polyfill/context-data.ts} +6 -10
- package/src/context/polyfill/get-parameter-polyfill.ts +7 -6
- package/src/context/polyfill/polyfill-context.ts +5 -5
- package/src/context/polyfill/polyfill-table.ts +14 -13
- package/src/context/state-tracker/track-context-state.ts +0 -1
- package/src/context/state-tracker/with-parameters.ts +2 -1
- package/dist/context/context/context-state.d.ts.map +0 -1
- package/dist/context/context/context-state.js +0 -21
- package/dist/context/context/context-state.js.map +0 -1
- package/dist/es5/context/context/context-state.js +0 -26
- package/dist/es5/context/context/context-state.js.map +0 -1
- package/dist/esm/context/context/context-state.js +0 -21
- package/dist/esm/context/context/context-state.js.map +0 -1
|
@@ -35,7 +35,7 @@ const DEFAULT_RENDERBUFFER_PROPS: Required<RenderbufferProps> = {
|
|
|
35
35
|
* Renderbuffer objects also natively accommodate Multisampling (MSAA).
|
|
36
36
|
*/
|
|
37
37
|
export default class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps> {
|
|
38
|
-
|
|
38
|
+
override get [Symbol.toStringTag](): string { return 'Renderbuffer'; }
|
|
39
39
|
|
|
40
40
|
get width(): number { return this.props.width; }
|
|
41
41
|
get height(): number { return this.props.height; }
|
|
@@ -43,7 +43,7 @@ export default class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps>
|
|
|
43
43
|
get samples(): number { return this.props.samples; }
|
|
44
44
|
|
|
45
45
|
static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean {
|
|
46
|
-
return !options
|
|
46
|
+
return !options?.format || isRenderbufferFormatSupported(gl, options.format);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
constructor(device: WebGLDevice, props: RenderbufferProps) {
|
|
@@ -89,16 +89,16 @@ export default class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps>
|
|
|
89
89
|
|
|
90
90
|
// RESOURCE IMPLEMENTATION
|
|
91
91
|
|
|
92
|
-
_createHandle() {
|
|
92
|
+
override _createHandle() {
|
|
93
93
|
return this.gl.createRenderbuffer();
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
_deleteHandle(): void {
|
|
96
|
+
override _deleteHandle(): void {
|
|
97
97
|
this.gl.deleteRenderbuffer(this.handle);
|
|
98
98
|
this.trackDeallocatedMemory();
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
_bindHandle(handle: WEBGLRenderbuffer): void {
|
|
101
|
+
override _bindHandle(handle: WEBGLRenderbuffer): void {
|
|
102
102
|
this.gl.bindRenderbuffer(GL.RENDERBUFFER, handle);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
@@ -13,9 +13,7 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
13
13
|
/**
|
|
14
14
|
* Base class for WebGL object wrappers
|
|
15
15
|
*/
|
|
16
|
-
export default abstract class WebGLResource<Props> extends Resource<Props> {
|
|
17
|
-
id: string;
|
|
18
|
-
userData: any;
|
|
16
|
+
export default abstract class WebGLResource<Props extends ResourceProps> extends Resource<Props> {
|
|
19
17
|
readonly device: WebGLDevice;
|
|
20
18
|
readonly gl: WebGLRenderingContext;
|
|
21
19
|
readonly gl2: WebGL2RenderingContext;
|
|
@@ -34,12 +32,10 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
34
32
|
assertWebGLContext(gl);
|
|
35
33
|
|
|
36
34
|
// extends
|
|
37
|
-
|
|
38
|
-
const {id, userData = {}} = props || {};
|
|
35
|
+
const {id} = props || {};
|
|
39
36
|
this.gl = gl;
|
|
40
37
|
this.gl2 = gl as WebGL2RenderingContext;
|
|
41
38
|
this.id = id || uid(this.constructor.name);
|
|
42
|
-
this.userData = userData;
|
|
43
39
|
|
|
44
40
|
// Set the handle
|
|
45
41
|
// If handle was provided, use it, otherwise create a new handle
|
|
@@ -48,7 +44,6 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
48
44
|
// this.glCount = glGetContextLossCount(this.gl);
|
|
49
45
|
|
|
50
46
|
// Default VertexArray needs to be created with null handle, so compare against undefined
|
|
51
|
-
// @ts-expect-error
|
|
52
47
|
this._handle = props?.handle;
|
|
53
48
|
if (this._handle === undefined) {
|
|
54
49
|
this._handle = this._createHandle();
|
|
@@ -57,7 +52,7 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
57
52
|
this.byteLength = 0;
|
|
58
53
|
}
|
|
59
54
|
|
|
60
|
-
toString(): string {
|
|
55
|
+
override toString(): string {
|
|
61
56
|
return `${this.constructor.name}(${this.id})`;
|
|
62
57
|
}
|
|
63
58
|
|
|
@@ -74,11 +69,11 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
74
69
|
return this._handle;
|
|
75
70
|
}
|
|
76
71
|
|
|
77
|
-
destroy(): void {
|
|
72
|
+
override destroy(): void {
|
|
78
73
|
this.delete();
|
|
79
74
|
}
|
|
80
75
|
|
|
81
|
-
delete({deleteChildren = false} = {}) {
|
|
76
|
+
override delete({deleteChildren = false} = {}) {
|
|
82
77
|
// Delete this object, and get refs to any children
|
|
83
78
|
// @ts-expect-error
|
|
84
79
|
const children = this._handle && this._deleteHandle(this._handle);
|
|
@@ -130,7 +125,7 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
130
125
|
* @param name
|
|
131
126
|
* @return param
|
|
132
127
|
*/
|
|
133
|
-
getParameter(pname: number, props = {}): any {
|
|
128
|
+
getParameter(pname: number, props: any = {}): any {
|
|
134
129
|
pname = getKeyValue(this.gl, pname);
|
|
135
130
|
assert(pname);
|
|
136
131
|
|
|
@@ -163,7 +158,7 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
163
158
|
// Many resources support a getParameter call -
|
|
164
159
|
// getParameters will get all parameters - slow but useful for debugging
|
|
165
160
|
// eslint-disable-next-line complexity
|
|
166
|
-
getParameters(options: {parameters
|
|
161
|
+
getParameters(options: {parameters?: any, keys?: any} = {}) {
|
|
167
162
|
const {parameters, keys} = options;
|
|
168
163
|
|
|
169
164
|
// Get parameter definitions for this Resource
|
|
@@ -17,7 +17,7 @@ export type VertexArrayObjectProps = ResourceProps & {
|
|
|
17
17
|
|
|
18
18
|
/** VertexArrayObject wrapper */
|
|
19
19
|
export default class WEBGLVertexArrayObject extends WebGLResource<VertexArrayObjectProps> {
|
|
20
|
-
|
|
20
|
+
override get [Symbol.toStringTag](): string {
|
|
21
21
|
return 'BaseVertexArrayObject';
|
|
22
22
|
}
|
|
23
23
|
|
|
@@ -26,18 +26,18 @@ export default class WEBGLVertexArrayObject extends WebGLResource<VertexArrayObj
|
|
|
26
26
|
super(device, props, {});
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
_createHandle() {
|
|
29
|
+
override _createHandle() {
|
|
30
30
|
return this.gl2.createVertexArray();
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
_deleteHandle(): void {
|
|
33
|
+
override _deleteHandle(): void {
|
|
34
34
|
this.gl2.deleteVertexArray(this.handle);
|
|
35
35
|
// @ts-expect-error
|
|
36
36
|
return [this.elements];
|
|
37
37
|
// return [this.elements, ...this.buffers];
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
_bindHandle(handle: WEBGLVertexArrayObject): void {
|
|
40
|
+
override _bindHandle(handle: WEBGLVertexArrayObject): void {
|
|
41
41
|
this.gl2.bindVertexArray(handle);
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -19,7 +19,7 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
19
19
|
|
|
20
20
|
webglUsage: number;
|
|
21
21
|
|
|
22
|
-
accessor: {};
|
|
22
|
+
// accessor: {};
|
|
23
23
|
|
|
24
24
|
constructor(device: WebGLDevice, props: BufferProps = {}) {
|
|
25
25
|
super(device, props);
|
|
@@ -101,7 +101,7 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
101
101
|
return this;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
destroy(): void {
|
|
104
|
+
override destroy(): void {
|
|
105
105
|
if (this.handle) {
|
|
106
106
|
this.removeStats();
|
|
107
107
|
this.trackDeallocatedMemory();
|
|
@@ -111,7 +111,7 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
write(data: ArrayBufferView, byteOffset: number = 0): void {
|
|
114
|
+
override write(data: ArrayBufferView, byteOffset: number = 0): void {
|
|
115
115
|
const srcOffset = 0;
|
|
116
116
|
const byteLength = data.byteLength;
|
|
117
117
|
|
|
@@ -135,7 +135,7 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
/** Read data from the buffer */
|
|
138
|
-
async readAsync(
|
|
138
|
+
override async readAsync(
|
|
139
139
|
byteOffset: number = 0,
|
|
140
140
|
byteLength?: number
|
|
141
141
|
): Promise<ArrayBuffer> {
|
|
@@ -19,7 +19,7 @@ export default class WEBGLCommandEncoder extends CommandEncoder {
|
|
|
19
19
|
this.device = device;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
destroy() {}
|
|
22
|
+
override destroy(): void {}
|
|
23
23
|
|
|
24
24
|
// beginRenderPass(GPURenderPassDescriptor descriptor): GPURenderPassEncoder;
|
|
25
25
|
// beginComputePass(optional GPUComputePassDescriptor descriptor = {}): GPUComputePassEncoder;
|
|
@@ -41,10 +41,10 @@ export default class WEBGLCommandEncoder extends CommandEncoder {
|
|
|
41
41
|
this.commandBuffer.commands.push({name: 'copy-texture-to-texture', options});
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
pushDebugGroup(groupLabel: string): void {}
|
|
45
|
-
popDebugGroup() {}
|
|
44
|
+
override pushDebugGroup(groupLabel: string): void {}
|
|
45
|
+
override popDebugGroup() {}
|
|
46
46
|
|
|
47
|
-
insertDebugMarker(markerLabel: string): void {}
|
|
47
|
+
override insertDebugMarker(markerLabel: string): void {}
|
|
48
48
|
|
|
49
49
|
// writeTimestamp(querySet: Query, queryIndex: number): void {}
|
|
50
50
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// luma.gl, MIT license
|
|
2
2
|
|
|
3
|
-
import type {FramebufferProps,
|
|
3
|
+
import type {FramebufferProps, ColorTextureFormat} from '@luma.gl/api';
|
|
4
4
|
import {Framebuffer, Texture, log, assert} from '@luma.gl/api';
|
|
5
5
|
import GL from '@luma.gl/constants';
|
|
6
6
|
import WebGLDevice from '../webgl-device';
|
|
@@ -19,7 +19,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
19
19
|
|
|
20
20
|
get texture() { return this.colorAttachments[0]; }
|
|
21
21
|
readonly colorAttachments: WebGLTexture[] = [];
|
|
22
|
-
readonly depthStencilAttachment: WebGLTexture | null = null;
|
|
22
|
+
readonly depthStencilAttachment: WebGLTexture | null = null;
|
|
23
23
|
protected _ownResources: (WebGLTexture | Renderbuffer)[] = [];
|
|
24
24
|
|
|
25
25
|
constructor(device: WebGLDevice, props: FramebufferProps) {
|
|
@@ -62,7 +62,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
destroy() {
|
|
65
|
+
override destroy(): void {
|
|
66
66
|
if (this.handle !== null) {
|
|
67
67
|
for (const resource of this._ownResources) {
|
|
68
68
|
resource.destroy();
|
|
@@ -202,6 +202,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
202
202
|
this._attachTexture(attachmentPoint, attachment, 0, 0);
|
|
203
203
|
return attachment;
|
|
204
204
|
}
|
|
205
|
+
throw new Error('attach');
|
|
205
206
|
}
|
|
206
207
|
|
|
207
208
|
protected _attachRenderbuffer(attachment: GL, renderbuffer: Renderbuffer): void {
|
|
@@ -251,7 +252,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
251
252
|
// Helper functions
|
|
252
253
|
|
|
253
254
|
// Map an index to a cube map face constant
|
|
254
|
-
function mapIndexToCubeMapFace(layer) {
|
|
255
|
+
function mapIndexToCubeMapFace(layer: number | GL): GL {
|
|
255
256
|
// TEXTURE_CUBE_MAP_POSITIVE_X is a big value (0x8515)
|
|
256
257
|
// if smaller assume layer is index, otherwise assume it is already a cube map face constant
|
|
257
258
|
return layer < GL.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + GL.TEXTURE_CUBE_MAP_POSITIVE_X : layer;
|
|
@@ -259,7 +260,7 @@ function mapIndexToCubeMapFace(layer) {
|
|
|
259
260
|
|
|
260
261
|
// Helper METHODS
|
|
261
262
|
// Get a string describing the framebuffer error if installed
|
|
262
|
-
function _getFrameBufferStatus(status) {
|
|
263
|
+
function _getFrameBufferStatus(status: GL) {
|
|
263
264
|
switch (status) {
|
|
264
265
|
case GL.FRAMEBUFFER_COMPLETE:
|
|
265
266
|
return 'success';
|
|
@@ -5,13 +5,12 @@ import type {
|
|
|
5
5
|
Binding,
|
|
6
6
|
ShaderLayout,
|
|
7
7
|
PrimitiveTopology,
|
|
8
|
-
BindingLayout,
|
|
8
|
+
// BindingLayout,
|
|
9
9
|
AttributeLayout
|
|
10
10
|
} from '@luma.gl/api';
|
|
11
11
|
import {RenderPipeline, cast, log, decodeVertexFormat} from '@luma.gl/api';
|
|
12
12
|
import GL from '@luma.gl/constants';
|
|
13
13
|
|
|
14
|
-
import type {GLParameters} from '../../types/webgl';
|
|
15
14
|
import {getWebGLDataType} from '../converters/texture-formats';
|
|
16
15
|
import {getShaderLayout} from '../helpers/get-shader-layout';
|
|
17
16
|
import {withDeviceParameters, withGLParameters} from '../converters/device-parameters';
|
|
@@ -74,7 +73,7 @@ export default class WEBGLRenderPipeline extends RenderPipeline {
|
|
|
74
73
|
this.vertexArrayObject = new WEBGLVertexArrayObject(this.device);
|
|
75
74
|
}
|
|
76
75
|
|
|
77
|
-
destroy(): void {
|
|
76
|
+
override destroy(): void {
|
|
78
77
|
if (this.handle) {
|
|
79
78
|
this.device.gl.deleteProgram(this.handle);
|
|
80
79
|
// this.handle = null;
|
|
@@ -108,7 +107,7 @@ export default class WEBGLRenderPipeline extends RenderPipeline {
|
|
|
108
107
|
offset: 0,
|
|
109
108
|
normalized,
|
|
110
109
|
integer,
|
|
111
|
-
divisor
|
|
110
|
+
divisor
|
|
112
111
|
});
|
|
113
112
|
}
|
|
114
113
|
}
|
|
@@ -173,12 +172,12 @@ export default class WEBGLRenderPipeline extends RenderPipeline {
|
|
|
173
172
|
const {
|
|
174
173
|
renderPass = this.device.getDefaultRenderPass(),
|
|
175
174
|
vertexCount,
|
|
176
|
-
indexCount,
|
|
175
|
+
// indexCount,
|
|
177
176
|
instanceCount,
|
|
178
177
|
firstVertex = 0,
|
|
179
|
-
firstIndex,
|
|
180
|
-
firstInstance,
|
|
181
|
-
baseVertex
|
|
178
|
+
// firstIndex,
|
|
179
|
+
// firstInstance,
|
|
180
|
+
// baseVertex
|
|
182
181
|
} = options;
|
|
183
182
|
|
|
184
183
|
const drawMode = getDrawMode(this.props.topology);
|
|
@@ -278,12 +277,12 @@ export default class WEBGLRenderPipeline extends RenderPipeline {
|
|
|
278
277
|
_areTexturesRenderable() {
|
|
279
278
|
let texturesRenderable = true;
|
|
280
279
|
|
|
281
|
-
for (const [
|
|
280
|
+
for (const [, texture] of Object.entries(this._textureUniforms)) {
|
|
282
281
|
texture.update();
|
|
283
282
|
texturesRenderable = texturesRenderable && texture.loaded;
|
|
284
283
|
}
|
|
285
284
|
|
|
286
|
-
for (const [
|
|
285
|
+
for (const [, texture] of Object.entries(this.bindings)) {
|
|
287
286
|
// texture.update();
|
|
288
287
|
if (texture.loaded !== undefined) {
|
|
289
288
|
texturesRenderable = texturesRenderable && texture.loaded;
|
|
@@ -398,24 +397,25 @@ function getGLPrimitive(topology: PrimitiveTopology): GL.POINTS | GL.LINES | GL.
|
|
|
398
397
|
}
|
|
399
398
|
}
|
|
400
399
|
|
|
401
|
-
function getAttributesByLocation(
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
): Record<number, Buffer> {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
}
|
|
400
|
+
// function getAttributesByLocation(
|
|
401
|
+
// attributes: Record<string, Buffer>,
|
|
402
|
+
// layout: ShaderLayout
|
|
403
|
+
// ): Record<number, Buffer> {
|
|
404
|
+
// const byLocation: Record<number, Buffer> = {};
|
|
405
|
+
// for (const [name, buffer] of Object.entries(attributes)) {
|
|
406
|
+
// const attribute = getAttributeLayout(layout, name);
|
|
407
|
+
// if (attribute) {
|
|
408
|
+
// byLocation[attribute.location] = buffer;
|
|
409
|
+
// }
|
|
410
|
+
// }
|
|
411
|
+
// return byLocation;
|
|
412
|
+
// }
|
|
414
413
|
|
|
415
414
|
function getAttributeLayout(layout: ShaderLayout, name: string): AttributeLayout | null {
|
|
416
415
|
return layout.attributes.find((binding) => binding.name === name) || null;
|
|
417
416
|
}
|
|
418
417
|
|
|
418
|
+
/* TODO
|
|
419
419
|
function getBindingLayout(layout: ShaderLayout, name: string): BindingLayout {
|
|
420
420
|
const binding = layout.bindings.find((binding) => binding.name === name);
|
|
421
421
|
if (!binding) {
|
|
@@ -423,3 +423,4 @@ function getBindingLayout(layout: ShaderLayout, name: string): BindingLayout {
|
|
|
423
423
|
}
|
|
424
424
|
return binding;
|
|
425
425
|
}
|
|
426
|
+
*/
|
|
@@ -28,7 +28,7 @@ export default class WEBGLSampler extends Sampler {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
destroy(): void {
|
|
31
|
+
override destroy(): void {
|
|
32
32
|
if (this.handle) {
|
|
33
33
|
this.device.gl2.deleteSampler(this.handle);
|
|
34
34
|
// @ts-expect-error
|
|
@@ -36,6 +36,10 @@ export default class WEBGLSampler extends Sampler {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
override toString(): string {
|
|
40
|
+
return `Sampler(${this.id},${JSON.stringify(this.props)})`;
|
|
41
|
+
}
|
|
42
|
+
|
|
39
43
|
/** Set sampler parameters on the sampler */
|
|
40
44
|
private _setSamplerParameters(parameters: GLSamplerParameters): void {
|
|
41
45
|
for (const [pname, value] of Object.entries(parameters)) {
|
|
@@ -194,7 +194,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
194
194
|
Object.seal(this);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
-
destroy(): void {
|
|
197
|
+
override destroy(): void {
|
|
198
198
|
if (this.handle) {
|
|
199
199
|
this.gl.deleteTexture(this.handle);
|
|
200
200
|
this.removeStats();
|
|
@@ -204,7 +204,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
toString(): string {
|
|
207
|
+
override toString(): string {
|
|
208
208
|
return `Texture(${this.id},${this.width}x${this.height})`;
|
|
209
209
|
}
|
|
210
210
|
|
|
@@ -383,7 +383,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
383
383
|
}
|
|
384
384
|
|
|
385
385
|
/** Update external texture (video frame) */
|
|
386
|
-
update():
|
|
386
|
+
update(): void {
|
|
387
387
|
if (this._video) {
|
|
388
388
|
const {video, parameters, lastTime} = this._video;
|
|
389
389
|
// @ts-expect-error
|
|
@@ -940,7 +940,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
940
940
|
* Sets sampler parameters on texture
|
|
941
941
|
* @note: Applies NPOT workaround if appropriate
|
|
942
942
|
*/
|
|
943
|
-
_setSamplerParameters(parameters: GLSamplerParameters) {
|
|
943
|
+
_setSamplerParameters(parameters: GLSamplerParameters): void {
|
|
944
944
|
// Work around WebGL1 sampling restrictions on NPOT textures
|
|
945
945
|
if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
|
|
946
946
|
parameters = updateSamplerParametersForNPOT(parameters);
|
|
@@ -972,7 +972,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
972
972
|
}
|
|
973
973
|
}
|
|
974
974
|
this.gl.bindTexture(this.target, null);
|
|
975
|
-
return
|
|
975
|
+
return;
|
|
976
976
|
}
|
|
977
977
|
|
|
978
978
|
/** @deprecated For LegacyTexture subclass */
|
|
@@ -1031,6 +1031,4 @@ function isNPOT(width: number, height: number): boolean {
|
|
|
1031
1031
|
|
|
1032
1032
|
function logParameters(parameters: Record<number, GL | number>) {
|
|
1033
1033
|
log.log(1, 'texture sampler parameters', parameters)();
|
|
1034
|
-
for (const [pname, pvalue] of Object.entries(parameters)) {
|
|
1035
|
-
}
|
|
1036
1034
|
}
|
|
@@ -7,11 +7,10 @@ import type {
|
|
|
7
7
|
CanvasContextProps,
|
|
8
8
|
TextureFormat
|
|
9
9
|
} from '@luma.gl/api';
|
|
10
|
-
import {Device, CanvasContext, log,
|
|
10
|
+
import {Device, CanvasContext, log, uid} from '@luma.gl/api';
|
|
11
11
|
import {isBrowser} from '@probe.gl/env';
|
|
12
12
|
import {polyfillContext} from '../context/polyfill/polyfill-context';
|
|
13
13
|
import {popContextState, pushContextState, trackContextState} from '../context/state-tracker/track-context-state';
|
|
14
|
-
import {ContextState} from '../context/context/context-state';
|
|
15
14
|
import {createBrowserContext} from '../context/context/create-browser-context';
|
|
16
15
|
import {
|
|
17
16
|
createHeadlessContext,
|
|
@@ -33,17 +32,17 @@ import {
|
|
|
33
32
|
import type {
|
|
34
33
|
BufferProps,
|
|
35
34
|
ShaderProps,
|
|
36
|
-
Sampler,
|
|
35
|
+
// Sampler,
|
|
37
36
|
SamplerProps,
|
|
38
37
|
TextureProps,
|
|
39
38
|
ExternalTexture,
|
|
40
39
|
ExternalTextureProps,
|
|
41
40
|
FramebufferProps,
|
|
42
|
-
RenderPipeline,
|
|
41
|
+
// RenderPipeline,
|
|
43
42
|
RenderPipelineProps,
|
|
44
43
|
ComputePipeline,
|
|
45
44
|
ComputePipelineProps,
|
|
46
|
-
RenderPass,
|
|
45
|
+
// RenderPass,
|
|
47
46
|
RenderPassProps,
|
|
48
47
|
ComputePass,
|
|
49
48
|
ComputePassProps
|
|
@@ -60,10 +59,8 @@ import WEBGLRenderPipeline from './resources/webgl-render-pipeline';
|
|
|
60
59
|
|
|
61
60
|
const LOG_LEVEL = 1;
|
|
62
61
|
|
|
63
|
-
let counter = 0;
|
|
64
|
-
|
|
65
62
|
/** WebGPU style Device API for a WebGL context */
|
|
66
|
-
export default class WebGLDevice extends Device
|
|
63
|
+
export default class WebGLDevice extends Device {
|
|
67
64
|
//
|
|
68
65
|
// Public `Device` API
|
|
69
66
|
//
|
|
@@ -153,7 +150,7 @@ export default class WebGLDevice extends Device implements ContextState {
|
|
|
153
150
|
//
|
|
154
151
|
|
|
155
152
|
constructor(props: DeviceProps) {
|
|
156
|
-
super(props);
|
|
153
|
+
super({...props, id: props.id || uid('webgl-device')});
|
|
157
154
|
|
|
158
155
|
// If attaching to an already attached context, return the attached device
|
|
159
156
|
// @ts-expect-error device is attached to context
|
|
@@ -175,7 +172,7 @@ export default class WebGLDevice extends Device implements ContextState {
|
|
|
175
172
|
message: 'Computer entered sleep mode, or too many apps or browser tabs are using the GPU.'
|
|
176
173
|
});
|
|
177
174
|
|
|
178
|
-
let gl: WebGLRenderingContext | WebGL2RenderingContext | null = props.gl;
|
|
175
|
+
let gl: WebGLRenderingContext | WebGL2RenderingContext | null = props.gl || null;
|
|
179
176
|
gl =
|
|
180
177
|
gl ||
|
|
181
178
|
(isBrowser() ? createBrowserContext(this.canvasContext.canvas, {...props, onContextLost}) : null);
|
|
@@ -239,7 +236,7 @@ ${this.info.vendor}, ${this.info.renderer} for canvas: ${this.canvasContext.id}`
|
|
|
239
236
|
* Destroys the context
|
|
240
237
|
* @note Has no effect for browser contexts, there is no browser API for destroying contexts
|
|
241
238
|
*/
|
|
242
|
-
destroy() {
|
|
239
|
+
destroy(): void {
|
|
243
240
|
const ext = this.gl.getExtension('STACKGL_destroy_context');
|
|
244
241
|
if (ext) {
|
|
245
242
|
ext.destroy();
|
|
@@ -361,7 +358,8 @@ ${this.info.vendor}, ${this.info.renderer} for canvas: ${this.canvasContext.id}`
|
|
|
361
358
|
|
|
362
359
|
/** State used by luma.gl classes: TODO - move to canvasContext*/
|
|
363
360
|
readonly _canvasSizeInfo = {clientWidth: 0, clientHeight: 0, devicePixelRatio: 1};
|
|
364
|
-
|
|
361
|
+
|
|
362
|
+
/** State used by luma.gl classes - TODO - not used? */
|
|
365
363
|
readonly _extensions: Record<string, any> = {};
|
|
366
364
|
_polyfilled: boolean = false;
|
|
367
365
|
|
package/src/classic/buffer.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
// luma.gl, MIT license
|
|
2
|
+
|
|
1
3
|
import type {Device, BufferProps, TypedArray} from '@luma.gl/api';
|
|
2
|
-
import {
|
|
4
|
+
import {assert, checkProps} from '@luma.gl/api';
|
|
3
5
|
import GL from '@luma.gl/constants';
|
|
4
6
|
import {assertWebGL2Context} from '../context/context/webgl-checks';
|
|
5
7
|
import {AccessorObject} from '../types';
|
|
@@ -106,7 +108,7 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
106
108
|
Object.seal(this);
|
|
107
109
|
}
|
|
108
110
|
|
|
109
|
-
destroy(): void {
|
|
111
|
+
override destroy(): void {
|
|
110
112
|
if (this.handle) {
|
|
111
113
|
this.removeStats();
|
|
112
114
|
this.trackDeallocatedMemory();
|
|
@@ -116,9 +118,10 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
116
118
|
}
|
|
117
119
|
}
|
|
118
120
|
|
|
119
|
-
write(data: TypedArray, byteOffset?: number): void {
|
|
121
|
+
override write(data: TypedArray, byteOffset?: number): void {
|
|
120
122
|
this.subData({data, offset: byteOffset});
|
|
121
123
|
}
|
|
124
|
+
|
|
122
125
|
// returns number of elements in the buffer (assuming that the full buffer is used)
|
|
123
126
|
getElementCount(accessor: AccessorObject = this.accessor): number {
|
|
124
127
|
return Math.round(this.byteLength / Accessor.getBytesPerElement(accessor));
|
|
@@ -278,7 +281,7 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
278
281
|
* Reads data from buffer into an ArrayBufferView or SharedArrayBuffer.
|
|
279
282
|
* @note WEBGL2 ONLY
|
|
280
283
|
*/
|
|
281
|
-
getData(options?: {
|
|
284
|
+
override getData(options?: {
|
|
282
285
|
dstData?: any;
|
|
283
286
|
srcByteOffset?: number;
|
|
284
287
|
dstOffset?: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// luma.gl, MIT license
|
|
2
|
-
import {log, loadScript} from '@luma.gl/api
|
|
2
|
+
import {log, loadScript} from '@luma.gl/api';
|
|
3
3
|
import GL from '@luma.gl/constants';
|
|
4
4
|
|
|
5
5
|
const WEBGL_DEBUG_CDN_URL = 'https://unpkg.com/webgl-debug@2.0.1/index.js';
|
|
@@ -11,12 +11,12 @@ type DebugContextProps = {
|
|
|
11
11
|
webgl2?: boolean;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
const DEFAULT_DEBUG_CONTEXT_PROPS: Required<DebugContextProps> = {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
14
|
+
// const DEFAULT_DEBUG_CONTEXT_PROPS: Required<DebugContextProps> = {
|
|
15
|
+
// debug: true,
|
|
16
|
+
// throwOnError: false,
|
|
17
|
+
// break: [],
|
|
18
|
+
// webgl2: false,
|
|
19
|
+
// }
|
|
20
20
|
|
|
21
21
|
// Helper to get shared context data
|
|
22
22
|
function getContextData(gl: any) {
|
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
GL_PARAMETER_GETTERS
|
|
11
11
|
} from './webgl-parameter-tables';
|
|
12
12
|
|
|
13
|
-
import {isWebGL} from '../context/webgl-checks';
|
|
14
13
|
import WebGLDevice from '../../adapter/webgl-device';
|
|
15
14
|
|
|
16
15
|
export type {GLParameters};
|
|
@@ -129,6 +128,7 @@ export function resetParameters(device: Device | WebGLRenderingContext): void {
|
|
|
129
128
|
|
|
130
129
|
// Returns true if given object is empty, false otherwise.
|
|
131
130
|
function isObjectEmpty(object) {
|
|
131
|
+
// @ts-ignore dummy key variable
|
|
132
132
|
for (const key in object) {
|
|
133
133
|
return false;
|
|
134
134
|
}
|